簡體   English   中英

如何獲取增量表的最新版本號

[英]How to fetch the latest version number of a delta table

對於我的一個用例,我正在使用 delta Lake 的更改數據饋送 (CDF) 功能,它與 CDF 配合得很好,但是當我讀取所有要插入黃金的數據時,它列出了所有版本,有沒有辦法我可以只讀取最新版本而不指定版本號或獲取最新版本的方法?

        return spark.read.format("delta") \
                  .option("readChangeFeed", "true") \
                  .table(tableName) \
                  .where(col("_change_type") != "preimage")

上面的代碼塊返回自開始以來所有版本的結果,我只能通過查看表並指定版本來獲取最新數據,但我不明白如何在生產中啟用它,我不想使用時間戳來獲取最新版本在重試的情況下,有些人可能每天多次運行管道,如果不作為當天的第一次運行處理,這將帶來數據不准確。 任何幫助,將不勝感激。

我們可以編寫一個行級修改查詢來獲取不同版本的增量表。

正如Tim對類似 Stack Overflow question 的回答中發布的那樣,您可以將其解讀為 stream,如下所示:

 spark.readStream.format("delta").option("readChangeFeed", "true").option("startingVersion", "latest").table(tableName).filter("_change_type != 'update_preimage'")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM