使用sqoop import從mysql往hive含分區(qū)表中導入數(shù)據(jù)的一些注意事項

先看下面這條語句,它實現(xiàn)的功能是將特定日期的數(shù)據(jù)從mysql表中直接導入hive

$ sqoop import \
--connect jdbc:mysql://192.168.xx.xx:3306/db_name?useSSL=false \
--username xxx --password xxxxxx  \
--query "select d.id, d.callsign, d.sobt from t_flight_baseinfo d where d.id is not null and d.sobt >= '2020-12-27' and \$CONDITIONS" \
--target-dir /user/hive/warehouse/datapros.db/t_flight_baseinfo/dt=2020-12-27 \
--delete-target-dir   --fields-terminated-by '\t'  --split-by d.id \
--hive-import   --hive-overwrite  --m 2 --direct \
--hive-database datapros --hive-table t_flight_baseinfo \
--hive-partition-key dt --hive-partition-value 2020-12-27 

以下對命令中的參數(shù)作簡單說明:

--connect /--username / --password

很明顯洒忧,這是mysql數(shù)據(jù)庫的連接字符串

--query

這是選取數(shù)據(jù)的查詢語句匆赃。這里需要注意的是:

  • 每條查詢語句必須要添加where條件猿推;
  • 末尾還要加上'$CONDITIONS'這個占位符;
  • 當使用雙引號包裹住這個查詢語句時介衔,'$CONDITIONS'前要加上轉義符變?yōu)?\$CONDITIONS'址貌,而如果使用單引號來包裹删壮,就不用加轉義符贪绘!

--target-dir

mysql數(shù)據(jù)導入HDFS后的目標路徑(也即hive表的“數(shù)據(jù)文件”地址)

--delete-target-dir

導入前是否先刪除target-dir中定義的目錄(如果存在的話)
說明:這個參數(shù)比較重要!一般情況下央碟,同一條導入語句税灌,第一次執(zhí)行時,要不要這個參數(shù)沒有關系亿虽,但如果是多次執(zhí)行同一條導入語句菱涤,而又沒有提前手工刪除目標目錄時,就出出現(xiàn)“Output directory hdfs://hadoop:9820/somepath/${target_dir} already exists”洛勉,因此粘秆,這個參數(shù)一定要加上

--direct

使用直接導入模式,可以提高導入速度

--m 2

指定并行執(zhí)行導入數(shù)據(jù)任務的map進程個數(shù)

--hive-database / --hive-table t_flight_baseinfo

指定導入到hive中的目標數(shù)據(jù)庫與數(shù)據(jù)表名稱

--hive-partition-key / --hive-partition-value

指定hive數(shù)據(jù)表的分區(qū)信息

--hive-overwrite

指定hive中的目標表可以被多次覆蓋寫入

--hive-import / --create-hive-table

1收毫、create-hive-table:在hive中創(chuàng)建目標表(不管它是不是已經(jīng)存在)攻走,如果目標表已經(jīng)存在,就會給出“AlreadyExistsException(message:Table XXX already exists”出錯信息此再;
2昔搂、hive-import : hive-import在執(zhí)行時,會自動生成一個建表的sql語句输拇,當hive中不存在表時摘符,它即自動創(chuàng)建目標表與存儲目錄,然后再導入數(shù)據(jù)策吠;

mysql往hive帶分區(qū)表中導入實踐

1议慰、在實踐中發(fā)現(xiàn),當需要創(chuàng)建帶分區(qū)的表時奴曙,如果使用--create-hive-table參數(shù),則每次都會提示表已存在錯誤(這個表確實是存在)草讶;不過洽糟,這個錯誤提示不影響命令的正確執(zhí)行;
2、但是坤溃,如果不帶上這個參數(shù)拍霜,如果之前這個分區(qū)已存在 ,則會出現(xiàn)在hive表中能查到這個分區(qū)薪介,但是它實際的存儲目錄已經(jīng)被刪除(delete-target-dir參數(shù)的效果)祠饺, hive-import會認為此分區(qū)已存在,就停止從mysql中往hdfs中導入數(shù)據(jù)汁政,最后提示導入的數(shù)據(jù)numFiles=0道偷,相當于分區(qū)表被清空;
3记劈、如果不想每次都看到表已存在的錯誤提示勺鸦,可以在執(zhí)行導入命令之前,先執(zhí)行一下 hive -e "alter table db_name.tb_name drop partition(partition_key='partition_value');"),先刪除這個分區(qū)目木,這樣hive-import就會創(chuàng)建hive表分區(qū)與重建存儲目錄换途。當然,這時候就不用加--create-hive-table參數(shù)了刽射。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末军拟,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子誓禁,更是在濱河造成了極大的恐慌懈息,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件现横,死亡現(xiàn)場離奇詭異漓拾,居然都是意外死亡,警方通過查閱死者的電腦和手機戒祠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門骇两,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人姜盈,你說我怎么就攤上這事低千。” “怎么了馏颂?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵示血,是天一觀的道長。 經(jīng)常有香客問我救拉,道長难审,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任亿絮,我火速辦了婚禮告喊,結果婚禮上麸拄,老公的妹妹穿的比我還像新娘。我一直安慰自己黔姜,他們只是感情好拢切,可當我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著秆吵,像睡著了一般淮椰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上纳寂,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天主穗,我揣著相機與錄音,去河邊找鬼烈疚。 笑死黔牵,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的爷肝。 我是一名探鬼主播猾浦,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼灯抛!你這毒婦竟也來了金赦?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤对嚼,失蹤者是張志新(化名)和其女友劉穎夹抗,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纵竖,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡漠烧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了靡砌。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片已脓。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖通殃,靈堂內(nèi)的尸體忽然破棺而出度液,到底是詐尸還是另有隱情,我是刑警寧澤画舌,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布堕担,位于F島的核電站,受9級特大地震影響曲聂,放射性物質發(fā)生泄漏霹购。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一朋腋、第九天 我趴在偏房一處隱蔽的房頂上張望厕鹃。 院中可真熱鬧兢仰,春花似錦、人聲如沸剂碴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽忆矛。三九已至,卻和暖如春请垛,著一層夾襖步出監(jiān)牢的瞬間催训,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工宗收, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留漫拭,地道東北人。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓混稽,卻偏偏與公主長得像采驻,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子匈勋,可洞房花燭夜當晚...
    茶點故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容