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>

注意しなければいけないのはバージョンが1.0.1であるということ
(現時点でjacksonの最新は1.9.9)

依存関係に違うバージョンのjacksonのライブラリを含めると競合してしまうので
Hadoop1.0.3でjacksonを使用する場合は1.0.1を使います
以下コマンドライン引数にJSONデータを渡し設定を取得する例

{
   "char_encoding" : "UTF-8"
}
Configuration conf = getConf();

ObjectMapper mapper = new ObjectMapper();
JsonParser parser = new JsonFactory().createJsonParser(args[2]);
JsonNode json = mapper.readTree(parser);
conf.setStrings("jp.yustam.encoding", json.get("char_encoding").getValueAsText());