(十七)Sqoop的安裝配置與基本操作

    Sqoop是用來實現結構型數據(如關係數據庫)和Hadoop之間進行數據遷移的工具。它充分利用了MapReduce的並行特點以批處理的方式加快數據的傳輸,同時也藉助MapReduce實現了容錯。

一、sqoop下載

下載地址http://mirrors.shu.edu.cn/apache/sqoop/

下載sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz

二、解壓配置環境變量

將下載的sqoop傳到linux中解壓,在.bashrc中配置環境變量

三、修改配置文件

到sqoop中的conf中,複製sqoop-env-template.sh

cp sqoop-env-template.sh sqoop-env.sh

修改sqoop-env.sh的配置文件

到sqoop的bin的configure-sqoop中,註釋掉下面的代碼

四、查看是否安裝成功

sqoop version

五、將mysql驅動複製到sqoop的lib目錄

六、Sqoop的操作命令

1、用sqoop將mysql中的表數據導入HDFS中

sqoop import --connectjdbc:mysql://你的數據庫ip/數據庫名 --username root --password 數據庫密碼 --table 表名 --target-dir '要傳HDFS中的路徑' --m 1
--driver com.mysql.jdbc.Driver

例如:我要將mysql中wordpress數據庫中的wp_terms表中的數據導入到HDFS中,–m表示MR進程數

 sqoop import --connect jdbc:mysql://39.108.229.164:3306/wordpress --username root -password 123456 --table wp_terms --target-dir '/sqoop' --m 1 --driver com.mysql.jdbc.Driver

如果執行上面的命令出現下面的錯誤

是因爲沒有將mysql的驅動複製到lib中

等待MR作業完成

如果想要將整個數據庫中的表全部導入到hdfs上使用import-all-tables命令

sqoop import-all-tables --connect jdbc:mysql://39.108.229.164:3306/wordpress --username root -password 123456 --target-dir '/sqoop' --m 1 --driver com.mysql.jdbc.Driver

如果想要指定所需的列:–columns

 sqoop import --connect jdbc:mysql://39.108.229.164:3306/wordpress --username root -password 123456 --table wp_terms --columns '數據名,數據名' --driver com.mysql.jdbc.Driver

2、用sqoop將MySQL中表的數據傳到Hive中

加上–hive-import

sqoop import –hive-import  –connect jdbc:mysql://39.108.229.164:3306/wordpress –username root -password 123456 –table wp_terms –columns ‘數據名,數據名’ –driver com.mysql.jdbc.Driver  –hive-table hi

–hive-table hive表名:表示將mysql中的數據導入到hive表名中

–where ‘導入條件’ :可以選擇性導入表內容

–query ‘查詢語句’:將查詢的語句導入

3、用sqoop將Hive中的數據導出

使用export

 sqoop export --connect jdbc:mysql://39.108.229.164:3306/wordpress --username root -password 123456 --table wp_te

 

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章