具有联接的 Databricks 实时表(如下面的示例)是否可以增量更新,还是每次都需要完全重新计算,类似于具有联接的 Redshift 物化视图需要完全刷新?
import dlt
@dlt.table(
name="summary_table",
comment="Anonymized summary data"
)
def summary_table():
return spark.sql("""
SELECT
tA.col1,
tB.col2 AS colB1,
...
FROM table_A AS tA
JOIN table_B AS tB
ON tB.id = tA.b_id
LEFT JOIN table_C AS tC
...
我假设您指的是 Spark 静态流连接。 在 Spark Streaming 中,当将流式 DataFrame 与静态 DataFrame 连接时,静态 DataFrame 在流式查询的执行过程中保持不变。这意味着对静态 DataFrame 底层数据源的任何更新或更改都不会反映在连接结果中,除非进行了相同的编程。
请参阅此处的 Stack Overflow 讨论 - https://stackoverflow.com/questions/66154867/stream-static-join-how-to-refresh-unpersist-persist-static-dataframe-periodic#:~:text=You% 20可以%20触发%20the%20刷新,即%20刷新%20the%20static%20Dataframe