【发布时间】:2020-07-28 14:54:09
【问题描述】:
我在 PySpark 中工作,在获得要写入 Snowflake 的最终输出表之前,我进行了一系列转换并应用了用户定义的函数。写入 Snowflake 的最终命令需要大约 25 分钟才能运行,因为它还在执行所有计算,因为 Spark 会延迟评估并且直到最后一次调用才会评估。 我想在之前的步骤中评估最终表,这样我就可以计算所有转换需要多长时间,然后分别计算写入 Snowflake 步骤需要多长时间。我如何将两者分开?我已经尝试过:
temp = final_df.show()
temp.write.format(SNOWFLAKE_SOURCE_NAME).options(**sfOptions2) \
.option("dbtable","TEST_SPARK").save()
但我得到错误:
'NoneType' object has no attribute 'write'
然后用 collect()
temp = final_df.collect()
temp.write.format(SNOWFLAKE_SOURCE_NAME).options(**sfOptions2) \
.option("dbtable","TEST_SPARK").save()
但我得到错误:
'list' object has no attribute 'write'
【问题讨论】:
标签: apache-spark pyspark lazy-evaluation