人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

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

發(fā)布日期:2022-02-21 13:07 | 文章來源:CSDN

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

解決方法:

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

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

1.sqoop導入到HDFS

1.1執(zhí)行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 參數(shù)是必須的,要不然第二次運行job 會報錯,如下:

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

2.Hive創(chuàng)建表,并讀取sqoop導入的數(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 小于當前系統(tǒng)時間(即上一個job的last-value),則數(shù)據(jù)將不被加載。

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

總結(jié):

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

1.注意--append的使用;

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

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

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

美國服務(wù)器租用

版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部