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

如何查看Iceberg表的PARTITION BY配置信息?

查看Iceberg表PARTITIONED BY配置的方法

针对你使用的PySpark、Spark 3.5、Iceberg 1.4.3及AWS EMR 7.1环境,有两种直接且易处理的方式查看表的分区配置:

1. 使用DESCRIBE EXTENDED语句

这是最直接的SQL方式,执行后能在输出中找到分区相关的明确信息:

DESCRIBE EXTENDED prod.db.sample;

在返回结果里,找到以下关键行:

  • Partition Provider: 会显示为iceberg
  • Partition Fields: 会列出完整的分区配置,比如你示例中的bucket(16, id), days(ts), category

2. 通过Spark Catalog API编程获取

如果需要以编程方式(比如在PySpark脚本中)获取分区配置,可直接调用Spark的Catalog API读取表元数据:

from pyspark.sql import SparkSession

spark = SparkSession.builder.getOrCreate()

# 获取Iceberg表的元数据
table = spark.catalog.getTable("prod.db.sample")
# 提取分区字段信息
partition_fields = table.properties.get("partitioning")

print(partition_fields)
# 输出示例:bucket(16, id), days(ts), category

这个方式返回的是结构化的字符串,无需复杂解析,适合后续的ALTER TABLE操作前置校验。

补充说明

  • 不推荐解析SHOW CREATE TABLE的输出,因为其格式会随版本变化,稳定性差;
  • 无需直接读取Iceberg的Metadata JSON文件,上述两种方式已经能满足需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 11:07:03