[英]delta lake in databricks - a consistent “view” of just the last half hour of a stream
我已经从 spark 结构化流(kafka 源)一致地更新了表这样写(在 eachBatch 中)
parsedDf \
.select("somefield", "anotherField",'partition', 'offset') \
.write \
.format("delta") \
.mode("append") \
.option("mergeSchema", "true") \
.save(f"/mnt/defaultDatalake/{append_table_name}")
我需要在此表上快速查看“最近半小时内插入的项目”如何实现? 我可以从这张表中获得一个 readStream,但我缺少的是如何只保留 stream 的“尾巴”
Databricks 7.5 火花 3。
鉴于 Delta Lake 没有物化视图,并且 Delta Lake 时间旅行不相关,因为您需要最新数据:
您可以加载数据并包含插入时不需要查找的键。
预填充时间维度以加入您的数据。 将其视为一分钟的维度。
加入这个维度的数据,依靠动态文件剪枝。 因此,您需要每 30 分钟查询一次,滚动 window 并在查询中设置这些值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.