一、同步性能测试
1、测试环境信息
kettle:版本8.2,carte独立部署,内存参数-Xms1024m -Xmx4096m
mysql数据库:8核CPU,CPU主频2.20GHz,16G内存,版本号5.7.25
大数据环境采用CDH,包含HDFS、hive等组件
CDH集群服务器(共4台):8核CPU,CPU主频2.20GHz,16G内存,CDH版本5.14.4
2、性能测试结果
全量同步
3000万xxx_log表数据,14个字段,从MySQL数据库同步导入hive仓库,第一次同步耗时290秒,平均10.34万条/秒
第二次同步耗时186秒,平均16.13万条/秒,472天数据按天动态分区,加载到hive分区表耗时179秒
增量同步
3000万xxx_log表历史数据,14个字段,每天100万增量数据,从MySQL数据库按天增量同步到hive仓库,按天静态分区,同步耗时8.689秒,平均11.51万条/秒,加载到hive分区表耗时1.142秒(与同步并行执行),总耗时8.689秒
二、性能优化点
1、不能直接将MySQL数据库查询出来的数据写入hive仓库,需要先导出到HDFS文件,再通过hive的load命令导入hive仓库。因为hive数据仓库插入数据很慢,插入1条数据可能要10来秒钟;而通过load方式加载HDFS数据文件的方式导入数据,数据量即使有几千万条也只要几百毫秒时间。
2、导出到HDFS文件,字段要选择最小宽度,可以提升几倍性能。因为默认未选择最小宽度,从MySQL中导出的数据存到HDFS文件时每个字段可能会填充空格值使字段长度达到

本文详细记录了使用Kettle v8.2在CDH集群环境下进行MySQL至Hive的大数据同步测试,包括全量及增量同步的性能表现,并提出多项优化策略,如通过HDFS文件导入提升效率、字段最小宽度选择、动态分区优化等。
最低0.47元/天 解锁文章
943

被折叠的 条评论
为什么被折叠?



