Datorită evaluării leneșe (Lazy Evaluation), dacă utilizați același DataFrame în mai multe acțiuni succesive (ex. o salvare pe disc și două agregări diferite), Spark va re-citi datele de la zero pentru fiecare acțiune.
Apelul df.cache() (sau df.persist() cu nivelul de stocare configurabil) instruiește executorii să păstreze blocurile calculate în memoria RAM după prima acțiune, accelerând drastic etapele următoare ale pipeline-ului.
Exemplu: Caching pe un DataFrame curățat utilizat în multiple calcule
from pyspark import StorageLevel
# Efectuăm transformări complexe de filtrare și parsare:
df_curat = df_brut.filter("valoare > 0").na.drop().cache()
# Prima acțiune: populează cache-ul în RAM-ul executorilor:
total = df_curat.count()
# Următoarele acțiuni rulează instantaneu direct din memorie:
df_curat.groupBy("categorie").sum("valoare").show()
df_curat.write.parquet("/output/rezultate")
Întrebări & Exemple de Cod:
Optimizarea Reutilizării cu df.cache și df.persistAi o nelămurire despre utilizarea comenzii
Optimizarea Reutilizării cu df.cache și df.persistsau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.