如何以整数形式获取Delta表的最早版本号?
获取Delta表的最早版本号
之前我们已经通过Delta表的history() API实现了以整数形式获取最新版本号,代码如下:
from delta.tables import DeltaTable import pyspark.sql.functions as F dt = DeltaTable.forPath(spark, '/mnt/lake/BASE/SQLClassification/cdcTest/dbo/cdcmergetest/1') latest_version = int(dt.history().select(F.max(F.col("version"))).collect()[0][0])
当然可以获取Delta表的最早版本号,只需将获取最新版本时用到的max聚合函数替换为min即可,实现代码如下:
from delta.tables import DeltaTable import pyspark.sql.functions as F dt = DeltaTable.forPath(spark, '/mnt/lake/BASE/SQLClassification/cdcTest/dbo/cdcmergetest/1') earliest_version = int(dt.history().select(F.min(F.col("version"))).collect()[0][0])
说明
Delta表的history()方法会返回该表全量的版本历史记录,其中的version字段对应每个版本的编号。对这个字段取最小值,就能得到表创建以来的最早版本号,最后通过int()转换为整数类型即可满足需求。
内容的提问来源于stack exchange,提问作者Patterson
相关产品推荐
相关产品推荐

