【发布时间】:2019-08-12 05:21:53
【问题描述】:
在 pyspark 中,我会对数据帧进行连续操作,并希望从中间结果中获取输出。不过,它总是需要同样的时间,我想知道它是否缓存过任何东西?换一种问法,使用中间结果的最佳做法是什么?在dask you can dodd.compute(df.amount.max(), df.amount.min()) 中将找出需要缓存和计算的内容。 pyspark 中是否有等价物?
在下面的例子中,当它到达print() 时会执行 3x 吗?
df_purchase = spark.read.parquet("s3a:/example/location")[['col1','col2']]
df_orders = df_purchase.groupby(['col1']).agg(pyspark.sql.functions.first("col2")).withColumnRenamed("first(col2, false)", "col2")
df_orders_clean = df_orders.dropna(subset=['col2'])
print(df_purchase.count(), df_orders.count(), df_orders_clean.count())
【问题讨论】:
标签: pyspark