1. 程式人生 > >Sqoop之簡介、原理與安裝

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

·····