14.Hadoop:用sqoop進(jìn)行Mysql到Hbase和Hive的導(dǎo)出

本節(jié)主要內(nèi)容:

用sqoop進(jìn)行Mysql到Hbase和Hive的導(dǎo)出

一抵赢、準(zhǔn)備數(shù)據(jù)

數(shù)據(jù)準(zhǔn)備(Node3節(jié)點)

在mysql中建立sqoop_test庫

? ? ? ?# mysql -uroot -p123456

mysql> create database sqoop_test;

Query OK, 1 row affected (0.00 sec)

在sqoop_test里面建立一個表?

mysql> use sqoop_test;

Database changed

mysql> CREATE TABLE `student_sqoop` (? ?

? ? ->? `id` int(11) NOT NULL,? ?

? ? ->? `name` varchar(20) NOT NULL,? ?

? ? ->? PRIMARY KEY (`id`)? ?

? ? -> ) ENGINE=MyISAM? DEFAULT CHARSET=utf8;?

Query OK, 0 rows affected (0.04 sec)

插入數(shù)據(jù)

mysql> insert into student_sqoop (id,name) values (1,'michael');?

mysql> insert into student_sqoop (id,name) values (2,'ted');

mysql> insert into student_sqoop (id,name) values (3,'jack');

二颠放、Hbase準(zhǔn)備表(Node1節(jié)點)

? ? ? ?# hbase shell

hbase(main):001:0> list

TABLE? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

student? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

1 row(s) in 0.5040 seconds

=> ["student"]

hbase(main):002:0> create 'student_sqoop','info'

0 row(s) in 2.5410 seconds

=> Hbase::Table - student_sqoop

hbase(main):003:0> list

TABLE

student

student_sqoop

2 row(s) in 0.0130 seconds

=> ["student", "student_sqoop"]

三耘斩、從mysql導(dǎo)入到Hbase(Node1節(jié)點)

? ? ? ?#sudo -u hdfs sqoop import --connect jdbc:mysql://node3.hadoop.com/sqoop_test --username root --password 123456 --table student_sqoop --hbase-table student_sqoop --column-family info --hbase-row-key id -m 1

查看結(jié)果

hbase(main):004:0> scan 'student_sqoop'

ROW? ? ? ? ? ? ? ? ? ? ? ? COLUMN+CELL? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

1? ? ? ? ? ? ? ? ? ? ? ? column=info:name, timestamp=1556038438897, value=michael? ? ? ? ? ? ? ? ? ?

2? ? ? ? ? ? ? ? ? ? ? ? column=info:name, timestamp=1556038438897, value=ted? ? ? ? ? ? ? ? ? ? ? ?

3? ? ? ? ? ? ? ? ? ? ? ? column=info:name, timestamp=1556038438897, value=jack? ? ? ? ? ? ? ? ? ? ?

3 row(s) in 0.3280 seconds

四碉京、從mysql導(dǎo)入hive內(nèi)部表(Node1節(jié)點)

sqoop需要一個hive的包烛缔,將hive/lib中的hive-common-2.3.3.jar拷貝到sqoop的lib目錄中

? ? ? ?# cp /usr/lib/hive/lib/hive-common-1.1.0-cdh5.16.2.jar /usr/lib/sqoop/lib/

hadoop需要hive的包

? ? ? ?# cd /usr/lib/hive/lib

? ? ? ?# cp hive-shims*.jar /usr/lib/hadoop/lib/

? ? ? ?# sqoop import --connect jdbc:mysql://node3.hadoop.com/sqoop_test --username root --password 123456 --table student_sqoop --hive-import --hive-table hive_student --create-hive-table

hive> select * from hive_student;

OK

1 michael

2 ted

3 jack

Time taken: 0.238 seconds, Fetched: 3 row(s)

五荧库、mysql導(dǎo)入到hive分區(qū)表

1.創(chuàng)建數(shù)據(jù)庫(Node3節(jié)點)

mysql> CREATE TABLE `people` (

? ? ->? `id` int(11) NOT NULL,

? ? ->? `name` varchar(20) NOT NULL,

? ? ->? `year` varchar(10),

? ? ->? `month` varchar(10),

? ? ->? `day` varchar(10),

? ? ->? PRIMARY KEY (`id`)? ?

? ? ->) ENGINE=MyISAM? DEFAULT CHARSET=utf8;

2.插入數(shù)據(jù)(Node3節(jié)點)

mysql> insert into people values (1,'jack','2015','01','02');

mysql> insert into people values (2,'ted','2015','01','02');

mysql> insert into people values (3,'billy','2015','01','02');

mysql> insert into people values (4,'sara','2015','01','03');

3.導(dǎo)入數(shù)據(jù)(Node1節(jié)點)

? ? ? ?# sqoop import --connect jdbc:mysql://node3.hadoop.com/sqoop_test --username root --password 123456 --query 'select id,name from people where year="2015"? AND $CONDITIONS'? --direct -m 2 --split-by id --hive-import --create-hive-table --hive-table hive_people --target-dir /user/hive_people --hive-partition-key year --hive-partition-value '2015'

--query 寫你要查詢的sql汁果,

AND $CONDITIONS 這句話不能省,是給sqoop用的疼电,

--split-by 寫主鍵嚼锄,

--hive-partition-key定義分區(qū)表的鍵,

--hive-partion-value定義分區(qū)表的值蔽豺。

hive> select * from hive_people;

OK

1 jack 2015

2 ted 2015

3 billy 2015

4 sara 2015

Time taken: 0.439 seconds, Fetched: 4 row(s)

? ? ? ?# sudo -u hdfs hadoop fs -ls /user/hive/warehouse/hive_people

Found 1 items

drwxrwxrwt? - root supergroup? ? ? ? ? 0 2020-07-05 18:05 /user/hive/warehouse/hive_people/year=2015

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末区丑,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子茫虽,更是在濱河造成了極大的恐慌刊苍,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件濒析,死亡現(xiàn)場離奇詭異正什,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)号杏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進(jìn)店門婴氮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人盾致,你說我怎么就攤上這事主经。” “怎么了庭惜?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵罩驻,是天一觀的道長。 經(jīng)常有香客問我护赊,道長惠遏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任骏啰,我火速辦了婚禮节吮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘判耕。我一直安慰自己透绩,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布壁熄。 她就那樣靜靜地躺著帚豪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪草丧。 梳的紋絲不亂的頭發(fā)上志鞍,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天,我揣著相機(jī)與錄音方仿,去河邊找鬼固棚。 笑死统翩,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的此洲。 我是一名探鬼主播厂汗,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼呜师!你這毒婦竟也來了娶桦?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤汁汗,失蹤者是張志新(化名)和其女友劉穎衷畦,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體知牌,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡祈争,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了角寸。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片菩混。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖扁藕,靈堂內(nèi)的尸體忽然破棺而出沮峡,到底是詐尸還是另有隱情,我是刑警寧澤亿柑,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布邢疙,位于F島的核電站,受9級特大地震影響望薄,放射性物質(zhì)發(fā)生泄漏疟游。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一式矫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧役耕,春花似錦采转、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至框全,卻和暖如春察绷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背津辩。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工拆撼, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留容劳,地道東北人。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓闸度,卻偏偏與公主長得像竭贩,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子莺禁,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,960評論 2 355