You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PySpark中是否存在Databricks的describe history等效功能?

PySpark中Delta表的历史查询与版本获取

对应Databricks DESCRIBE HISTORY的等效功能

在PySpark中,只要集成Delta Lake库,就能通过DeltaTable类的history()方法实现和Databricks DESCRIBE HISTORY完全等效的功能。该方法返回的DataFrame包含表的版本号、操作时间、操作类型、执行用户等完整历史信息。

示例代码:

from delta.tables import DeltaTable

# 加载本地路径下的Delta表
delta_table = DeltaTable.forPath(spark, "/local/path/to/delta/table")

# 获取版本历史数据,等效于DESCRIBE HISTORY
history_df = delta_table.history()

# 完整展示历史记录(不截断内容)
history_df.show(truncate=False)

查询Delta表的最新版本

获取最新版本有两种直接可行的方式:

方式1:调用currentVersion()方法

这是最简洁的方式,DeltaTable内置方法直接返回当前最新版本号:

latest_version = delta_table.currentVersion()
print(f"Delta表最新版本号: {latest_version}")

方式2:从历史记录中提取最大版本号

如果需要结合历史记录分析,也可以从history()返回的DataFrame中筛选最大版本:

from pyspark.sql.functions import max

latest_version_row = history_df.select(max("version")).first()
latest_version = latest_version_row[0]
print(f"Delta表最新版本号: {latest_version}")

本地环境配置前提

确保你的PySpark环境已正确集成Delta Lake:

  1. 安装Delta Lake依赖:pip install delta-spark
  2. 初始化SparkSession时添加Delta扩展配置:
from pyspark.sql import SparkSession

spark = SparkSession.builder \
    .appName("LocalDeltaTest") \
    .config("spark.sql.extensions", "io.delta.sql.DeltaSparkSessionExtension") \
    .config("spark.sql.catalog.spark_catalog", "org.apache.spark.sql.delta.catalog.DeltaCatalog") \
    .getOrCreate()

内容的提问来源于stack exchange,提问作者kaser47

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 08:50:23