如何将数据仓库元数据与血缘推送到 Monte Carlo

解决数据源集成盲区:通过 AI 生成 Python 脚本,利用 Monte Carlo 的 Push Ingestion API 灵活推送元数据、血缘和查询日志,打破传统 Pull 模式的局限。

为什么需要这个技能

在数据可观测性实践中,传统的“拉取(Pull)”模型并非万能。某些场景下,数据仓库可能不暴露查询历史,或者存在非仓库资产之间的自定义血缘关系。

本技能允许用户通过“推送(Push)”模式,直接将元数据、表/列级血缘以及查询日志发送给 Monte Carlo。这意味着只要能通过 SQL 或 API 获取数据,无论何种数据源,都能将其集成到 Monte Carlo 的监控体系中。

适用场景

  • 填补集成空白:使用不支持标准拉取集成的数据库或自定义数据湖。
  • 自定义血缘构建:需要定义非仓库资产(如 Airflow DAG 或 dbt 模型)之间的血缘关系。
  • 实时性需求:不想等待定时拉取周期,需要更快速地更新元数据。
  • 复杂环境隔离:数据源处于无法被 Monte Carlo 访问的私有网络中,需通过中继脚本推送。

核心工作流

  1. 模板匹配与适配:AI 首先检索 scripts/templates/ 下的现有仓库模板(如 Snowflake, BigQuery 等)。若无对应模板,则以 Snowflake 为基准,适配目标仓库的系统目录查询语句。
  2. 脚本生成:构建包含以下功能的 Python 脚本:
    • 连接数据仓库并提取字段名、类型、行数、字节数及更新时间。
    • 使用 pycarlo SDK 将数据转换为 RelationalAsset(元数据)、LineageEvent(血缘)或 QueryLogEntry(查询日志)对象。
    • 通过 Ingestion API 批量推送数据(每批建议 50 个资产,防止 1MB 限制或超时)。
  3. 身份验证与执行:配置 MCD_INGEST_IDMCD_INGEST_TOKEN 等环境变量,运行脚本并记录 API 返回的 invocation_id
  4. 结果验证:使用 GraphQL API Key 运行验证指令(如 /mc-validate-metadata),确认数据在 Monte Carlo 平台中可见。

下载和安装

下载 monte-carlo-push-ingestion 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐