溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Sqoop怎么安裝

發(fā)布時間:2021-04-12 14:00:40 來源:億速云 閱讀:194 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了Sqoop怎么安裝,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

一、Sqoop的安裝

1.1 下載上傳安裝包

1、首先下載安裝包,點擊此處進(jìn)行下載。

Sqoop怎么安裝

2、將下載的安裝包上傳到集群中,解壓到相關(guān)目錄并重命名。

tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C ../modules/

mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha sqoop

Sqoop怎么安裝

1.2 修改配置文件

1、首先重命名sqoop-env-template.sh文件

[root@master conf]# mv sqoop-env-template.sh sqoop-env.sh

2、在sqoop-env.sh中添加各組件的路徑

export HADOOP_COMMON_HOME=/opt/modules/hadoop-2.7.2
export HADOOP_MAPRED_HOME=/opt/modules/hadoop-2.7.2
export HIVE_HOME=/opt/modules/hive
export ZOOKEEPER_HOME=/opt/modules/zookeeper-3.4.10
export ZOOCFGDIR=/opt/modules/zookeeper-3.4.10
export HBASE_HOME=/opt/modules/hbase

1.3 拷貝JDBC驅(qū)動

拷貝MySQL的驅(qū)動包到Sqoop的lib目錄下:

[root@master software]# cp ./mysql-connector-java-5.1.47.jar /opt/modules/sqoop/lib/

1.4 驗證Sqoop是否安裝成功

bin/sqoop help

Sqoop怎么安裝

出現(xiàn)上圖的內(nèi)容說明安裝成功。

二、Sqoop的導(dǎo)入導(dǎo)出

2.1 測試連接數(shù)據(jù)庫

bin/sqoop list-databases --connect jdbc:mysql://master:3306/ --username root --password p@ssw0rd

Sqoop怎么安裝

2.2 MySQL導(dǎo)入數(shù)據(jù)到HDFS

1、首先在MySQL數(shù)據(jù)庫(xzw)中新建一張people表,如下所示:

create table people(id int(4) primary key not null auto_increment, name varchar(255), sex varchar(255));
insert into people(name, sex) values('xzw', 'Male');
insert into people(name, sex) values('fq', 'FeMale');

Sqoop怎么安裝

2、全量導(dǎo)入

bin/sqoop import \
--connect jdbc:mysql://master:3306/xzw \
--username root \
--password p@ssw0rd \
--table people \
--target-dir /user/sqoop/people \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by ","

使用如下命令查看導(dǎo)入的結(jié)果:

Sqoop怎么安裝

3、查詢導(dǎo)入

bin/sqoop import \
--connect jdbc:mysql://master:3306/xzw \
--username root \
--password p@ssw0rd \
--target-dir /user/sqoop/people \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by "," \
--query 'select name,sex from people where id <=1 and $CONDITIONS;'

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

Sqoop怎么安裝

這里需要注意的是,如果query后使用的是雙引號,則$CONDITIONS前必須加轉(zhuǎn)義符\,防止shell識別為自己的變量。如果使用的是單引號,則不需要加。

4、導(dǎo)入指定列

bin/sqoop import \
--connect jdbc:mysql://master:3306/xzw \
--username root \
--password p@ssw0rd \
--target-dir /user/sqoop/people \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by "," \
--columns id,sex \
--table people

查看結(jié)果:

Sqoop怎么安裝

這里需要注意的是,columns中如果涉及到多列,用逗號分隔,分隔時不要添加空格。

5、使用sqoop關(guān)鍵字篩選查詢導(dǎo)入數(shù)據(jù)

bin/sqoop import \
--connect jdbc:mysql://master:3306/xzw \
--username root \
--password p@ssw0rd \
--target-dir /user/sqoop/people \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by "," \
--table people \
--where "id=1"

查看結(jié)果:

Sqoop怎么安裝

2.3 MySQL導(dǎo)入數(shù)據(jù)到Hive

bin/sqoop import \
--connect jdbc:mysql://master:3306/xzw \
--username root \
--password p@ssw0rd \
--table people \
--num-mappers 1 \
--hive-import \
--fields-terminated-by "," \
--hive-overwrite \
--hive-table hive_people

Sqoop怎么安裝

該過程分為兩步,第一步將數(shù)據(jù)導(dǎo)入到HDFS,第二步將導(dǎo)入到HDFS的數(shù)據(jù)遷移到Hive倉庫。這里需要注意的是,Hive中的表不需要提前創(chuàng)建,Sqoop會在導(dǎo)數(shù)據(jù)的過程中自動創(chuàng)建表。

2.4 MySQL導(dǎo)入數(shù)據(jù)到HBase

bin/sqoop import \
--connect jdbc:mysql://master:3306/xzw \
--username root \
--password p@ssw0rd \
--table people \
--columns "id,name,sex" \
--column-family "info" \
--hbase-create-table \
--hbase-row-key "id" \
--hbase-table "hbase_people" \
--num-mappers 1 \
--split-by id

這里需要注意的是,需要提前將HBase表建好:

create 'hbase_people','info'

Sqoop怎么安裝

2.5 HDFS導(dǎo)出數(shù)據(jù)到MySQL

bin/sqoop export \
--connect jdbc:mysql://master:3306/xzw \
--username root \
--password p@ssw0rd \
--table people \
--num-mappers 1 \
--export-dir /user/sqoop/people \
--input-fields-terminated-by ","

Sqoop怎么安裝

這里需要注意的是,如果MySQL中不存在表,不會自動創(chuàng)建,簡言之就是在執(zhí)行導(dǎo)出之前需要在MySQL中創(chuàng)建好表。

三、Sqoop腳本打包

我們使用opt格式的文件打包Sqoop命令,然后執(zhí)行,具體如下。

首先在Sqoop的安裝目錄新建目錄opt,并編寫腳本如下:

export
--connect
jdbc:mysql://master:3306/xzw
--username
root
--password
p@ssw0rd
--table
people
--num-mappers
1
--export-dir
/user/sqoop/people
--input-fields-terminated-by
","

Sqoop怎么安裝

然后使用如下命令執(zhí)行腳本:

bin/sqoop --options-file opt/HDFSToMySQL.opt

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Sqoop怎么安裝”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI