SuperAPI AI 工具集

byted-bytehouse-data-asset-analyzer

数据与分析

查看项目

更新于 10-16 08:06

技能介绍

用途:扫描 ByteHouse 指定数据库的表与字段元数据,生成数据资产目录与血缘分析报告。适用于表结构盘点、字段分析、Distributed 到 Local 血缘识别等场景,用户提及“数据资产”“血缘分析”“表结构”等可触发。

主要能力:一是完整 Schema 获取,列出数据库所有表及其字段、引擎、注释,保留 CREATE TABLE 原文;二是数据资产目录,统计总表数、总列数、引擎分布并自动生成标签;三是血缘分析,基于命名模式识别 Distributed 与 Local 表关系,并分析跨表同名列的相似性。自动标签按引擎、表名关键词与列数规则生成,如分布式表、MergeTree系列、日志引擎、交易/订单、用户/客户、维度表、事实表、宽表、窄表等,未命中记为未分类。

使用方式:需 Python 3.8+、clickhouse-connect(pip install clickhouse-connect)和 jq(brew install jq 或 sudo apt install jq),连接信息存于 ~/.bytehouse_config.json,包含 BYTEHOUSE_HOST 与 BYTEHOUSE_PASSWORD(必填),端口默认 8123、用户默认 bytehouse。先执行 source scripts/export_config.sh 加载配置,再运行 python3 scripts/data_asset_analyzer.py <database>,结果输出到 scripts/output/ 下的 schema_.json、catalog_.json、lineage_*.json。也可程序化调用同步函数 analyze_database(database),返回含 schema、catalog、lineage 的字典,该函数不落盘。

限制:脚本固定使用 HTTPS 并跳过证书校验(secure=True、verify=False),需确认 host 与端口可从公网访问;结果为空时应检查库名以及账号是否有查询 system 表的权限;资产与血缘信息应一律取自脚本产物,不应凭上下文猜测。资料未提供定价、性能指标或支持平台等更多信息。