Datax并发数确定
Datax并发数确定
并发数的确实是datax的jobContainer的工作,具体入口在JobContainer#adjustChannelNumber中.
主要限制条件有三个: byteNum、RecordNum以及直接的channelNum。
总结来说:
- 是否有全局
(job) byte限制,如果有,则必须要有channel的byte设置,最后计算出 需要的channelByByte数量。 - 是否有全局
(job) record限制,如果有,则必须要有channel的record设置,最后计算出 需要的channelByRecord数量。 - 取1和2的最小值设置到
job的channelNumber,如果可以设置,则该方法任务完成,退出。 - 如果3 未能设置,则从cfg中判断用户是否自己设置了
channelNum,如果用户设置了,将用户设置的给本job channel。
private void adjustChannelNumber() {// 通道数限制范围计算int needChannelNumberByByte = Integer.MAX_VALUE;int needChannelNumberByRecord = Integer.MAX_VALUE;// 看job.json文件中是否有配置JOB_SETTING_SPEED_BYTE,如果有则返回true 没有则返回falseboolean isByteLimit = (this.configuration.getInt(CoreConstant.DATAX_JOB_SETTING_SPEED_BYTE, 0) > 0);if (isByteLimit) {long globalLimitedByteSpeed = this.configuration.getInt(CoreConstant
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
