ETL异构数据源Datax_限速设置_06
文章目錄
- 一、提升job內Channel并發有幾種配置方式
- 二、配置簡述
- 三、案例
- 3.1. 第一種
- 3.2. 第二種
- 3.3. 第三種
- 3.4. 第四種
- 3.5. 案例實戰
- 3.6. 總結
前言:
在DataX內部對每個Channel會有嚴格的速度控制,分兩種,一種
是控制每秒同步的記錄數,另外一種是每秒同步的字節數,可以根
據具體硬件情況設置這個byte速度或者record速度,一般設置byte
速度,比如:我們可以把單個Channel的速度上限配置為5MB。
優化:提升DataX Job內Channel并發數 并發數=taskGroup的數
量每一個TaskGroup并發執行的Task數 (默認單個任務組的并發數
量為5)。
一、提升job內Channel并發有幾種配置方式
- 1.配置全局Byte限速以及單Channel Byte限速,Channel個數 = 全局Byte限速 / 單Channel Byte限速.
- 2.配置全局Record限速以及單Channel Record限速,Channel個數 = 全局Record限速 / 單Channel Record限速.
- 3.只配置Channel個數.
- 4.配置Channel個數和Channel的速度.
二、配置簡述
全局配置:
job.setting.speed.channel : 全局配置channel并發數 job.setting.speed.record : 全局配置channel的record限速 job.setting.speed.byte:全局配置channel的byte限速單channel配置:
core.transport.channel.speed.record:單channel的record限速 core.transport.channel.speed.byte:單channel的byte限速三、案例
3.1. 第一種
方式舉例如下:
core.transport.channel.speed.byte=1048576,
job.setting.speed.byte=5242880,所以Channel個數 = 全局Byte
限速 / 單Channel Byte限速=5242880/1048576=5個,
3.2. 第二種
方式舉例如下:
core.transport.channel.speed.record=100,
job.setting.speed.record=500,所以配置全局Record限速以及單
Channel Record限速,Channel個數 = 全局Record限速 / 單
Channel Record限速=500/100=5
3.3. 第三種
配置舉例如下:
直接配置job.setting.speed.channel=5,所
以job內Channel并發=5個
3.4. 第四種
配置舉例如下:
直接配置job.setting.speed.channel=5,
core.transport.channel.speed.byte=5242880
3.5. 案例實戰
#oracle2mysql.json
#全局配置channel數量,設置單channel速率
3.6. 總結
上面限速或者提升速度的前提(channel并發)是必須配置數據分片splitPk,不然上面設置不生效。 一般會按照主鍵或者業務標識字段來進行數據分片 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的ETL异构数据源Datax_限速设置_06的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: docker yum 安装
- 下一篇: make[1]: *** [objs/M