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
インストールは,JavaやHadoopのインストール・設定が終わっていれば簡単で,
$ 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
こんな感じでデータをインポートできます.
- MySQLの場合
$ 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上に各種フォーマットでデータを転送することができます.