Hadoop

Amazon ElasticMapreduceメモ

Amazon ElasticMapreduceのテストを兼ねて性能測定を行ったので分かったことをメモ ジョブフローの起動 ジョブフローを登録してからステータスが「RUNNING」に変わるまで4分~6分かかる 立ち上げるインスタンスの数が変わってもこの時間は変わらない MapTask…

org.apache.hadoop.io.Text.getBytes()を使用するときの注意

以前Hadoop入力データの文字エンコーディングに対応するため以下のようなコードを書いた public class CustomMapper extends Mapper<LongWritable, Text, Text, Text> { @Override protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedExcept</longwritable,>…

HadoopでJSONデータを扱う

JavaでJSONを扱う際に外部ライブラリを必要としますが、 Hadoop1.0.3にはjacksonのライブラリが含まれているみたい Jackson JSON Processor - Home hadoop-core-1.0.3.pomの一部 <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.0.1</version> </dependency> 注意しなければいけないの…

Amazon ElasticMapReduceのjarからS3上のファイルを参照する

Hadoopの制御を設定の変更で行う場合にコマンドライン引数で文字列を渡すことはできるが パラメータが増えると引数が長くなってしまうのでファイルから設定を読み込むようにしたいここでは実行するjarファイルからS3上に配置したプロパティファイル読み込ん…

EMR使用時のSimpleDBを確認

Amazon Elastic MapReduce(EMR)を使用するとSimpleDBが使用されるということだったので確認してみました。 public class SimpleDB { public static void main(String[] args) throws ParseException { String accessKey = "XXXXXXXXXXXXXXXXXXXX"; String se…

Hadoopの出力ファイルにヘッダを出力する

MapReduce処理を行った後の出力ファイルにヘッダを出力したい場合はTextOutputFormatを拡張する。Mapperの実装でJobConfにヘッダを設定する。元データからヘッダを取る場合は以下のように設定 public class MapperSample extends MapReduceBase implements M…

Hadoopの入力にShift-JISのファイルを使用する

Hadoopのinputに指定したファイルはMapperに渡され、Mapperの入力に来たときorg.apache.hadoop.io.Text型になっている。 これがどうやらUTF-8になってしまうらしく日本語の文字列比較などが上手に行えない。 エンコーディング指定する方法を探したが見つから…