文章 查看内容

用户实践:如何使用ai工具自动创建etl解析JSON字段

用户实践:如何使用ai工具自动创建etl解析JSON字段

58 0 产品实操 2026-4-8 15:59 发布者: 观小益

本文更新为优化版 skill:补充用户必填信息、ETL与数据集分模块目录规则,以及创建后发布并运行的闭环要求。

一、背景

在实施过程中,很多元数据表都包含 configpayloadmeta 这类 JSON 字符串字段。常见痛点是每次项目都要重复手工写解析公式,维护成本高且容易漏字段。

本次将实践沉淀为优化版 Skill:自动推断 JSONPath、自动创建 ETL 链路,并明确发布运行闭环,方便团队跨项目复用。

二、操作过程(基础版)

步骤1:准备 ETL 基础链路
先确认流程中有输入节点与主链路,便于后续接入“添加计算列”。

步骤1-ETL总览

步骤2:配置 JSON 解析公式
在“添加计算列”节点中新增字段,使用 get_json_object([config], '$.xxx') 提取所需 JSONPath。

步骤2-添加计算列

步骤3:处理字段冲突
若命中重名字段风险,统一增加业务前缀(如 config_)后再保存。

步骤3-字段冲突处理

步骤4:发布并运行
ETL 创建完成后必须发布并至少运行 1 次,确认输出数据集可预览到新增解析列。

步骤4-发布并运行

三、不同 JSON 数据结构如何提取(重点)

场景A:扁平结构

{"sourceType":"MYSQL","priority":"HIGH"}
get_json_object([config], '$.sourceType')
get_json_object([config], '$.priority')

场景B:对象嵌套结构

{"tableQuery":{"queryType":"query","table":"orders"}}
get_json_object([config], '$.tableQuery.queryType')
get_json_object([config], '$.tableQuery.table')

场景C:数组(基础)

{"primaryKeyColumns":["ds_id","tenant_id"]}
get_json_object([config], '$.primaryKeyColumns')
get_json_object([config], '$.primaryKeyColumns[0]')

场景D:数组对象

{"dynamicParameters":[{"key":"start","value":"2026-01-01"}]}
get_json_object([config], '$.dynamicParameters')
get_json_object([config], '$.dynamicParameters[0].key')
get_json_object([config], '$.dynamicParameters[0].value')

场景E:深层嵌套 + 可选字段

{"lastExecution":{"startTime":"...","endTime":"..."},"error":null}
get_json_object([config], '$.lastExecution.startTime')
get_json_object([config], '$.lastExecution.endTime')
get_json_object([config], '$.error')

四、常用函数说明(JSON解析相关)

1)get_json_object(json_col, json_path)
按 JSONPath 从 JSON 字符串中取值,是本方案核心函数。

2)空值兜底
建议结合 IFNULL/COALESCE(以当前函数支持为准)处理缺失 key 或空值。

3)类型转换
JSON 提取结果常为字符串,下游做数值计算前建议显式转换类型。

4)数组处理策略
先提整段数组 JSON,再按业务需要提取 [0] 或下一层 ETL 继续拆解。

五、优化版 Skill 关键能力

相较旧版,优化版 Skill 增加了执行前“用户必填信息清单”,并强制区分目录:

1)ETL 创建到“智能ETL”模块目录(etl_parent_dir_id);
2)输出数据集创建到“数据集”模块目录(output_parent_dir_id);
3)创建后必须“发布并运行”。

推荐在 AI 对话里这样引用:

请使用 json-etl-auto-parser 创建 JSON 解析 ETL
base_url: https://uat.guandata.com/bi-test
domain: testing
input_ds_id: xxx
json_column: meta
etl_parent_dir_id: (智能ETL目录ID)
output_parent_dir_id: (数据集目录ID)
要求:创建后发布并运行一次

六、可复用 Skill 附件(优化版)

已上传优化版 Skill 压缩包,下载后可直接安装使用:

json-etl-auto-parser-package-no-doc-optimized-20260408-1512.zip

七、复用建议

1)统一字段前缀(如 config_、payload_)避免冲突;
2)先跑样本映射再做字段裁剪;
3)复杂数组先落字符串,再在下一层 ETL 继续拆分;
4)发布前抽样预览,优先检查关键字段空值率与类型一致性。


路过

雷人

握手

鲜花

鸡蛋

评论

您需要登录后才可以发表言论 登录立即注册
微信服务号
联系我们
电话:400-880-0750
邮箱:hello@guandata.com
Copyright © 2001-2026 观远社区 版权所有 All Rights Reserved. 浙 ICP 备15006424号-3
去评论 去发文 返回顶部
返回顶部