国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

hive從mysql導入數據量變多的解決方案

瀏覽:3日期:2023-10-07 10:55:28

原始導數命令:

bin/sqoop import -connect jdbc:mysql://192.168.169.128:3306/yubei -username root -password 123456 -table yl_city_mgr_evt_info --split-by rec_id -m 4 --fields-terminated-by 't' --lines-terminated-by 'n' --hive-import --hive-overwrite -create-hive-table -delete-target-dir -hive-database default -hive-table yl_city_mgr_evt_info

原因分析:可能是mysql中字段里面有’n’等分隔符,導入hive時默認以’n’作換行符,導致hive中的記錄數變多。

解決方法:

導入數據時加上--hive-drop-import-delims選項,會刪除字段中的n,r,01。

最終導數命令:

bin/sqoop import -connect jdbc:mysql://192.168.169.128:3306/yubei -username root -password 123456 -table yl_city_mgr_evt_info --split-by rec_id -m 4 --hive-drop-import-delims --fields-terminated-by 't' --lines-terminated-by 'n' --hive-import --hive-overwrite -create-hive-table -delete-target-dir -hive-database default -hive-table yl_city_mgr_evt_info

參考官方文檔:https://sqoop.apache.org/docs/1.4.7/SqoopUserGuide.html

補充:Sqoop導入MySQL數據到Hive遇到的坑

1.sqoop導入到HDFS

1.1執行sqoop job,會自動更新last value

# sqoop 增量導入腳本bin/sqoop job --create sqoop_hdfs_test02 -- import --connect jdbc:mysql://localhost:3306/pactera_test --username root --password 123456 --table student --target-dir /user/sqoop/test002/ --fields-terminated-by 't' --check-column last_modified --incremental lastmodified --last-value '2018-12-12 00:03:00' --append

說明:--append 參數是必須的,要不然第二次運行job 會報錯,如下:

hive從mysql導入數據量變多的解決方案

至此,sqoop job 已建設完畢!

2.Hive創建表,并讀取sqoop導入的數據

create external table if not exists student_hive (SId int,Sname string ,Sage string,Ssex string , last_modified Timestamp) row format delimited fields terminated by ’t’ location ’hdfs://node01:8020/user/sqoop/test002/’;

注意:此處hive中時間的格式為timestamp,設置為date DB數據無法正常加載。

第一次全量加載,整條路線完全OK,hive表可以查詢到數據。

-----------------------重點分割線-----------------------

* sqoop lastmodified格式的增量加載,會將last-value 保存為job執行的系統時間,若測試數據庫的check-column 小于當前系統時間(即上一個job的last-value),則數據將不被加載。

hive從mysql導入數據量變多的解決方案

如SId=6 就沒有被加載,遂改為今日時間(2018-12-26 17:05)進行數據測試,數據成功被加載!喲呵!!

總結:

使用lastmodified格式,進行sqoop增量導入時,

1.注意--append的使用;

2.last-value為job運行的系統時間,在數據測試時,要保證數據的準確,數據的自增長。

3.一切皆有定數,查看資料,準確定位自己系統遇到的問題

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 狠狠色丁香久久综合网 | 老少配性xxxxxx | 精品一区二区三区视频在线观看免 | 国产伦码精品一区二区 | 久草久草视频 | 精品免费国产一区二区三区 | 91精品久久国产青草 | 亚洲免费人成在线视频观看 | 国产高清在线精品免费 | 韩国毛片免费看 | 欧美一级毛片在线播放 | 欧美另类 videos黑人极品 | 免费播放国产性色生活片 | 欧美色视频在线观看 | 免费看欧美xxx片 | 国产三级日本三级日产三级66 | 国产一级做a爱片久久毛片a | 久久精品国产国产 | 国产精品久久免费视频 | aa毛片免费全部播放完整 | 激情6月丁香婷婷色综合 | 美女脱了内裤张开腿让男人桶网站 | 国产成人综合一区精品 | 国产三级香港三韩国三级 | 一本一道久久 | 久久99国产精品久久欧美 | 久久久国产亚洲精品 | 5388国产亚洲欧美在线观看 | 永久免费看毛片 | 欧美一级毛片欧美大尺度一级毛片 | 国内视频一区二区 | 美女免费黄网站 | 女人张开腿让男人捅的视频 | 亚洲日本欧美产综合在线 | 日本又黄又爽又免费 | 日韩欧美一级毛片在线 | 亚洲成a人一区二区三区 | 手机在线观看一级午夜片 | 91免费看视频| 久久在线精品 | 久久99亚洲网美利坚合众国 |