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

如何控制DSBulk UNLOAD生成文件数 输出单个CSV或指定数量分片

DSBulk UNLOAD 导出文件数量配置方案

DSBulk导出时的输出文件数量由对应格式连接器的并发文件参数直接控制,和导出数据量无强制绑定关系,默认生成固定数量文件是参数默认值匹配运行环境配置导致的。

限制导出结果为仅1个CSV文件

在执行unload命令时追加-connector.csv.maxConcurrentFiles 1参数即可,该参数会强制DSBulk单线程写入输出目标,最终仅生成1份CSV文件。
示例命令:

dsbulk unload -k 你的键空间名 -t 你的表名 -h 连接地址 -c csv -url 目标存储路径 -connector.csv.maxConcurrentFiles 1

自定义导出文件数量(含JSON格式默认生成2个文件的解决方法)

固定生成2个JSON文件的原因

EC2环境执行JSON导出命令时未手动指定并发文件参数,DSBulk默认会按max(1, 运行环境可用CPU核数/2)的规则计算并发文件数,常规4核配置的EC2实例默认并发固定为2,和实际导出数据量无关,因此每次都会生成2个JSON文件。

自定义分片数配置方法

针对JSON格式导出,通过-connector.json.maxConcurrentFiles参数指定目标文件数即可,比如需要生成5个分片文件,直接将参数值设为5。
修改后的参考命令:

dsbulk unload -k custdata -t orderhistory -h '172.xx.xx.xxx' -c json -url proddata/json/custdata/orderhistory/data -connector.json.maxConcurrentFiles 5

配置注意事项

  • 参数取值必须为正整数,设置为N就会强制生成N个输出分片文件,导出数据会均匀分散到各个文件中
  • 不同输出格式对应不同参数:CSV格式使用connector.csv.maxConcurrentFiles,JSON格式使用connector.json.maxConcurrentFiles,不可混用
  • 不要和全局并发参数executor.maxConcurrency混淆,该参数控制的是数据读取、处理的整体线程数,不直接决定最终输出文件的数量

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 22:42:31