skills/skills.netease.im/data-asset-query

data-asset-query

SKILL.md

数据资产查询技能

查询数据平台中表或字段的完整元数据信息。

快速开始

# 查询表信息(包含所有接口调用)
python data_asset_query.py <表名> [--product=项目名]

# 查询指定数据库中的表信息
python data_asset_query.py <库名.表名> [--product=项目名]

# 查询表信息和字段血缘
python data_asset_query.py <表名> --field=<字段名> [--product=项目名]

环境变量配置

使用本技能前,需要在本地机器上设置以下环境变量(环境变量值获取方式可参考:https://study.sf.163.com/documents/read/service_support/dsc-p-a-0116):

变量名 描述 示例
OPENAPI_DOMAIN OpenAPI域名 http://111.124.204.156:10098
ACCESS_KEY 访问密钥 your_access_key
SECRET_KEY 密钥 your_secret_key
DEFAULT_USER 默认用户邮箱 user@example.com
DEFAULT_PRODUCT 默认项目名 product_name
DEFAULT_GROUP_ID 默认项目组ID 2

设置环境变量

Windows (PowerShell):

$env:OPENAPI_DOMAIN = "http://your-domain:port"
$env:ACCESS_KEY = "your_access_key"
$env:SECRET_KEY = "your_secret_key"
$env:DEFAULT_USER = "user@example.com"
$env:DEFAULT_PRODUCT = "product_name"
$env:DEFAULT_GROUP_ID = "2"

Linux/Mac:

export OPENAPI_DOMAIN="http://your-domain:port"
export ACCESS_KEY="your_access_key"
export SECRET_KEY="your_secret_key"
export DEFAULT_USER="user@example.com"
export DEFAULT_PRODUCT="product_name"
export DEFAULT_GROUP_ID="2"

调用的接口列表

查询表信息时,会调用以下6个接口:

接口名称 子产品 方法 路径 说明
表详情 easydmap POST /table/v1/info/get 获取表的详细信息
字段信息 easydmap POST /field/v1/info/get 获取表的所有字段信息
Hive数据预览 easydmap POST /table/v1/data/preview 获取表的数据预览
DML记录 easydmap GET /table/v1/dml/get 获取表的DML操作记录
表血缘 easymetahub GET /lineage/v1/table/get 获取表的上游/下游血缘
字段血缘 easymetahub GET /lineage/v1/field/get 获取字段的上游/下游血缘(仅当指定字段名时调用)

功能说明

查询表时(输入表名):

获取完整的表信息,包括:

  • 表详情(库名、表名、数据源、集群、负责人、主键等)
  • 业务信息(主题域、分层、是否核心表、是否推荐表等)
  • 存储信息(大小、文件数、存储类型、位置、创建/更新时间等)
  • 字段信息(所有列的类型、主键、分区信息、描述等)
  • 数据预览(样例数据)
  • DML记录(最近操作记录:SELECT、INSERT、UPDATE、DELETE)
  • 表血缘信息(上游/下游表)

查询字段血缘时(使用 --field 参数):

在表信息基础上,额外获取:

  • 字段上游血缘(该字段的数据来源)
  • 字段下游血缘(该字段被哪些字段使用)

使用示例

# 查询表信息
python data_asset_query.py dwd_ecom_order_fact_di --product=porduct_training

# 查询指定数据库中的表信息
python data_asset_query.py porduct_training.dwd_ecom_order_fact_di --product=porduct_training

# 查询表信息和字段血缘
python data_asset_query.py dwd_ecom_order_fact_di --field=channel_code --product=porduct_training

# 查询指定数据库中表的字段血缘
python data_asset_query.py porduct_training.dwd_ecom_order_fact_di --field=channel_code --product=porduct_training

输出格式

输出包含两部分:

  1. 格式化报告:易读的表信息汇总
  2. 原始API响应:所有接口的完整JSON响应

错误处理

错误码 描述 处理方式
42201 表/字段在血缘中不存在 该表/字段无血缘数据
42001 数据源ID不存在 检查数据源配置
-2 系统异常 联系管理员
-1 请求失败 检查网络/域名
缺少环境变量 配置错误 设置环境变量
无结果 表/字段未找到 检查名称拼写

依赖

  • Python 3.7+
  • requests库

安装依赖:

pip install -r requirements.txt

注意事项

  1. 时间戳必须在服务器时间的5分钟内
  2. 签名(sig)必须是32位小写MD5
  3. POST请求需要Content-Type: application/json请求头
  4. 部分API可能需要特定权限
  5. 血缘信息仅当表/字段有血缘数据时才可用
Installs
1
First Seen
Apr 23, 2026