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

简介:

问题描述

在客户现场运维过程中,使用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等,得到最后参数设置及速度情况;


目录
相关文章
|
分布式计算 DataWorks 关系型数据库
MaxCompute 生态系统中的数据集成工具
【8月更文第31天】在大数据时代,数据集成对于构建高效的数据处理流水线至关重要。阿里云的 MaxCompute 是一个用于处理大规模数据集的服务平台,它提供了强大的计算能力和丰富的生态系统工具来帮助用户管理和处理数据。本文将详细介绍如何使用 DataWorks 这样的工具将 MaxCompute 整合到整个数据处理流程中,以便更有效地管理数据生命周期。
414 0
|
9月前
|
JSON 分布式计算 DataX
【YashanDB知识库】使用DataX工具迁移yashan数据到maxcompute
本文介绍使用崖山适配的DataX工具进行数据库迁移的方法,包括单表迁移和批量表迁移。单表迁移需配置json文件并执行同步命令;批量迁移则通过脚本自动化生成json配置文件并完成数据迁移,最后提供数据比对功能验证迁移结果。具体步骤涵盖连接信息配置、表清单获取、json文件生成、数据迁移执行及日志记录,确保数据一致性。相关工具和脚本简化了复杂迁移过程,提升效率。
|
9月前
|
DataWorks 关系型数据库 Serverless
DataWorks数据集成同步至Hologres能力介绍
本文由DataWorks PD王喆分享,介绍DataWorks数据集成同步至Hologres的能力。DataWorks提供低成本、高效率的全场景数据同步方案,支持离线与实时同步。通过Serverless资源组,实现灵活付费与动态扩缩容,提升隔离性和安全性。文章还详细演示了MySQL和ClickHouse整库同步至Hologres的过程。
|
11月前
|
DataWorks 关系型数据库 Serverless
DataWorks数据集成同步至Hologres能力介绍
本次分享的主题是DataWorks数据集成同步至Hologres能力,由计算平台的产品经理喆别(王喆)分享。介绍DataWorks将数据集成并同步到Hologres的能力。DataWorks数据集成是一款低成本、高效率、全场景覆盖的产品。当我们面向数据库级别,向Hologres进行同步时,能够实现简单且快速的同步设置。目前仅需配置一个任务,就能迅速地将一个数据库实例内的所有库表一并传输到Hologres中。
268 12
|
存储 SQL Cloud Native
揭秘!PolarDB-X存储引擎如何玩转“时间魔术”?Lizard多级闪回技术让你秒回数据“黄金时代”!
【8月更文挑战第25天】PolarDB-X是一款由阿里巴巴自主研发的云原生分布式数据库,以其高性能、高可用性和出色的可扩展性著称。其核心竞争力之一是Lizard存储引擎的多级闪回技术,能够提供高效的数据恢复与问题诊断能力。本文通过一个电商公司的案例展示了一级与二级闪回技术如何帮助快速恢复误删的大量订单数据,确保业务连续性不受影响。一级闪回通过维护最近时间段内历史数据版本链,支持任意时间点查询;而二级闪回则通过扩展数据保留时间并采用成本更低的存储方式,进一步增强了数据保护能力。多级闪回技术的应用显著提高了数据库的可靠性和灵活性,为企业数据安全保驾护航。
239 1
|
DataWorks Java 调度
DataWorks产品使用合集之进行离线同步时,如何使用DataX的Reader插件来实现源端过滤
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
230 0
DataWorks产品使用合集之进行离线同步时,如何使用DataX的Reader插件来实现源端过滤
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之如何解决datax同步任务时报错ODPS-0410042:Invalid signature value
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
关系型数据库 MySQL 大数据
DataX:数据同步的超音速英雄!阿里开源工具带你飞越数据传输的银河系,告别等待和故障的恐惧!快来见证这一数据工程的奇迹!
【8月更文挑战第13天】DataX是由阿里巴巴开源的一款专为大规模数据同步设计的工具,在数据工程领域展现强大竞争力。它采用插件化架构,支持多种数据源间的高效迁移。相较于Apache Sqoop和Flume,DataX通过并发写入和流处理实现了高性能同步,并简化了配置流程。DataX还支持故障恢复,能够在同步中断后继续执行,节省时间和资源。这些特性使其成为构建高效可靠数据同步方案的理想选择。
969 2
|
分布式计算 DataWorks 调度
DataWorks产品使用合集之在使用MaxCompute进行数据集成同步到OSS时,出现表名和OSS文件名不一致且多了后缀,该如何处理
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
数据库 Windows
超详细步骤解析:从零开始,手把手教你使用 Visual Studio 打造你的第一个 Windows Forms 应用程序,菜鸟也能轻松上手的编程入门指南来了!
【8月更文挑战第31天】创建你的第一个Windows Forms (WinForms) 应用程序是一个激动人心的过程,尤其适合编程新手。本指南将带你逐步完成一个简单WinForms 应用的开发。首先,在Visual Studio 中创建一个“Windows Forms App (.NET)”项目,命名为“我的第一个WinForms 应用”。接着,在空白窗体中添加一个按钮和一个标签控件,并设置按钮文本为“点击我”。然后,为按钮添加点击事件处理程序`button1_Click`,实现点击按钮后更新标签文本为“你好,你刚刚点击了按钮!”。
1467 0

热门文章

最新文章