You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ADF复制活动同步ADLS Gen2 JSON到Kusto动态类型列失败如何解决?

ADF复制JSON到Kusto动态列的解决方法

针对ADF复制活动无法将JSON嵌套字段(JObject)同步到Kusto dynamic列的问题,有以下几种可行方案:

方案1:启用ADF复制活动的「保留嵌套结构」选项

在复制活动的映射标签页中,找到「设置」区域,勾选「保留嵌套结构」。启用后,ADF会自动将嵌套的JObject序列化为符合Kusto dynamic类型要求的JSON字符串,无需额外转换即可直接写入Kusto的dynamic列。

方案2:用ADF数据流动(Data Flow)转换字段

如果方案1不生效,可通过数据流动将嵌套字段转为JSON字符串后再复制:

  • 添加「派生列」转换,针对address字段使用表达式:toString(address)
  • 将派生后的字符串字段映射到Kusto的address(dynamic类型)列,Kusto会自动将该字符串解析为dynamic类型数据

方案3:在Kusto侧配置 ingestion 规则

若ADF端无法调整,可在Kusto表上配置 ingestion mapping 或 update policy 来处理:

  • 创建ingestion mapping时,指定address列的格式为json,让Kusto在 ingestion 阶段自动解析嵌套结构
  • 或者设置update policy,用parse_json()函数将传入的字段转换为dynamic类型,示例语句:
.alter-merge table YourTable policy update @'[{"IsEnabled": true, "Source": "", "Query": "YourTable | extend address = parse_json(address)", "IsTransactional": true, "PropagateIngestionProperties": true}]'

验证方法

数据写入后,可在Kusto中执行以下语句确认类型和数据有效性:

YourTable 
| take 1 
| project typeof(address), address.street

若返回dynamic类型且能正常读取street字段,说明配置生效。

内容的提问来源于stack exchange,提问作者DxG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 22:22:03