ADF Dataflow拆分子列表数据至多个Blob JSON文件的问题
ADF Dataflow实现按固定条数拆分JSON文件并格式化子列表
步骤1:生成分组键实现批量划分
先添加Derived Column转换,通过行号计算分组ID,确保每125条数据归为一组。使用公式:
floor((rowNumber() - 1) / 125) as groupId
rowNumber()从1开始计数,减1后除以125取整,这样第1-125条数据的groupId为0,126-250条为1,以此类推,自动完成批量分组。
步骤2:聚合生成API要求的子列表
添加Aggregate转换,基于groupId聚合数据:
- 分组键选择刚生成的
groupId - 聚合列设置为
dataList = collect(@),其中@代表整行数据,collect函数会将同一组内的所有行打包成数组,直接得到API需要的子列表格式。
步骤3:按分组输出拆分后的JSON文件
使用Sink转换对接Blob存储,配置如下:
- 文件格式选择JSON,在Settings的
File name option中选As a column value,指定groupId作为文件名的一部分,比如设置为batch_@{groupId}.json,确保每个分组对应一个独立文件 - 如果API要求子列表包裹在特定根节点下(如
{"items": [...]}),可将聚合列命名为items,并取消勾选Write array as JSON;若直接输出数组格式,勾选该选项即可生成[{...}, {...}]结构的文件。
额外注意事项
- 若原数据需要字段调整(重命名、类型转换),请在生成分组键前通过Select或Derived Column完成转换
- 测试阶段可先用小批量数据验证分组逻辑和输出格式,确认符合API要求后再运行全量15000条数据
内容的提问来源于stack exchange,提问作者Hari A
相关产品推荐
相关产品推荐

