df.filter() & where() este o componentă esențială în ecosistemul Apache Spark & PySpark. Filtrarea rândurilor pe baza expresiilor booleene aplicate cu predicate pushdown direct la nivel de scanare fizică.
Sintaxă și Utilizare Practică
Exemplu practic documentat pas cu pas:
from pyspark.sql.functions import col
# Filtrare comenzi finalizate cu valoare de peste 1000 RON din România
df_filtrat = df_comenzi.filter(
(col("status") == "FINALIZAT") &
(col("tara") == "RO") &
(col("suma_ron") >= 1000.0)
)
print(f"Număr comenzi calificate: {df_filtrat.count()}")
Bune Practici în Producție
- Eficiență Computațională: Aplicați predicate pushdown, filtrați din timp datele și evitați operațiunile de shuffle redundante.
- Calitatea Datelor: Definiți teste automate de integritate și monitorizați calitatea la fiecare transformare.
- Optimizare de Costuri: Folosiți încărcare incrementală și politici automate de auto-suspendare pentru resursele de calcul.