S-JIS[2012-05-03/2012-07-07]
変更履歴
Apache Sqoop
Apache Sqoopは、RDBとHDFS間でデータ転送を行うツール。
Sqoopは、RDBとHDFS間でデータ転送を行うツール。
2012/4/2にApacheのincubatorプロジェクトからトップレベルプロジェクトに昇格した。
データ転送はMapタスクのみのMapReduceで並列して分散実行される。
RDBへのアクセスはJDBC経由。
テーブル定義もRDBから読み込んでくれる。
- import
- RDBのテーブルを読み込んでHDFS上のファイルに出力する。
差分だけ取り込む事も出来る(merge)。ただし削除は出来ない。
- export
- HDFS上のファイルを読み込んでRDBのテーブルを更新する。
insertの他にupdateも利用可能。deleteは出来ないので、削除したい場合はテーブルを消してからinsertする。
SqoopがHDFS上で扱えるファイルは、テキストファイルとバイナリーファイル(AvroまたはSequenceFile)。
- テキストファイル
- CSVやTSV。区切り文字や値を囲む文字(ダブルクォーテーション)やエスケープ文字を指定する事が出来る。
- SequenceFile
- キーはLongWritable、値はテーブル定義に応じて生成されるクラス(null値も考慮されている)。
バイナリーデータも扱えるし、CSV等のパースの必要が無いからテキストファイルより速いらしい。
技術メモへ戻る /
Hadoopへ行く /
Javaへ行く
メールの送信先:ひしだま