簡介
Sqoop是一個用來將Hadoop和關系型數(shù)據(jù)庫中的數(shù)據(jù)相互轉移的工具奥吩,可以將一個關系型數(shù)據(jù)庫(例如 : MySQL ,Oracle ,Postgres等)中的數(shù)據(jù)導進到Hadoop的HDFS中,也可以將HDFS的數(shù)據(jù)導進到關系型數(shù)據(jù)庫中抗俄。Sqoop專為大數(shù)據(jù)批量傳輸設計炉抒,能夠分割數(shù)據(jù)集并創(chuàng)建Hadoop任務來處理每個區(qū)塊奢讨。
- 把MySQL、Oracle等數(shù)據(jù)庫中的數(shù)據(jù)導入到HDFS焰薄、Hive拿诸、HBase中。
- 把HDFS塞茅、Hive亩码、HBase中的數(shù)據(jù)導出到MySQL、Oracle等數(shù)據(jù)庫中野瘦。
安裝
解壓
tar -xvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
修改系統(tǒng)環(huán)境變量
vim /etc/profile
export SQOOP_HOME=/usr/local/lib/sqoop1
export PATH=$PATH:$SQOOP_HOME/bin
source /etc/profile
修改sqoop-env.conf配置文件
cp sqoop/conf/sqoop-env-template.sh sqoop-env.sh
vim sqoop-env.sh
# 加入hadoop目錄
#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/home/hadoop/hadoop-2.6.0
#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/home/hadoop/hadoop-2.6.0
#因為HADOOP_HOME描沟、HBASE_HOME、HIVE_HOME以及ZOOKEEPER_HOME都在etc/profile中有過定義,因此在此不再定義啊掏。
將MySQL的驅動拷貝到lib下
cp mysql-connector-java-5.1.39-bin.jar /usr/local/lib/sqoop/lib
測試
顯示mysql數(shù)據(jù)庫列表:
sqoop list-databases --connect jdbc:mysql://192.168.66.4:3306 --username root --password root