真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Sqoop有什么用

這篇文章主要為大家展示了“Sqoop有什么用”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Sqoop有什么用”這篇文章吧。

成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站介紹好的網(wǎng)站是理念、設(shè)計(jì)和技術(shù)的結(jié)合。創(chuàng)新互聯(lián)建站擁有的網(wǎng)站設(shè)計(jì)理念、多方位的設(shè)計(jì)風(fēng)格、經(jīng)驗(yàn)豐富的設(shè)計(jì)團(tuán)隊(duì)。提供PC端+手機(jī)端網(wǎng)站建設(shè),用營(yíng)銷思維進(jìn)行網(wǎng)站設(shè)計(jì)、采用先進(jìn)技術(shù)開(kāi)源代碼、注重用戶體驗(yàn)與SEO基礎(chǔ),將技術(shù)與創(chuàng)意整合到網(wǎng)站之中,以契合客戶的方式做到創(chuàng)意性的視覺(jué)化效果。

一、Sqoop概述

Sqoop是一款開(kāi)源的大數(shù)據(jù)組件,主要用來(lái)在Hadoop(Hive、HBase等)與傳統(tǒng)的數(shù)據(jù)庫(kù)(MySQL、postgresql、oracle等)間進(jìn)行數(shù)據(jù)的傳遞。

Sqoop有什么用

通常數(shù)據(jù)搬運(yùn)的組件基本功能:導(dǎo)入與導(dǎo)出。

鑒于Sqoop是大數(shù)據(jù)技術(shù)體系的組件,所以關(guān)系型數(shù)據(jù)庫(kù)導(dǎo)入Hadoop存儲(chǔ)系統(tǒng)稱為導(dǎo)入,反過(guò)來(lái)稱為導(dǎo)出。

Sqoop是一個(gè)命令行的組件工具,將導(dǎo)入或?qū)С雒钷D(zhuǎn)換成mapreduce程序來(lái)實(shí)現(xiàn)。mapreduce中主要是對(duì)inputformat和outputformat進(jìn)行定制。

二、環(huán)境部署

在測(cè)試Sqoop組件的時(shí)候,起碼要具備Hadoop系列、關(guān)系型數(shù)據(jù)、JDK等基礎(chǔ)環(huán)境。

鑒于Sqoop是工具類組件,單節(jié)點(diǎn)安裝即可。

1、上傳安裝包

安裝包和版本:sqoop-1.4.6

[root@hop01 opt]# tar -zxf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
[root@hop01 opt]# mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha sqoop1.4.6

2、修改配置文件

文件位置:sqoop1.4.6/conf

[root@hop01 conf]# pwd
/opt/sqoop1.4.6/conf
[root@hop01 conf]# mv sqoop-env-template.sh sqoop-env.sh

配置內(nèi)容:涉及hadoop系列常用組件和調(diào)度組件zookeeper。

[root@hop01 conf]# vim sqoop-env.sh
# 配置內(nèi)容
export HADOOP_COMMON_HOME=/opt/hadoop2.7
export HADOOP_MAPRED_HOME=/opt/hadoop2.7
export HIVE_HOME=/opt/hive1.2
export HBASE_HOME=/opt/hbase-1.3.1
export ZOOKEEPER_HOME=/opt/zookeeper3.4
export ZOOCFGDIR=/opt/zookeeper3.4

3、配置環(huán)境變量

[root@hop01 opt]# vim /etc/profile

export SQOOP_HOME=/opt/sqoop1.4.6
export PATH=$PATH:$SQOOP_HOME/bin

[root@hop01 opt]# source /etc/profile

4、引入MySQL驅(qū)動(dòng)

[root@hop01 opt]# cp mysql-connector-java-5.1.27-bin.jar sqoop1.4.6/lib/

5、環(huán)境檢查

Sqoop有什么用

關(guān)鍵點(diǎn):import與export

查看幫助命令,并通過(guò)version查看版本號(hào)。sqoop是一個(gè)基于命令行操作的工具,所以這里的命令下面還要使用。

6、相關(guān)環(huán)境

此時(shí)看下sqoop部署節(jié)點(diǎn)中的相關(guān)環(huán)境,基本都是集群模式:

Sqoop有什么用

7、測(cè)試MySQL連接

sqoop list-databases --connect jdbc:mysql://hop01:3306/ --username root --password 123456

這里是查看MySQL數(shù)據(jù)庫(kù)的命令,如圖結(jié)果打印正確:

Sqoop有什么用

三、數(shù)據(jù)導(dǎo)入案例

1、MySQL數(shù)據(jù)腳本

CREATE TABLE `tb_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵id',
  `user_name` varchar(100) DEFAULT NULL COMMENT '用戶名',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用戶表';
INSERT INTO `sq_import`.`tb_user`(`id`, `user_name`) VALUES (1, 'spring');
INSERT INTO `sq_import`.`tb_user`(`id`, `user_name`) VALUES (2, 'c++');
INSERT INTO `sq_import`.`tb_user`(`id`, `user_name`) VALUES (3, 'java');

Sqoop有什么用

2、Sqoop導(dǎo)入腳本

指定數(shù)據(jù)庫(kù)的表,全量導(dǎo)入Hadoop系統(tǒng),注意這里要啟動(dòng)Hadoop服務(wù);

sqoop import 
--connect jdbc:mysql://hop01:3306/sq_import \
--username root \
--password 123456 \ 
--table tb_user \
--target-dir /hopdir/user/tbuser0 \
-m 1

3、Hadoop查詢

Sqoop有什么用

[root@hop01 ~]# hadoop fs -cat /hopdir/user/tbuser0/part-m-00000

4、指定列和條件

查詢的SQL語(yǔ)句中必須帶有WHERE$CONDITIONS:

sqoop import 
--connect jdbc:mysql://hop01:3306/sq_import \
--username root \
--password 123456 \
--target-dir /hopdir/user/tbname0 \
--num-mappers 1 \
--query 'select user_name from tb_user where 1=1 and $CONDITIONS;'

查看導(dǎo)出結(jié)果:

[root@hop01 ~]# hadoop fs -cat /hopdir/user/tbname0/part-m-00000

5、導(dǎo)入Hive組件

在不指定hive使用的數(shù)據(jù)庫(kù)情況下,默認(rèn)導(dǎo)入default庫(kù),并且自動(dòng)創(chuàng)建表名稱:

sqoop import 
--connect jdbc:mysql://hop01:3306/sq_import \
--username root \
--password 123456 \
--table tb_user \
--hive-import \
-m 1

執(zhí)行過(guò)程,這里注意觀察sqoop的執(zhí)行日志即可:

第一步:MySQL的數(shù)據(jù)導(dǎo)入到HDFS的默認(rèn)路徑下;

第二步:把臨時(shí)目錄中的數(shù)據(jù)遷移到hive表中;

Sqoop有什么用

6、導(dǎo)入HBase組件

當(dāng)前hbase的集群版本是1.3,需要先創(chuàng)建好表,才能正常執(zhí)行數(shù)據(jù)導(dǎo)入:

sqoop import 
--connect jdbc:mysql://hop01:3306/sq_import \
--username root \
--password 123456 \
--table tb_user \
--columns "id,user_name" \
--column-family "info" \
--hbase-table tb_user \
--hbase-row-key id \
--split-by id

查看HBase中表數(shù)據(jù):

Sqoop有什么用

四、數(shù)據(jù)導(dǎo)出案例

新建一個(gè)MySQL數(shù)據(jù)庫(kù)和表,然后把HDFS中的數(shù)據(jù)導(dǎo)出到MySQL中,這里就使用第一個(gè)導(dǎo)入腳本生成的數(shù)據(jù)即可:

Sqoop有什么用

sqoop export 
--connect jdbc:mysql://hop01:3306/sq_export \
--username root \
--password 123456 \
--table tb_user \
--num-mappers 1 \
--export-dir /hopdir/user/tbuser0/part-m-00000 \
--num-mappers 1 \
--input-fields-terminated-by ","

再次查看MySQL中數(shù)據(jù),記錄完全被導(dǎo)出來(lái),這里,是每個(gè)數(shù)據(jù)字段間的分隔符號(hào),語(yǔ)法規(guī)則對(duì)照腳本一HDFS數(shù)據(jù)查詢結(jié)果即可。

以上是“Sqoop有什么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


分享文章:Sqoop有什么用
轉(zhuǎn)載源于:http://weahome.cn/article/pojgoo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部