本技能主题为数据目录(Data Catalog),即集中式元数据仓库,用于数据发现、治理(访问控制、血缘、PII 标记)、模式管理、表格式抽象与多引擎一致性(Spark、Trino、Flink、DuckDB)。
用途:帮助在数据湖仓场景中选择与搭建目录系统,并实现跨源统一查询。
主要能力与内容: 一、Iceberg 目录类型对比。Hive Metastore:基于 RDBMS,自运维,适合已有 Hadoop 环境与高分区数;AWS Glue:AWS 全托管无服务器,兼容 Athena/EMR/Redshift Spectrum;Tabular:托管 SaaS,基于 Nessie,支持类似 Git 的分支;自定义 REST:任意 HTTP 服务。 二、用 DuckDB 作为轻量多源目录。通过 ATTACH 统一连接 Postgres、Delta、Iceberg、DuckLake 等源并建统一视图;示例命令包括 INSTALL ducklake; LOAD ducklake; 以及 ATTACH 'postgres://user:pass@host:5432/mydb' AS pg_db;。限制:无 REST API、写锁单写入、无细粒度鉴权、元数据需驻内存(约支持 ≤10 万表)、单文件损坏即全丢,仅适合单用户或小团队 PoC。 三、开源目录对比(2024)。Amundsen:侧重发现、部署最简单、血缘有限;DataHub:企业级、端到端血缘、可扩展性高但部署复杂;OpenMetadata:治理与质量并重、内置列级血缘、现代 UI、部署中等。 四、选型建议:AWS 原生选 Glue;自托管 Hadoop/Spark 选 Hive Metastore;Iceberg 优先且需分支选 Tabular;小型 PoC 用 DuckDB+DuckLake;治理重度选 OpenMetadata;大规模选 DataHub。
使用方式:按场景选择目录,配置对应连接与凭据;DuckDB 模式仅在开发使用,凭据用环境变量或密钥管理器,源系统只读挂载,定期备份。
限制:DuckDB 不作为生产多用户目录;各工具性能与规模差异明显;部分扩展(如 Unity Catalog)标注为实验性。具体成本、平台细节资料未完整提供。