亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

hive從mysql導(dǎo)入數(shù)據(jù)量變多的解決方案

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

原始導(dǎo)數(shù)命令:

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’等分隔符,導(dǎo)入hive時默認(rèn)以’n’作換行符,導(dǎo)致hive中的記錄數(shù)變多。

解決方法:

導(dǎo)入數(shù)據(jù)時加上--hive-drop-import-delims選項,會刪除字段中的n,r,01。

最終導(dǎo)數(shù)命令:

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導(dǎo)入MySQL數(shù)據(jù)到Hive遇到的坑

1.sqoop導(dǎo)入到HDFS

1.1執(zhí)行sqoop job,會自動更新last value

# sqoop 增量導(dǎo)入腳本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 參數(shù)是必須的,要不然第二次運行job 會報錯,如下:

hive從mysql導(dǎo)入數(shù)據(jù)量變多的解決方案

至此,sqoop job 已建設(shè)完畢!

2.Hive創(chuàng)建表,并讀取sqoop導(dǎo)入的數(shù)據(jù)

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,設(shè)置為date DB數(shù)據(jù)無法正常加載。

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

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

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

hive從mysql導(dǎo)入數(shù)據(jù)量變多的解決方案

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

總結(jié):

使用lastmodified格式,進(jìn)行sqoop增量導(dǎo)入時,

1.注意--append的使用;

2.last-value為job運行的系統(tǒng)時間,在數(shù)據(jù)測試時,要保證數(shù)據(jù)的準(zhǔn)確,數(shù)據(jù)的自增長。

3.一切皆有定數(shù),查看資料,準(zhǔn)確定位自己系統(tǒng)遇到的問題

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

標(biāo)簽: MySQL 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 国产福利在线观看精品 | 色永久| 国产在线拍揄自揄拍视频 | 国产精品久久久久久久久久久威 | 日本一区二区在线不卡 | 国产啪精品视频网免费 | 亚洲精品中文字幕乱码一区二区 | 亚洲精品视频在线观看免费 | 亚洲视频在线观看网站 | 欧美日韩国产在线人 | 日韩精品亚洲人成在线播放 | 欧美特黄视频在线观看 | 欧美精品aaa久久久影院 | 日本成人片网站 | 久草资源站在线 | 黄色成人在线观看 | 国产精品偷伦视频免费观看的 | 亚洲欧美日韩在线中文一 | 日本一级爽毛片在线看 | 国产高清在线a视频大全凹凸 | 国产日产欧美精品一区二区三区 | 日本免费特黄aa毛片 | 麻豆精品密在线观看 | 国产精品色片 | 97视频在线| 欧美成人三级一区二区在线观看 | 天堂激情网 | 国产色在线 | 亚洲 国产色在线com | 性插网站 | 精品在线第一页 | 亚洲国产麻豆 | 国产乱色| 一级美女黄色片 | 在线看亚洲 | 亚洲图色视频 | 成人偷拍自拍 | 海天翼精品一区二区三区 | 久久免费精品一区二区 | 午夜精品同性女女 | 国产亚洲精品成人a在线 | 日韩在线不卡 |