在ADF环境中将Azure Blob存储的多份CSV合并转换为单个Parquet文件
在ADF中合并Blob存储的CSV文件并转成Parquet文件
1. 前期准备
- 确认源Blob容器内所有CSV文件结构完全对齐:列名、数据类型、列顺序必须一致,避免合并时出现字段不匹配问题
- 提前创建好目标Blob容器,用于存放最终生成的Parquet文件
2. 创建数据集
源CSV数据集
- 新建Azure Blob存储类型的数据集,关联源存储账户和对应容器
- 格式选择CSV,勾选**"递归"和"通配符文件路径"**(例如填
*.csv即可匹配所有CSV文件) - 根据源文件实际情况配置分隔符、编码等参数,确保匹配
目标Parquet数据集
- 新建Azure Blob存储类型的数据集,关联目标存储账户和对应容器
- 格式选择Parquet,指定输出文件名(比如
merged_data.parquet)
3. 搭建映射数据流(核心处理逻辑)
- 新建映射数据流,按以下步骤配置:
步骤1:添加源转换
- 选择已创建的源CSV数据集,数据读取模式设为**"递归"**,确保加载所有子目录下的CSV文件
- 若CSV文件带表头,开启**"跳过首行"**选项
步骤2:添加聚合转换(可选)
- 如果需要对合并后的数据去重,添加聚合转换,将所有字段设为分组依据,实现全局去重
- 无需去重或汇总操作可直接跳过此步骤
步骤3:添加接收器转换
- 选择已创建的目标Parquet数据集,写入行为选**"覆盖"(每次生成全新文件)或"追加"**(往已有文件累加数据)
- 若想提升后续查询效率,可在设置中配置分区策略(例如按日期分区)
4. 配置管道
- 新建管道,添加**"执行数据流"**活动,关联上述映射数据流
- 为避免空运行,可前置一个**"获取元数据"**活动:
- 关联源容器,获取"子项"列表,添加分支判断,仅当文件数量大于0时执行数据流
5. 运行与验证
- 触发管道运行,在ADF监控面板查看运行状态
- 运行完成后,登录目标Blob容器检查生成的Parquet文件
- 可通过Azure Storage Explorer或Spark工具读取Parquet文件,验证数据完整性和格式正确性
内容的提问来源于stack exchange,提问作者gamageg manjula
相关产品推荐
相关产品推荐

