CDH4 + Apache Sqoop

Hadoopファミリーの中にSqoopというものがありますが,基本,置くだけです. 

$ wget http://archive.cloudera.com/cdh4/cdh/4/sqoop-1.4.3-cdh4.3.0.tar.gz
$ tar xvf sqoop-1.4.3-cdh4.3.0.tar.gz
$ mv -v sqoop-1.4.3-cdh4.3.0 /usr/local/
$ pushd /usr/local/; rm -v sqoop; ln -s sqoop-1.4.3-cdh4.3.0 sqoop; popd
$ sqoop version
Please set $HBASE_HOME to the root of your HBase installation.
Sqoop 1.4.3-cdh4.3.0
git commit id 
Compiled by jenkins on Mon May 27 20:29:45 PDT 2013

SqoopはHadoopファミリーの中では余り有名じゃなく,
日本のWikipediaには項目が無く


英語ページにはちょこっとありました.


説明が面倒なので,ページだけ作っておきました...
http://ja.wikipedia.org/wiki/Sqoop

インストールは,JavaHadoopのインストール・設定が終わっていれば簡単で,

$ wget http://download.microsoft.com/download/2/E/2/2E276844-1917-49CF-9A6A-0CBE0E99E915/sqljdbc_4.0.2206.100_jpn.tar.gz
$ tar xvf sqljdbc_4.0.2206.100_jpn.tar.gz
$ cp -pv sqljdbc_4.0/jpn/sqljdbc4.jar /usr/local/sqoop/lib/

$ /usr/local/sqoop/bin/sqoop import --connect 'jdbc:sqlserver://192.168.0.1:1433;username=sqoop;password=xxx;database=xxxdb' --table xxxtable -m 1

こんな感じでデータをインポートできます.

$ http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.25.tar.gz/from/http://cdn.mysql.com/
$ tar xvf mysql-connector-java-5.1.25.tar.gz
$ cp -pv mysql-connector-java-5.1.25/mysql-connector-java-5.1.25-bin.jar /usr/local/sqoop/lib/

$ /usr/local/sqoop/bin/sqoop import --connect 'jdbc:mysql://192.168.0.1:5605/xxxdb' --username sqoop --password xxx --table xxxtable -m 1

これくらいで,RDBMSから,Fluentdなどを使わずに,HDFS上に各種フォーマットでデータを転送することができます