如何将数据仓库元数据与血缘推送到 Monte Carlo
解决数据源集成盲区:通过 AI 生成 Python 脚本,利用 Monte Carlo 的 Push Ingestion API 灵活推送元数据、血缘和查询日志,打破传统 Pull 模式的局限。
为什么需要这个技能
在数据可观测性实践中,传统的“拉取(Pull)”模型并非万能。某些场景下,数据仓库可能不暴露查询历史,或者存在非仓库资产之间的自定义血缘关系。
本技能允许用户通过“推送(Push)”模式,直接将元数据、表/列级血缘以及查询日志发送给 Monte Carlo。这意味着只要能通过 SQL 或 API 获取数据,无论何种数据源,都能将其集成到 Monte Carlo 的监控体系中。
适用场景
- 填补集成空白:使用不支持标准拉取集成的数据库或自定义数据湖。
- 自定义血缘构建:需要定义非仓库资产(如 Airflow DAG 或 dbt 模型)之间的血缘关系。
- 实时性需求:不想等待定时拉取周期,需要更快速地更新元数据。
- 复杂环境隔离:数据源处于无法被 Monte Carlo 访问的私有网络中,需通过中继脚本推送。
核心工作流
- 模板匹配与适配:AI 首先检索
scripts/templates/下的现有仓库模板(如 Snowflake, BigQuery 等)。若无对应模板,则以 Snowflake 为基准,适配目标仓库的系统目录查询语句。 - 脚本生成:构建包含以下功能的 Python 脚本:
- 连接数据仓库并提取字段名、类型、行数、字节数及更新时间。
- 使用
pycarloSDK 将数据转换为RelationalAsset(元数据)、LineageEvent(血缘)或QueryLogEntry(查询日志)对象。 - 通过 Ingestion API 批量推送数据(每批建议 50 个资产,防止 1MB 限制或超时)。
- 身份验证与执行:配置
MCD_INGEST_ID和MCD_INGEST_TOKEN等环境变量,运行脚本并记录 API 返回的invocation_id。 - 结果验证:使用 GraphQL API Key 运行验证指令(如
/mc-validate-metadata),确认数据在 Monte Carlo 平台中可见。
下载和安装
下载 monte-carlo-push-ingestion 中文版 Skill ZIP
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md。
你可能还需要
暂无推荐