如何在Azure Data Factory数据流中处理JSON混合格式shipment字段并扁平化?
在Azure Data Factory数据流中处理混合类型的shipment属性并扁平化
完全可以通过ADF数据流活动实现这个需求,核心是先统一shipment字段的类型,再执行扁平化操作,具体步骤如下:
1. 配置源数据集
在数据流中添加源活动,关联你的JSON文件,确保源配置能正确解析JSON结构(比如设置正确的文件格式、压缩选项等)。
2. 统一shipment字段为数组类型
由于shipment同时存在数组和对象两种格式,需要先将对象类型转换为单元素数组,保证所有记录的字段类型一致:
- 添加派生列活动,创建新列(例如
standardized_shipment),使用以下表达式:
该表达式会自动判断:若iif(isArray(shipment), shipment, array(shipment))shipment是数组则直接保留,若为对象则将其包装成仅含一个元素的数组。
3. 执行扁平化操作
添加扁平化活动,进行如下配置:
- 在"要扁平化的数组"选项中选择
standardized_shipment列 - 在"展开的字段"中勾选需要提取的嵌套属性(如
id、order_print_process_id) - 可自定义展开后字段的命名规则,避免与原有字段冲突
4. 清理冗余字段(可选)
如果不需要保留原shipment字段和临时的standardized_shipment字段,添加筛选列活动,移除这些冗余列即可。
通过以上步骤,就能完成所有记录中shipment字段的扁平化处理,适配混合类型的JSON结构。
内容的提问来源于stack exchange,提问作者Junaid Bilal
相关产品推荐
相关产品推荐

