Azure复制行为适用场景解析及ADF复制活动配置选型咨询
针对Azure Data Factory复制行为的选择与配置建议
三种复制行为的核心差异与适用场景
- Preserve Hierarchy(保留层级):完整复刻源端的文件夹目录结构,源文件的路径关系在目标端完全保留。适合需要维持原有文件组织逻辑的场景,比如数据归档、多租户数据隔离等。
- Flatten Hierarchy(扁平化层级):将所有源文件直接放到目标根目录下,自动为重名文件添加后缀避免冲突。适合不需要保留目录结构,仅需集中存储所有文件的场景,比如临时数据归集。
- Merge Files(合并文件):将结构一致的源文件合并为单个(或按规则分块的)大文件。适合后续需要批量查询、降低文件IO开销的分析场景,尤其针对Synapse无服务器SQL池这类分析型数据库的数据源准备。
适配你的业务场景的最优选择
你的场景是10个结构一致的JSON小文件,为Synapse无服务器SQL池提供最快查询速度+自动推断架构,直接选择Merge Files,原因如下:
- Synapse无服务器SQL池查询大量小文件时,频繁的文件IO和元数据扫描会大幅拖慢查询速度,合并成单个大文件能显著降低IO开销,提升查询效率。
- 所有源文件结构一致,合并后的文件架构与源文件完全匹配,Synapse可自动推断出正确的表结构,无需额外配置架构映射。
Data Factory复制活动配置步骤
- 源数据集配置:选择Azure Data Lake Storage Gen2作为源,指定包含10个JSON文件的文件夹路径;文件格式选JSON,若文件存于子目录则勾选递归;设置架构类型为"推断"。
- 目标数据集配置:同样选择Azure Data Lake Storage Gen2,指定目标文件夹路径;文件格式选JSON,自定义目标文件名(如
merged_data.json)。 - 复制活动设置:
- 在源选项卡,确认源数据集与路径正确,文件筛选留空即可(默认读取所有JSON文件)。
- 在目标选项卡,选择目标数据集,找到复制行为设置并选择Merge Files。
- 在映射选项卡,因源文件结构一致,直接使用自动映射,无需手动调整字段。
- 运行与验证:触发复制活动后,检查目标文件夹是否生成合并后的大文件;在Synapse无服务器SQL池中用
OPENROWSET查询该文件,验证架构推断结果与查询速度。
额外注意事项
- 若后续源文件会持续新增且结构保持一致,可配置增量复制,仅将新增文件合并到目标大文件中。
- 合并文件时需注意目标文件大小,避免超过ADLS Gen2单文件上限(当前为190.7TiB),你的10个小文件无需担心此问题。
内容的提问来源于stack exchange,提问作者Badr Erraji
相关产品推荐
相关产品推荐

