SuperAPI AI 工具集

databricks-iceberg

数据与分析

查看项目

更新于 10-15 20:32

技能介绍

用途:指导在 Databricks(Unity Catalog)中创建与读取 Apache Iceberg 表,并让外部引擎访问这些数据。

主要能力与模式:托管 Iceberg 表(USING ICEBERG,Databricks 与外部引擎均可读写);External Iceberg Reads(原 UniForm,Delta 表自动生成 Iceberg 元数据,外部按 Iceberg 读);Compatibility Mode(面向 SDP 流式表与物化视图的 UniForm 变体);Iceberg REST Catalog(IRC,外部引擎经 REST 访问 UC 管理数据);Iceberg v3(Beta,DBR 17.3+)。

必要用法:必须使用 Unity Catalog;不要在 DBR 中安装 Iceberg 库;不要设置 write.metadata.path 或 write.metadata.previous-versions-max。创建托管表可用 CREATE TABLE ... USING ICEBERG,可加 PARTITIONED BY(标准 Iceberg DDL,跨平台可用,自动关闭 DV/行跟踪,不支持 bucket()/years() 等表达式变换)或 CLUSTER BY(DBR 专用,v2 需手动设置 delta.enableDeletionVectors=false、delta.enableRowTracking=false;v3 无需)。对已有 Delta 表启用 UniForm 需设置 delta.columnMapping.mode=name、delta.enableIcebergCompatV2=true、delta.universalFormat.enabledFormats=iceberg。

适用场景:新建 Iceberg 表、使 Delta 表可被 Iceberg 读取、流式表/物化视图互操作、通过 IRC 连接 Snowflake、PyIceberg、OSS Spark、EMR、Flink、Kafka Connect 等外部引擎。

限制:托管 Iceberg 表不支持 CDF(需用 Delta+UniForm);UniForm 元数据异步生成有延迟;默认 zstd 压缩,旧读取器可能不支持;Snowflake 集成仅见最近 1000 次提交;UniForm 需关闭 deletion vectors;不支持 SHALLOW CLONE;v3 表需 Iceberg 库 1.9.0+。缺失事实暂未提供。