如何在ADF中解决含点号列名的CSV转JSON时列名变层级结构问题
解决方法
下面是3种可落地的处理方案,按操作复杂度从低到高排序:
- 方案1:直接调整复制活动的映射规则
打开复制活动的「映射」标签页,先点击重置架构读取CSV源的原始表头,找到所有带点的列,手动修改对应目标字段的名称,直接填写和源列完全一致的带点字符串即可。ADF默认会自动识别列名里的点作为层级分隔符,手动覆盖目标字段名后就不会触发自动拆分逻辑。 - 方案2:修改JSON接收器的序列化配置
进入JSON接收器的设置页,找到「序列化设置」模块,关闭使用点作为层级分隔符选项,或是将默认的层级分隔符修改为你的数据中不会出现的特殊字符(比如~、^等),ADF就不会再把列名里的点当做层级拆分标识。 - 方案3:用数据流批量处理大量带点列
如果涉及的带点列数量很多,手动改映射效率太低,可以用数据流替代直接复制活动:- 源节点选择CSV数据集,勾选第一行作为表头读取原始数据
- 添加「选择」节点,直接保留所有原始列名即可,不需要做额外转换
- 接收器选择JSON数据集,关闭序列化配置中的层级分隔符识别,输出的JSON字段名就会和CSV表头完全一致
内容的提问来源于stack exchange,提问作者Viknesh
相关产品推荐
相关产品推荐

