Introducción a PySpark
Benjamin Schmidt
Data Engineer
joined_df = large_df.join(broadcast(small_df),
on="key_column", how="inner")
joined_df.show()
# Usando explain() para ver el plan de ejecución
df.filter(df.Age > 40).select("Name").explain()
== Plan físico ==
*(1) Filtro (isnotnull(Age) AND (Age > 30))
+- Escaneo ExistingRDD[Name:String, Age:Int]
df = spark.read.csv("large_dataset.csv", header=True, inferSchema=True) # Cachear el DataFrame df.cache()# Realizar múltiples operaciones en el DataFrame cacheado df.filter(df["column1"] > 50).show() df.groupBy("column2").count().show()
# Persistir el DataFrame con nivel de almacenamiento from pyspark import StorageLevel df.persist(StorageLevel.MEMORY_AND_DISK)# Realizar transformaciones result = df.groupBy("column3").agg({"column4": "sum"}) result.show() # Despersistir después de usar df.unpersist()
map() en lugar de groupby() por la selectividad de los métodosIntroducción a PySpark