Yonyou Data Intelligence
数据平台助手
一套数据接入与元数据查询双引擎:db-connect 负责多数据库只读连接,元数据查询 负责「字段出处 / 表字段注释 / 业务单据存储 / 实时库表遍历 / OpenAPI 接口」查询。全部只读、可脚本化、AI 友好。
正式发布
11 种数据库
1810 表 / 92700 字段字典
2026-09-23
A
db-connect 多数据库只读连接引擎
数据接入底座概述
一句「连接 XX 数据库」,只读连上目标库——自动选驱动、出库结构摘要、翻译连接错误。支持人读摘要与 JSON 机读两种输出,作为数据接入底座。
CLI / Agent:别名 · --query · --tables · --describe · --json
▼
安全层:assert_readonly 只读拦截 · classify_error 错误分类
▼
驱动层:Hive/MySQL/OceanBase/PG/Greenplum/Oracle/达梦/DuckDB/SQLServer/ClickHouse/HANA
▼
账密层:profiles.yml ∪ credentials.yml(深合并,git-ignored)
数据库矩阵
| type | 数据库 | 驱动 | 端口 | 状态 |
|---|---|---|---|---|
hive | Hive (Spark Thrift) | pyhive | 10000 | 已装 |
oceanbase | OceanBase | pymysql/mysql.connector | 2881 | 已装 |
mysql | MySQL 8.0 | pymysql/mysql.connector | 3306 | 已装 |
duckdb | DuckDB | duckdb | — | 已装 |
postgres / greenplum | PostgreSQL / Greenplum | psycopg2 | 5432 | 按需 |
oracle | Oracle | oracledb | 1521 | 按需 |
dameng | 达梦 DM(国产化) | dmPython | 5236 | 按需 |
sqlserver / clickhouse / hana | SQLServer / ClickHouse / SAP HANA | pymssql / clickhouse-connect / hdbcli | — | 按需 |
快速开始
# 连接 Hive,出库结构摘要
python db_connect.py hive
python db_connect.py hive --query "SELECT * FROM dmp_ods.ods_sap_bkpf LIMIT 5"
python db_connect.py hive --describe dmp_ods.ods_sap_bkpf
python db_connect.py hive --query "SELECT 1" --json
JSON API 契约
| 命令 | 返回结构 |
|---|---|
--query | {success, alias, sql, columns[], rows[][], row_count, truncated} |
| 摘要 | {success, alias, type, host, port, database, description, databases[], tables[], table_count} |
| 失败 | {success:false, category, hint} |
错误码表
| category | 触发(示例) | 排查 |
|---|---|---|
无账密 | 别名未存储 | --list 或发账密 |
连接超时 | ORA-12170 | 网络/防火墙/端口 |
账号或密码错误 | MySQL 1045 / ORA-01017 | 核对账密 |
权限不足 | MySQL 1044 / ORA-01031 | 找 DBA |
驱动缺失 | ImportError | pip install |
只读拦截 | 写语句 | 只放行查询 |
报表 SQL 链路衔接
对齐 BIP 旗舰版 iuap-c-db-query,作报表 SQL 校验后端:
iuap-c-report-sqlgen 生成 SQL
▼
db_connect.py <别名> --query "<SQL>" --json
▼
回传 {success, columns, rows} 判定通过与否
B
元数据查询
元数据底座概述
三个可复用脚本,覆盖五类元数据需求。与 db-connect 配套:db-connect 连库查数据,本助手查元数据、查字典、查接口。
| 能力 | 脚本 | 用途 |
|---|---|---|
| ① 静态元数据 | query_meta.py | 查内置字典:字段出处 / 注释 / 单据存储 / 血缘 |
| ② 实时元数据 | live_meta.py | 连库实时遍历表 / 字段 / 指标逻辑 |
| ③ OpenAPI 查询 | openapi_query.py | 接口清单检索 / 调用指引 |
① 静态元数据查询(内置数据字典)
查询两个内置字典,无需连库:BIP/NC 最新数据字典(1810 表 / 92700 字段)+ BIP V5 部署系统元数据(OceanBase 65 库)。
# 字段出自哪些表 python query_meta.py --field bankaccountno # 表字段注释 / 按中文反查 / 单据存储 / 血缘 python query_meta.py --table cmp_bankaccount python query_meta.py --comment 银行账号 python query_meta.py --doc 现金管理 python query_meta.py --lineage cmp_bankaccount python query_meta.py --list-modules
价值:字段级**中文注释** + **外键血缘**(8953 条外键关系),改数影响面、字段反查一查即得。
② 实时数据库元数据查询(复用 db-connect)
连接数据库实时遍历库表、查字段出处与含义,支持与字典交叉核对。
python live_meta.py --alias oceanbase_ads --field invoice_no python live_meta.py --alias oceanbase_ads --table ads_fi_zsdr005 python live_meta.py --alias oceanbase_ads --traverse dmp_ads python live_meta.py --alias hive --tables
③ OpenAPI 接口查询
查询 BIP OpenAPI 接口清单与调用规范(Token/签名/URI/入参出参),支持与①②交叉。
python openapi_query.py --list python openapi_query.py --search 元数据 python openapi_query.py --howto
真实 OpenAPI 调用需 BIP 环境的 Token/签名;脚本检索本地清单 + 给调用指引,不硬编码密钥。
交叉查询(核心价值)
① query_meta --field invoice_no → 定位 ads_fi_zsdr005
▼
② live_meta --table ads_fi_zsdr005 → 看现场字段
▼
③ openapi_query --search 发票 → 找接口
一次「字典 → 库 → 接口」全链路,回答「字段在哪、含义是什么、怎么调接口取它」。
数据字典说明
| 字典 | 内容 | 更新 |
|---|---|---|
| 业务数据字典(SQLite) | BIP/NC 资金产品 10 模块 1810 表 / 92700 字段,含主外键 | 产品文档更新时重导出 |
| 系统元数据(JSON) | OceanBase 65 库 + dmp_ads 字段级 | 重跑 gen_data_dict.py |
注意:业务字典缺
FBM_* 票据表;字典是快照,库结构变了要更新。