You need to enable JavaScript to run this app. 如何判断Spark表是parquet格式还是delta格式
优惠活动
大模型
产品
解决方案
定价
更多

如何判断Spark表是parquet格式还是delta格式

Spark表存储格式查询方法

你执行show tblproperties返回空是因为存储格式属性通常不会放在表的自定义属性列表中,需要通过以下方式查询:

  • 方法1:使用DESCRIBE EXTENDED语句
    执行SQL:DESCRIBE EXTENDED <你的表名>;
    在返回结果中找到Provider行,对应的值为delta就是Delta格式,值为parquet就是Parquet格式,该字段是Spark官方记录表存储格式的核心元数据,准确性最高。
  • 方法2:查询information_schema系统表(适合批量查询场景)
    执行如下SQL即可直接拿到目标表的存储格式:
    SELECT table_name, provider
    FROM information_schema.tables
    WHERE table_schema = '<你的库名>'
      AND table_name = '<你的表名>';
    
  • 方法3:通过Spark Catalog API查询(适合代码中动态判断场景)
    Scala示例:
    val tableMeta = spark.catalog.getTable("<你的库名>", "<你的表名>")
    val storageFormat = tableMeta.provider.getOrElse("parquet")
    
    PySpark示例:
    table_meta = spark.catalog.getTable("<你的库名>", "<你的表名>")
    storage_format = table_meta.provider if table_meta.provider else "parquet"
    

补充说明:如果是外部表,也可以直接查看表存储路径下的文件结构,Delta格式的表会存在名为_delta_log的事务日志目录,Parquet格式的表无该目录,可作为辅助判断依据。


内容的提问来源于stack exchange,提问作者M.S.Visser

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 07:45:02