目前在Databricks 交互式集群上使用 PySpark (使用Databricks-connect提交作业)和Snowflake作为输入/输出数据。
我的 Spark 应用程序应该从 Snowflake 读取数据,应用一些简单的 SQL 转换(主要是F.when.otherwise,窄转换),然后将其加载回 Snowflake。(仅供参考,模式被传递给雪花阅读器和作家)
编辑:在过程结束时,在写作之前还有一个排序转换。
出于测试目的,我将我的工作命名为:(应该命名为 Writer 和 Reader)
sc.setJobDescription("Step Snowflake Reader")
我无法理解 Spark UI 向我展示的内容:
所以,我得到了 3 个工作,所有工作名称都相同(作家)。我可以理解我只有一个 Spark Action,所以假设有一个作业,所以 Spark 确实将作业命名为 sc.setJobDescription 设置的最后一个值(Reader,触发 spark 计算)。
我也标记了我的“ReaderClass”
sc = spark.sparkContext
sc.setJobDescription("Step Snowflake Reader")
为什么不显示?
第一个工作是像“从雪花下载数据”,第二个“应用 SQL 转换”,然后是第三个“上传数据到雪花”?
为什么我所有的工作都与同一个 SQL 查询有关?什么是与...零工作相关的查询 0?