概述
Sqoop是一款開源的工具,主要用于在Hadoop(Hive)與傳統(tǒng)的數(shù)據庫(mysql、postgresql…)間進行數(shù)據的傳遞,可以將一個關系型數(shù)據庫(例如 : MySQL ,Oracle ,Postgres等)中的數(shù)據導進到Hadoop的HDFS中,也可以將HDFS的數(shù)據導進到關系型數(shù)據庫中。Sqoop項目開始于2009年,最早是作為Hadoop的一個第三方模塊存在,后來為了讓使用者能夠快速部署,也為了讓開發(fā)人員能夠更快速的迭代開發(fā),Sqoop獨立成為一個Apache項目。
下載解壓sqoop
在以下地址下載sqoop的安裝文件:
http://sqoop.apache.org/
sqoop1與sqoop2完全不兼容,1.4.6及之前的版本是sqoop1,之后的是sqoop2,這里我們安裝sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz。
將壓縮文件導到虛擬機:
scp sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz root@192.168.2.144:/home/
解壓文件:
tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C ./
修改文件名:
mv sqoop-1.4.7.bin__hadoop-2.6.0 sqoop
環(huán)境和配置文件修改
sqoop的配置文件存放在sqoop/conf目錄下:
cd sqoop/conf/
修改sqoop-env.sh文件:
cat sqoop-env-template.sh >> sqoop-env.sh
vi sqoop-env.sh
在sqoop-env.sh文件中填寫如下內容:
export HADOOP_COMMON_HOME=/home/hadoop
export HADOOP_MAPRED_HOME=/home/hadoop
export HIVE_HOME=/home/hive
配置環(huán)境變量:
vim ~/.bashrc
export SQOOP_HOME=/home/sqoop
export PATH=$PATH:$SQOOP_HOME/bin
export CLASSPATH=$CLASSPATH:$SQOOP_HOME/lib
將mysql驅動包拷貝到$SQOOP_HOME/lib。
測試
輸入以下命令,測試sqoop與MySQL之間的連接是否成功:
sqoop list-databases --connect jdbc:mysql://127.0.0.1:3306/ --username root -P
如果成功,則會在屏幕中顯示數(shù)據庫列表。