RhinoでHadoopのConfigurationを叩いてみる
大名古屋#04 : ATND, 大名古屋#05 : ATNDでRhinoでHadoopを使うと言ったので、ちまちまと予習をしとります。最近Rhinoリハビリとか言ってるのは、その一環。
一応、Rhinoを選んだ経緯としては、
- 名古屋の連中は関数型言語/Scala大好きっ子ばかり。当然Scalaでコード書くよね。
- みんなScalaだとおもろくないから、他の言語使おう。
- Jythonでも使うか→jythoncのサポートが打ち切られているのでやめた(jar作るのがめんどくさそう)
- じゃー、Rhinoかなー。JavaScript書き慣れてるし、昔は結構使いこなしてたし。
まぁ動的言語を選択するのであれば、Groovyを使ったほうが素直な気がしないでもない。
というわけで、とりあえずHadoop本5章の最初に載っているConfigurationのサンプルコードをRhinoで書いてみた。
コード
var hadoop = new JavaImporter(); hadoop.importClass(org.apache.hadoop.conf.Configuration); hadoop.importClass(org.apache.hadoop.fs.Path); var conf = new hadoop.Configuration(); conf.addResource(new hadoop.Path("configuration-1.xml")); print(conf.get("color")); print(conf.getInt("size", 0)); print(conf.get("breadth", "wide"));
動かすときはこんな感じで。classpath指定するのがめんどくさいすね。
$ java -cp js.jar;hadoop-common-0.21.0.jar;commons-logging-1.1.1.jar \ > org.mozilla.javascript.tools.shell.Main \ > sample5-1.js