Sqoop之簡介、原理與安裝
一、Sqoop簡介
Apache Sqoop(TM)是一種旨在有效地在Apache Hadoop和諸如關係資料庫等結構化資料儲存之間傳輸大量資料的工具。
Sqoop於2012年3月孵化出來,現在是一個頂級的Apache專案。
請注意,1.99.7與1.4.6不相容,且沒有特徵不完整,它並不打算用於生產部署。
二、Sqoop原理
將匯入或匯出命令翻譯成mapreduce程式來實現。
在翻譯出的mapreduce中主要是對inputformat和outputformat進行定製。
三、Sqoop安裝
安裝Sqoop的前提是已經具備Java和Hadoop的環境。
3.1、下載並解壓
2) 上傳安裝包sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz到虛擬機器中,如我的上傳目錄是:/home/admin/softwares/installation
3) 解壓sqoop安裝包到指定目錄,如:
$ tar -zxf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C ~/modules/ |
3.2、修改配置檔案
Sqoop的配置檔案與大多數大資料框架類似,在sqoop根目錄下的conf目錄中。
1) 重新命名配置檔案
$ mv sqoop-env-template.sh sqoop-env.sh $ mv sqoop-site-template.xml sqoop-site.xml |
2) 修改配置檔案
sqoop-env.sh
export HADOOP_COMMON_HOME= /opt/module/hadoop-2.7.2 export HADOOP_MAPRED_HOME= /opt/module/hadoop-2.7.2 export HIVE_HOME= /opt/module/hive export ZOOKEEPER_HOME= /opt/module/zookeeper-3.4.10 export ZOOCFGDIR= /opt/module/zookeeper-3.4.10/conf |
3.3、拷貝JDBC驅動
拷貝jdbc驅動到sqoop的lib目錄下,如:
$ cp -a mysql-connector-java-5.1.27-bin.jar /opt/module/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/lib |
3.4、驗證Sqoop
我們可以通過某一個command來驗證sqoop配置是否正確:
$ bin/sqoop help 出現一些Warning警告(警告資訊已省略),並伴隨著幫助命令的輸出: Available commands: codegen Generate code to interact with database records create-hive-table Import a table definition into Hive eval Evaluate a SQL statement and display the results export Export an HDFS directory to a database table help List available commands import Import a table from a database to HDFS import-all-tables Import tables from a database to HDFS version Display version information ····· |