Azure Data Factory中用Flatten转换JSON字符串列为多列的问题
解决Azure Data Factory数据流中JSON字符串展开问题
步骤1:将JSON字符串转换为JSON对象数组
在数据流中添加Derived Column(派生列)组件:
- 创建新列(例如命名为
parsedTransactions) - 输入表达式:
json(jsonTransactions)这个函数会把字符串格式的JSON数组转换成ADF能识别的JSON对象数组类型
步骤2:使用Flatten组件展开交易记录
添加Flatten组件并连接到派生列组件:
- 在
Unroll By选项中选择刚创建的parsedTransactions列 Unroll Root保持默认即可(系统通常会自动识别数组层级)
步骤3:调整列映射与重命名
在Flatten组件的列映射界面:
- 保留原
Id列 - 从展开的交易对象中提取
Currency、Amount、Date字段 - 将原
Commerce字段重命名为Store
异常处理
如果jsonTransactions字符串存在格式问题(比如多余转义符),可先通过replace()函数清理,示例表达式:json(replace(jsonTransactions, '\\', ''))(根据实际格式调整)
内容的提问来源于stack exchange,提问作者gonzarod
相关产品推荐
相关产品推荐

