最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2021年01月01日 08:49:01   作者:京東  
這篇文章主要介紹了hive從mysql導(dǎo)入數(shù)據(jù)量變多的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

解決方法:

導(dǎo)入數(shù)據(jù)時(shí)加上--hive-drop-import-delims選項(xiàng),會(huì)刪除字段中的\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

補(bǔ)充:Sqoop導(dǎo)入MySQL數(shù)據(jù)到Hive遇到的坑

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

1.1執(zhí)行sqoop job,會(huì)自動(dòng)更新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ù)是必須的,要不然第二次運(yùn)行job 會(huì)報(bào)錯(cuò),如下:

至此,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中時(shí)間的格式為timestamp,設(shè)置為date DB數(shù)據(jù)無法正常加載。

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

-----------------------重點(diǎn)分割線-----------------------

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

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

總結(jié):

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

1.注意--append的使用;

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

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

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

相關(guān)文章

  • linux安裝兩個(gè)mysql(8.0和5.7),并同時(shí)使用方式

    linux安裝兩個(gè)mysql(8.0和5.7),并同時(shí)使用方式

    這篇文章主要介紹了如何在CentOS?7上下載和安裝MySQL?8.0和MySQL?5.7.30,并詳細(xì)描述了安裝步驟,包括解壓、配置、初始化和啟動(dòng)等過程
    2024-12-12
  • mysql優(yōu)化小技巧之去除重復(fù)項(xiàng)實(shí)現(xiàn)方法分析【百萬級(jí)數(shù)據(jù)】

    mysql優(yōu)化小技巧之去除重復(fù)項(xiàng)實(shí)現(xiàn)方法分析【百萬級(jí)數(shù)據(jù)】

    這篇文章主要介紹了mysql優(yōu)化小技巧之去除重復(fù)項(xiàng)實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了mysql去除重復(fù)項(xiàng)的方法,并附帶了隨機(jī)查詢優(yōu)化的相關(guān)操作技巧,需要的朋友可以參考下
    2020-01-01
  • MySQL延遲關(guān)聯(lián)性能優(yōu)化方法

    MySQL延遲關(guān)聯(lián)性能優(yōu)化方法

    這篇文章主要介紹了MySQL延遲關(guān)聯(lián)性能優(yōu)化方法,本文講解了延遲關(guān)聯(lián)的背景、延遲關(guān)聯(lián)的分析、延遲關(guān)聯(lián)的解決等內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • MySQL之存儲(chǔ)引擎使用及說明

    MySQL之存儲(chǔ)引擎使用及說明

    這篇文章主要介紹了MySQL之存儲(chǔ)引擎使用及說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 最新評論

    博湖县| 十堰市| 保定市| 东台市| 龙川县| 突泉县| 井陉县| 林周县| 杨浦区| 商城县| 高州市| 桂东县| 泽库县| 商城县| 灌云县| 江门市| 英德市| 兴城市| 东城区| 三河市| 漳州市| 武山县| 兰西县| 瓮安县| 广东省| 开封市| 剑川县| 邓州市| 阿克| 资兴市| 电白县| 绩溪县| 抚远县| 白山市| 昌黎县| 西青区| 融水| 内丘县| 津市市| 平陆县| 佛山市|