玩兒數(shù)據(jù) - Sqoop (RDBMS To Hadoop 操作紀(jì)實(shí))

本文中的Sqoop使用v1.4.6版本
Sqoop官方檔:http://sqoop.apache.org/docs/1.4.6/SqoopUserGuide.html

Sqoop是一個(gè)數(shù)據(jù)同步工具,是apache基金會(huì)的頂級(jí)項(xiàng)目。
Sqoop可以實(shí)現(xiàn)數(shù)據(jù)在RDBMS和Hadoop的導(dǎo)入導(dǎo)出
Sqoop可以通過(guò)簡(jiǎn)單的配置實(shí)現(xiàn)同步功能,免去開發(fā)煩惱

本文參照Sqoop官方文檔指導(dǎo)完成宋距,由于Sqoop體量并不是很大并且配置相對(duì)比較簡(jiǎn)單,所以官方文檔也是很好看懂的琴锭,建議大家看一下叫乌。感謝A大給我們提供的優(yōu)秀開源組件 :)

Sqoop Logo
Sqoop

Sqoop基礎(chǔ)用法 Doc

使用方法: sqoop COMMAND [ARGS]
  可用命令:
    codegen            生成Sqoop操作數(shù)據(jù)功能的代碼娇未,Sqoop根據(jù)用戶指定的配置信息生成對(duì)應(yīng)的Java代碼责静,再使用腳本調(diào)用代碼實(shí)現(xiàn)同步功能
    create-hive-table  導(dǎo)入表數(shù)據(jù)到Hive
    eval               評(píng)估測(cè)試SQL語(yǔ)句并顯示執(zhí)行結(jié)果袁滥,可以是RDBMS的Sql或Hql
    export             導(dǎo)出HDFS中的文件或目錄到RDBMS
    help               顯示可用命令幫助信息
    import             導(dǎo)入表或數(shù)據(jù)庫(kù)到HDFS
    import-all-tables  導(dǎo)入指定數(shù)據(jù)庫(kù)所有表到HDFS
    job                將配置保存為Sqoop任務(wù),通過(guò)job命令可方便控制
    list-databases     列出某主機(jī)的所有可用數(shù)據(jù)庫(kù)
    list-tables        列出某數(shù)據(jù)庫(kù)的所有可用表
    version            顯示版本信息

Sqoop導(dǎo)入Mysql數(shù)據(jù)到HDFS Doc

  1. 在mysql中創(chuàng)建測(cè)試數(shù)據(jù)
DROP DATABASE IF EXISTS sqoop_import_test;
CREATE DATABASE sqoop_import_test DEFAULT CHARSET=utf8;
USE sqoop_import_test;
SET FOREIGN_KEY_CHECKS=0;
DROP TABLE IF EXISTS `emp_test`;
CREATE TABLE `emp_test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `emp_name` varchar(255) DEFAULT NULL,
  `emp_age` int(3) DEFAULT NULL,
  `last_login_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
INSERT INTO `emp_test` VALUES ('1', '簡(jiǎn)書', '1', '2017-06-09 14:36:54');
INSERT INTO `emp_test` VALUES ('2', '印象筆記', '2', '2017-06-09 14:37:14');
INSERT INTO `emp_test` VALUES ('3', 'OneNote', '3', '2017-06-09 14:37:31');
INSERT INTO `emp_test` VALUES ('4', '有道云筆記', '4', '2017-06-09 14:37:47');
  1. 將Mysql JDBC使用的jar包添加到Sqoop庫(kù)
  • 準(zhǔn)備對(duì)應(yīng)版本的mysql連接JDBC jar如mysql-connector-java-5.1.38.jar
  • 將該jar拷貝到${Sqoop_HOME}/lib目錄下
  1. 執(zhí)行導(dǎo)入
    我們的目的是將Mysql中的sqoop_import_test.emp_test表導(dǎo)入HDFS灾螃,所以我們使用Sqoop的import命令:
sqoop import \
--append \
--connect jdbc:mysql://master:3306/sqoop_import_test \
--username root \
--password root \
--target-dir /rdbms_2_hdfs \
--num-mappers 1 \
--table emp_test \
--fields-terminated-by '&'
  1. 查看結(jié)果
    若正常執(zhí)行完成則會(huì)發(fā)現(xiàn)HDFS對(duì)應(yīng)目錄下會(huì)出現(xiàn)相應(yīng)的文件题翻,查看文件內(nèi)容與數(shù)據(jù)庫(kù)中的一致
HDFS結(jié)果查看

Sqoop導(dǎo)入Mysql數(shù)據(jù)到Hive Doc

準(zhǔn)備測(cè)試數(shù)據(jù)的過(guò)程同上,不再贅述
執(zhí)行導(dǎo)入到Hive命令:

sqoop import \
--hive-import \
--connect jdbc:mysql://master:3306/sqoop_import_test \
--username root \
--password root \
--hive-table rdmbs_2_hive \
--num-mappers 1 \
--table emp_test

成功執(zhí)行后查看Hive中結(jié)果:

Hive查詢結(jié)果

總結(jié)

文檔中演示的導(dǎo)入操作只是Sqoop提供的最基礎(chǔ)功能之一睦焕。Sqoop還有很多有趣的用法和有趣的導(dǎo)入配置項(xiàng)藐握,請(qǐng)大家查看官方文檔并進(jìn)行嘗試操作 :)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末靴拱,一起剝皮案震驚了整個(gè)濱河市垃喊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌袜炕,老刑警劉巖本谜,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異偎窘,居然都是意外死亡乌助,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門陌知,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)他托,“玉大人,你說(shuō)我怎么就攤上這事仆葡∩筒危” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)把篓。 經(jīng)常有香客問(wèn)我纫溃,道長(zhǎng),這世上最難降的妖魔是什么韧掩? 我笑而不...
    開封第一講書人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任紊浩,我火速辦了婚禮,結(jié)果婚禮上疗锐,老公的妹妹穿的比我還像新娘坊谁。我一直安慰自己,他們只是感情好滑臊,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開白布呜袁。 她就那樣靜靜地躺著,像睡著了一般简珠。 火紅的嫁衣襯著肌膚如雪阶界。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,624評(píng)論 1 305
  • 那天聋庵,我揣著相機(jī)與錄音膘融,去河邊找鬼。 笑死祭玉,一個(gè)胖子當(dāng)著我的面吹牛氧映,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播脱货,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼岛都,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了振峻?” 一聲冷哼從身側(cè)響起臼疫,我...
    開封第一講書人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎扣孟,沒(méi)想到半個(gè)月后烫堤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡凤价,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年鸽斟,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片利诺。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡富蓄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出慢逾,到底是詐尸還是另有隱情立倍,我是刑警寧澤躏吊,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站帐萎,受9級(jí)特大地震影響比伏,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜疆导,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一赁项、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧澈段,春花似錦悠菜、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至兽叮,卻和暖如春芬骄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背鹦聪。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工账阻, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人泽本。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓淘太,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親规丽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蒲牧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355

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