You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Azure Data Factory(ADF)按指定分隔符拆分Blob存储中大文件

ADF Data Flow 按指定行分隔符拆分Blob文件实现步骤

前置配置

提前完成源、目标对应的Azure Blob存储链接服务配置,指向对应容器路径。

具体实现步骤

  • 1. 源转换配置
    选择待拆分的Blob存储文本文件作为源,格式做如下设置:
    • 列分隔符设置为不存在的特殊字符(如\0),保证原始文件的每一行完整映射为单列数据,列命名为raw_line
    • 行分隔符保留默认的\n/\r\n,确保行读取顺序正确
    • 优化标签页选择单分区,避免并行读取打乱原始行序
  • 2. 标记拆分边界
    新增派生列转换,新建标识列is_split_flag,默认场景(分隔符单独占一行)表达式如下:
    iif(raw_line == '-----', 1, 0)
    
    如果分隔符出现在行末尾而非整行都是分隔符,可修改表达式为:
    iif(endsWith(raw_line, '-----'), 1, 0)
    
  • 3. 生成文件分组编号
    新增窗口转换,配置如下:
    • 排序依据:选择系统生成的行号列__rownum,升序排列
    • 窗口列:新建列file_group_id,表达式为sum(is_split_flag) over(order by __rownum asc) + 1
      该列的值会自动从1开始递增,每遇到一次分隔符就加1,刚好对应你需要的MyFile1、MyFile2的编号规则
  • 4. 过滤分隔符行
    新增筛选转换,过滤条件设置为is_split_flag == 0,剔除所有分隔符行,避免写入到输出文件中
  • 5. 目标转换配置
    选择Blob存储作为目标,格式设置为:
    • 仅保留raw_line列映射,删除其他多余列的映射
    • 列分隔符设置为空,避免输出多余的分隔符
    • 优化标签页选择按列分区,分区列选择file_group_id
    • 命名标签页中设置文件名模式为MyFile{file_group_id},即可生成你要求的命名格式的小文件

注意事项

如果拆分的文件体积极大,单分区处理速度较慢,可以先将文件按固定大小拆分后再批量执行上述逻辑,不影响最终分组结果。

内容的提问来源于stack exchange,提问作者CtrlAltElite

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 07:15:05