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个,
{"core":{"transport":{"channel":{"speed":{"byte":1048576}}}},"job":{"setting":{"speed":{"byte":5242880}},...}
}
3.2. 第二种
方式举例如下:
core.transport.channel.speed.record=100,
job.setting.speed.record=500,所以配置全局Record限速以及单
Channel Record限速,Channel个数 = 全局Record限速 / 单
Channel Record限速=500/100=5
{"core":{"transport":{"channel":{"speed":{"record":100}}}},"job":{"setting":{"speed":{"record":500}},...}
}
3.3. 第三种
配置举例如下:
直接配置job.setting.speed.channel=5,所
以job内Channel并发=5个
{"job":{"setting":{"speed":{"channel":5}},...}
}
3.4. 第四种
配置举例如下:
直接配置job.setting.speed.channel=5,
core.transport.channel.speed.byte=5242880
{"core":{"transport":{"channel":{"speed":{"byte":1048576}}}},"job":{"setting":{"speed":{"channel":3}},...}
}
3.5. 案例实战
#oracle2mysql.json
#全局配置channel数量,设置单channel速率
{"core": {"transport": {"channel": {"speed": {"byte": 1048576}}}},"job": {"content": [{"reader": {"name": "oraclereader","parameter": {"column": ["IDNO","COL1","COL2","COL3","DT","COL5","COL6","COL7","COL8","COL9","COL10"],"connection": [{"jdbcUrl": ["jdbc:oracle:thin:@//192.xxx.xxx.xxx:1521:orcl"],"table": ["TEST.OTBS1"]}],"username": "username","password": "password"}},"writer": {"name": "mysqlwriter","parameter": {"column": ["IDNO","COL1","COL2","COL3","DT","COL5","COL6","COL7","COL8","COL9","COL10"],"connection": [{"jdbcUrl": "jdbc:mysql://127.0.0.1:3306/datax?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true","table": ["otbs1"]}],"username": "root","password": "123456"}}}]}
}
3.6. 总结
上面限速或者提升速度的前提(channel并发)是必须配置数据分片splitPk,不然上面设置不生效。
一般会按照主键或者业务标识字段来进行数据分片
ETL异构数据源Datax_限速设置_06相关推荐
- ETL异构数据源Datax_工具部署_02
接上一篇:(企业内部) ETL异构数据源Datax_部署前置环境_01 https://gblfy.blog.csdn.net/article/details/118081253 文章目录 一.直接下 ...
- ETL异构数据源Datax_部署前置环境_01
文章目录 一.概述 1. 是什么? 2. 开源地址 二.简介 2.1. 设计架构 2.2. 框架结构 三.检查环境 3.1. 检验是否安装JDK(1.8以上,推荐1.8) 3.2. 检验是否安装pyt ...
- ETL异构数据源Datax_自增ID增量同步_12
文章目录 增量同步方法 1.先同步存量数据 2.再同步增量数据(根据自增ID.日期条件) 前提条件: 1.只针对数据增长,如果老数据被update/delete则无法使用增量同步方式. 基于主键自增I ...
- ETL异构数据源Datax_图形化数据同步_11
数据同步全量增量知识SQL和执行频次不一样,其他的都一样 文章目录 一.Oracle同步Mysql(全量) 1. 添加项目 2. 添加数据源 3. 添加任务 4. 构建json 5. 任务执行 6. ...
- ETL异构数据源Datax_日期增量同步_13
文章目录 一.全量同步 1. 增量同步SQL 2. 构建reader 3. 构建writer 4. 字段对应关系映射 5. 构建json 6. 选择同步模板 7. 查询最早时间 8. 修改任务信息 9 ...
- ETL异构数据源Datax_使用querySql_08
使用说明 当用户配置了这一项之后,DataX系统就会忽略table,column 这些配置型,直接使用这个配置项的内容对数据进行筛选,例 如需要进行多表join后同步数据,使用select a,b f ...
- ETL异构数据源Datax_使用数据分片提升同步速度_05
文章目录 1. 构建json,添加数据分片 2. Mysql数据清除 3. 数据分片前后对比 1. 构建json,添加数据分片 {"job": {"setting&quo ...
- ETL异构数据源Datax_数据准备_03
文章目录 一.Oracle数据库准备 1. 初始化表结构 2. 生成测试数据 二.使用docker创建mysql 2.1. 构建mysql容器 2.1. 创建datax数据库 2.3. 初始化表结构 ...
- ETL异构数据源Datax_Oracle同步MySQL(全量)_04
文章目录 一.Oracle同步Mysql 1. 构建json 2. 执行数据同步 3. 查看同步数据 4. 同步数据正确性和准确性 5. 同步日志分析 一.Oracle同步Mysql 1. 构建jso ...
最新文章
- How to Use tomcat on Linux
- SpringBoot-400-Bad-Request(Request-header-is-too-large)
- 打印正整数n之内的斐波那契数列
- 计算机缺少log怎么解决方法,win10 计算机丢失logmanager怎么办_win10丢失log.dll文件的解决方法-win7之家...
- java多线程系列(四)---ReentrantLock的使用
- ABAP动态取得数据的方法
- OpenCV-图像的基本处理-02
- 今天看到导师给我的批注哭了...
- VMware NSX for vSphere 6.3.0 发行说明
- 会vue再上手uni-app难度大吗?
- java subset_Java中的TreeSet的subSet()方法 Java.util.TreeSet.subSet() - Break易站
- 例题6-4 Broken Keyboard UVa11988
- 如何从 Windows 虚拟机分离数据磁盘
- 蓝海创意云丨CGI技术成功打破次元壁,宝可梦家族大集结!
- 图像取证:由色差发现数字篡改痕迹
- visio2016 两线相交去圆弧
- 1067 试密码 (20 分)之测试点4分析
- Python(10)--文件读写/模块制作与发布
- TB,GB,MB,KB,Byte字节,bit位 如何换算?
- 前端 js 微信 支付二维码
热门文章
- 吸烟致癌的迷思是如何破除的?
- pytorch 使用DataParallel 单机多卡和单卡保存和加载模型时遇到的问题
- 【保存】maven的pom.xml标签的xsi:schemaLocation处报错
- 如何构建一个流量无损的在线应用架构 | 专题尾篇
- 阿里云助力江苏省财政厅力推统一公共支付平台
- 10亿+文件数压测,阿里云JindoFS轻松应对
- 大数据时代,如何用数据驱动精准营销
- 深度解读OpenYurt:从边缘自治看YurtHub的扩展能力
- 唐云峰:想当科学家的怪极客
- 【远程沟通】“云答辩”“云招聘”双管齐下,解救“最难毕业生”