用途:该技能用于 Hive Metastore 元数据探查,作为湖仓迁移套件的探查环节,输出结果可供 Hive 到 Paimon、Hive 到 MaxCompute 等下游迁移工具直接使用。
主要能力:
- 全量探查:导出所有表的元数据、存储大小与建表 DDL,生成 summary_report.csv 和每表独立 DDL 文件。
- 增量探查:按时间点检测元数据变化,输出 metastore_delta.csv,变化类型含 TABLE_CREATE、TABLE_MODIFIED、DATA_MODIFIED、PARTITION_CREATE、PARTITION_MODIFIED,去重优先级为 TABLE_CREATE > TABLE_MODIFIED > DATA_MODIFIED。
- 两种连接方式:DB 直连(连 Metastore 的 MySQL/PostgreSQL)与 Thrift 直连(HMS Thrift API,端口 9083)。
- 统一入口 hive_explore.py,提供 full、incr、test、compare 子命令,支持连接预检、自动回退、配置档案保存。
使用方式:需 Python >= 3.7。按模式安装依赖:pip install PyMySQL、pip install psycopg2-binary、pip install hmsclient;Kerberos 需 pip install thrift_sasl gssapi。hadoop CLI 仅 size_source=hadoop 模式需要,hive CLI 仅 hive_dive.sh 全量探查需要。全量示例:bash hive_dive.sh db1 db2;增量示例:python get_metastore_changes.py -c config.ini -s "2026-01-12 18:00:00" -o metastore_delta.csv;统一入口示例:python hive_explore.py test --host 10.0.1.100 --thrift-port 9083。
限制:仅执行只读探查,不修改 Hive 元数据;配置文件中的数据库密码不得打印到终端或日志,生产环境建议用环境变量引用密码。不支持视图探查(过滤 VIRTUAL_VIEW / MATERIALIZED_VIEW)。size_source=params 依赖表已执行 ANALYZE TABLE,否则大小显示 N/A。Thrift 增量探查需遍历全部表与分区,大集群(超过 10000 表)较慢,可用 --databases 限制范围。Thrift 重建的 DDL 与 SHOW CREATE TABLE 在格式上可能不同,但语义等价。探查结果基于元数据快照,可能与实际运行状态不一致。收费与价格信息暂未提供。