sqoop系列-增量优化 fecth-size填坑记

原因描述

用户表6月3、8、9号 在核心项目启动前导入未就绪
导入明显比平时长
在这里插入图片描述

3号出现超时是排查发现该表为全量导入,当时联系业务开发添加增量字段索引,业务开发答复10号左右上线新版本添加,9号添加了version索引,9号添加索引后将导入改为增量导入,

这里有个坑,以前正常情况下增量的字段id自增或者修改时间戳,但是version时段是一个bigint类型的时间戳并不是timestamp,使用lastmodify 方式无法增量,只能使用 append 方式,配置如图
在这里插入图片描述

验证配置无问题,但是导入耗时还是很久 83min。

优化分析

sqoop 导入底层用的是 jdbc 优化参考 fetch-size https://blog.csdn.net/bisal/article/details/82735614
添加 --fetch-size 10000 报错

解决方案

在链接url加入

dontTrackOpenResources=true&defaultFetchSize=10000&useCursorFetch=true

参见
http://www.hadooptechs.com/sqoop/handling-database-fetch-size-in-sqoop

备注

使用 Arthas(阿尔萨斯) 排查发现,jdbc next 暂用 95% 的cpu ,
推荐好工具地址 https://alibaba.github.io/arthas/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章