您好,登錄后才能下訂單哦!
這篇文章主要介紹了Sqoop怎么安裝,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
1、首先下載安裝包,點擊此處進行下載。
2、將下載的安裝包上傳到集群中,解壓到相關目錄并重命名。
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
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
拷貝MySQL的驅動包到Sqoop的lib目錄下:
[root@master software]# cp ./mysql-connector-java-5.1.47.jar /opt/modules/sqoop/lib/
1.4 驗證Sqoop是否安裝成功
bin/sqoop help
出現上圖的內容說明安裝成功。
bin/sqoop list-databases --connect jdbc:mysql://master:3306/ --username root --password p@ssw0rd
1、首先在MySQL數據庫(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');
2、全量導入
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 ","
使用如下命令查看導入的結果:
3、查詢導入
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;'
查看導入結果:
這里需要注意的是,如果query后使用的是雙引號,則$CONDITIONS前必須加轉義符\,防止shell識別為自己的變量。如果使用的是單引號,則不需要加。
4、導入指定列
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
查看結果:
這里需要注意的是,columns中如果涉及到多列,用逗號分隔,分隔時不要添加空格。
5、使用sqoop關鍵字篩選查詢導入數據
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"
查看結果:
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
該過程分為兩步,第一步將數據導入到HDFS,第二步將導入到HDFS的數據遷移到Hive倉庫。這里需要注意的是,Hive中的表不需要提前創建,Sqoop會在導數據的過程中自動創建表。
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'
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 ","
這里需要注意的是,如果MySQL中不存在表,不會自動創建,簡言之就是在執行導出之前需要在MySQL中創建好表。
我們使用opt格式的文件打包Sqoop命令,然后執行,具體如下。
首先在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 ","
然后使用如下命令執行腳本:
bin/sqoop --options-file opt/HDFSToMySQL.opt
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Sqoop怎么安裝”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。