dantax参数调优
1.speed调优
可能会导致数据倾斜
处理的速度不同,可能会导致job非常慢
举例子,比如总限速是每秒100条record,其中第一个channel速度是每秒99条record,第二个channel是每秒1条record,加起来是每条100条record,假设每个channel需要处理的数据都是1万条数据,那么第一个channel很早就处理完了,第二个channel会消耗比较长的时候,类似hadoop中的数据倾斜,为了避免这个问题,我们需要配置单个channel的限速
内存优化
当提升Datax Job内Channel并发数时,内存的占用会显著增加,因为datax作为数据交换通道,在内存中会缓存较多的数据。例如Channel中会有一个Buffer,作为临时的数据交换的缓冲区,而在部分Reader和Writer中,也会存在一些Buffer,为了防止OOM等错误,需要调大JVM的堆内存
- 建议将内存设置为4G或者8G
- 建议在启动的时候,加上对应的参数:python datax/bin/datax.py --jvm=“-Xms8G -Xmx8G” /path/to/your/job.json