按ID与Combinations列拆分CSV并分别保存为Parquet文件
按ID+Combinations唯一组合拆分保存为Parquet文件的实现方案
步骤1:获取所有唯一的ID与Combinations组合
- 使用Lookup Activity读取源CSV文件,通过查询语句提取去重后的组合:
(注:若源是Blob/ADLS存储的CSV,需确保数据源配置支持SQL查询,比如启用PolyBase或使用查询筛选选项)SELECT DISTINCT ID, Combinations FROM your_csv_source - 该Lookup的输出将作为后续循环的遍历数据源。
步骤2:配置Foreach循环遍历唯一组合
- 设置Foreach的Items属性为动态内容:
这样循环会逐个处理每个ID+Combinations的唯一组合。@activity('Lookup唯一组合').output.value
步骤3:在循环内配置Copy Activity实现拆分保存
- 源端配置:选择CSV数据集,添加筛选条件过滤当前循环的组合,动态内容示例:
(若ID是字符串类型,需添加单引号:@concat('ID = ', item().ID, ' AND Combinations = ', item().Combinations)@concat('ID = ''', item().ID, ''' AND Combinations = ', item().Combinations)) - 目标端配置:选择Parquet数据集,设置文件名的动态内容为:
即可生成如@concat(item().ID, '_', item().Combinations, '.parquet')12888_1.parquet的自定义命名文件。
额外优化建议
- 若源CSV数据量极大,Lookup去重效率低,可先将CSV导入临时表(如Azure SQL DB/Synapse),再从临时表获取唯一组合,提升性能。
- 根据数据量调整Copy Activity的并行复制数,加快处理速度。
内容的提问来源于stack exchange,提问作者nYuker_98 D
相关产品推荐
相关产品推荐

