Datax并发数确定

Datax并发数确定

并发数的确实是dataxjobContainer的工作,具体入口在JobContainer#adjustChannelNumber中.

主要限制条件有三个: byteNumRecordNum以及直接的channelNum

总结来说:

  1. 是否有全局(job) byte限制,如果有,则必须要有channelbyte设置,最后计算出 需要的channelByByte数量。
  2. 是否有全局(job) record限制,如果有,则必须要有channelrecord设置,最后计算出 需要的channelByRecord数量。
  3. 取1和2的最小值设置到jobchannelNumber,如果可以设置,则该方法任务完成,退出。
  4. 如果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


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部