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/

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