Databricks中的外部表仅显示未来的日期数据



我在databricks中有一个delta表,数据在ADLS中可用。数据是按日期列划分的,从2022年6月1日起,数据在adls中以拼花地板格式可用,但当我在databricks中查询表时,我可以每天看到从未来日期开始的数据。older数据不显示。每天的数据都覆盖到具有分区日期列的表路径中。

df.write.format('delta').mode('overwrite').save('{}/{}'.format(DELTALAKE_PATH, table))

使用覆盖模式将删除过去的数据并添加新数据。这就是你问题的原因。

df.write.format('delta').mode('append').save('{}/{}'.format(DELTALAKE_PATH, table))

使用追加模式将在现有数据下追加新数据。这将保留您现有的数据,当您执行查询时,它也将返回过去的记录。

您需要使用附加模式来代替覆盖模式。

追加模式-只有自上次触发后追加在结果表中的新行才会写入外部存储。这仅适用于不希望更改结果表中现有行的查询。

参考-https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#basic-概念

最新更新