我们正在探索从 Azure Databricks 中读取雪花流数据的场景。
详情:
问题:
df = # sf_conn_boilerplate.("SELECT * FROM STREAM")
df.withColumn('age2', df.age + 2)
# finally load to file
感谢您的回复。 干杯...
仅当流中的数据用于更新目标时,流上的“窗口”才会前进。因此,您可以根据需要多次从流中进行 SELECT,并且您将获得相同的数据。仅当您(或其他任何人)执行更改数据的语句(INSERT、UPDATE、DELETE、MERGE 等)并使用流数据时,流中的数据才会更改。文档中对此进行了广泛的介绍,并附有示例,here
如果更改数据的语句仅在 Databricks 中运行(而不是针对 Snowflake),那么您运行的内容不会对流产生影响,并且无论 Databricks 中运行或失败,数据都将可用。但是,即使它在 Databricks 中成功运行,如果您没有在 Snowflake 中运行更改 DML 语句,流也永远不会前进,并且在查询流时您永远不会获得更新的数据集。因此,在某些时候,您需要在 Snowflake 中运行虚拟更改 DML 语句来推进 Stream