DATAX工具同步数据从hdfs到drds性能优化

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介:

问题描述

在客户现场运维过程中,使用datax同步数据从hdfs到drds速度极其缓慢,因此希望进行datax的json文件进行优化,提升速度,同步缓慢及报错如下;fd0a8c8ead073bd604a2862f6717cf011158db67



问题分析

对于datax的使用问题,第一要素就要检查json文件的问题;

从同步的datax的日志及报错的tddl-4603来看,json文件是可以使用的,只是使用的参数设置有问题导致了4603的报错,也就是出现了跨库事务的存在;drds使用datax从hdfs同步数据过来,解析之后应该直接进入到对应的分库分表当中,为何会出现这种报错?

89d0d14d2aa348716ba42e81a73fd20b1cd712fc

检查json文件,我们发现如下:


532e1000195d33a250ab2bc2629219fe0407ae30

这里的drds导入的writer引擎竟然是mysqlwriter而非drdswriter引擎,经过咨询师兄,mysqlwriter不能用在drds目标的,否则就会出现跨库事物不支持;

由于drds本身是出现是有适用datax的drdswriter的引擎,所以修改引擎为drdswriter以后,重新执行datax同步任务,发现tddl-4603报错消失,同步速度从38k提升到200k;


c98f9ea17575d383cc92e5d52db285dca451537a

而此时200k速度,3000多行的导入速率依然太慢无法满足客户的需求;

故而还需继续分析优化其他参数来进行速度的提升;

这里涉及到的最直接的优化参数就是speed参数;

speed参数在这个场景有两种模式:

a、 channel模式:是并行的一个设置,设置并行切分任务数;

b、 bytes模式:限制单个任务速度上线;

而目前是由于速度根本上不去,并且测试了bytes以后根本不起作用,所以依旧选择使用channel;

对于数据writeMode写入模式,由于数据准备已经确定没有问题,没有必要进行导入校验,可以选择导入以后校验,故而用insert ignore替换了replace,并且添加了batchsize的缓冲大小再次进行测试

0fe79f6f0bab996b31ec2a403dbb23605aef1df2

如下为修改后的json文件模式;


f7c9a6157a14f3705d3f4ba98929ace94e06fb76

再次测试的结果如下:

89a56a40a58ce386c18b3501303f3a753d56f50b

速度从原来的200k提升到了1.7M,满足客户需求;

然后针对目前的情况略作微调进行压测如下:

340936ec0ea2fb6896197003d7b50a069f6e0cff

问题解决及建议

1、调整写入引擎从mysqlwriter到drdswriter引擎,避免夸库事务的存在;

2、调整writeMode写入模式从replace为insert ignore选择不进行数据检查模块,并增加batchsize参数,速度提升满足客户需求;

3、在此基础上进行微调,添加数据源参数及调整channel及batchsize等,得到最后参数设置及速度情况;


相关实践学习
跟我学:如何一键安装部署 PolarDB-X
《PolarDB-X 动手实践》系列第一期,体验如何一键安装部署 PolarDB-X。
目录
相关文章
|
2月前
|
Java 数据处理 调度
Dataphin常见问题之离线管道同步数据datax就报连接超时如何解决
Dataphin是阿里云提供的一站式数据处理服务,旨在帮助企业构建一体化的智能数据处理平台。Dataphin整合了数据建模、数据处理、数据开发、数据服务等多个功能,支持企业更高效地进行数据治理和分析。
|
2月前
|
DataWorks 安全 关系型数据库
DataWorks常见问题之使用公共数据集成资源组进行同步失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
5月前
|
SQL 分布式计算 Oracle
数据同步工具DataX的安装
数据同步工具DataX的安装
470 0
|
5月前
|
存储 关系型数据库 MySQL
DataX: 阿里开源的又一款高效数据同步工具
DataX 是由阿里巴巴集团开源的一款大数据同步工具,旨在解决不同数据存储之间的数据迁移、同步和实时交换的问题。它支持多种数据源和数据存储系统,包括关系型数据库、NoSQL 数据库、Hadoop 等。 DataX 提供了丰富的数据读写插件,可以轻松地将数据从一个数据源抽取出来,并将其加载到另一个数据存储中。它还提供了灵活的配置选项和高度可扩展的架构,以适应各种复杂的数据同步需求。
|
10天前
|
分布式计算 DataWorks 数据库
DataWorks操作报错合集之DataWorks使用数据集成整库全增量同步oceanbase数据到odps的时候,遇到报错,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
22 0
|
10天前
|
DataWorks 安全 关系型数据库
DataWorks产品使用合集之在 DataWorks 中使用数据集成从 MySQL 导入数据到 GDB 执行同步任务脚本的步骤如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
21 0
|
10天前
|
分布式计算 DataWorks 关系型数据库
DataWorks产品使用合集之在使用 DataWorks 数据集成同步 PostgreSQL 数据库中的 Geometry 类型数据如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
23 0
|
10天前
|
分布式计算 DataWorks 安全
DataWorks产品使用合集之DataWorks 数据集成在同步任务中实现数据转换如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
23 1
|
27天前
|
存储 分布式计算 NoSQL
DataX深度剖析:解读数据传输工具的设计理念与架构特点
DataX深度剖析:解读数据传输工具的设计理念与架构特点
42 5
DataX深度剖析:解读数据传输工具的设计理念与架构特点
|
6月前
|
Java DataX Docker
arm 64 环境利用 docker 编译 datax 工具
arm 64 环境利用 docker 编译 datax 工具
103 0