IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 尚硅谷大数据技术之 DataX—4)DataX使用优化 -> 正文阅读

[大数据]尚硅谷大数据技术之 DataX—4)DataX使用优化

4.1 关键参数

? job.setting.speed.channel : channel并发数
? job.setting.speed.record : 全局配置channel的record限速
? job.setting.speed.byte:全局配置channel的byte限速
? core.transport.channel.speed.record:单个channel的record限速
? core.transport.channel.speed.byte:单个channel的byte限速

4.2 优化 1 :提升每个channel的速度

在DataX内部对每个Channel会有严格的速度控制,分两种,一种是控制每秒同步的记录数,另外一种是每秒同步的字节数,默认的速度限制是1MB/s,可以根据具体硬件情况设置这个byte速度或者record速度,一般设置byte速度,比如:我们可以把单个Channel的速度上限配置为5MB。
配置文件:datax\conf\core.json

在这里插入图片描述

4.3 优化 2 :提升DataX Job内Channel并发数

并发数 = taskGroup的数量 * 每个TaskGroup并发执行的Task数 (默认为5)。
提升job内Channel并发有三种配置方式:

4.3.1 配置全局Byte限速以及单Channel Byte限速

Channel个数 = 全局Byte限速 / 单Channel Byte限速

 {
	"core": {
		"transport": {
			"channel": {
				"speed": {
					"byte": 1048576
				}
			}
		}
	},
	"job": {
		"setting": {
			"speed": {
				"byte" : 5242880
			}
		},
	...
	}
}

core.transport.channel.speed.byte=1048576,job.setting.speed.byte=5242880,所以Channel个数 = 全局Byte限速 / 单Channel Byte限速=5242880/1048576=5个

4.3.2 配置全局Record限速以及单Channel Record限速

Channel个数 = 全局Record限速 / 单Channel Record限速


{
	"core": {
		"transport": {
			"channel": {
				"speed": {
					"record": 100
				}
			}
		}
	},
	"job": {
		"setting": {
			"speed": {
				"record" : 500
			}
		},
	...
	}
}

core.transport.channel.speed.record=100,job.setting.speed.record=500,所以配置全局Record限速以及单Channel Record限速,Channel个数 = 全局Record限速 / 单ChannelRecord限速=500/100=5

4.3.3 直接配置Channel个数

只有在上面两种未设置才生效,上面两个同时设置是取值小的作为最终的channel数。

{
	"job": {
		"setting": {
			"speed": {
				"channel" : 5
			}
		},
	...
	}
}

直接配置job.setting.speed.channel=5,所以job内Channel并发=5个

4.4 优化 3 :提高JVM堆内存

当提升DataX Job内Channel并发数时,内存的占用会显著增加,因为DataX作为数据交换通道,在内存中会缓存较多的数据。例如Channel中会有一个Buffer,作为临时的数据交换的缓冲区,而在部分Reader和Writer的中,也会存在一些Buffer,为了防止OOM等错误,调大JVM的堆内存。建议将内存设置为4G或者8G,这个也可以根据实际情况来调整。调整JVM xms xmx参数的两种方式:一种是直接更改datax.py脚本;另一种是在启动的时候,加上对应的参数,如下:

python datax/bin/datax.py --jvm="-Xms8G -Xmx8G" XXX.json
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-02-05 21:48:17  更:2022-02-05 21:49:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 13:41:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码