pythonからhdfsの読み書きをする
pythonでBig Dataを使うというものをドヤ顔で発表しようと思ったのですが、既にこんな記事がありました。
http://blog.cloudera.com/blog/2013/01/a-guide-to-python-frameworks-for-hadoop/
他にも、HadoopじゃないけどSparkならサンプルがpythonだったりとか、hiveのudfとかに部分的にpython使えるとかあります。
ただ上に出てきた奴ってMap/Reduceの置き換えをしちゃうやつなんで、Map/Reduceした結果を手に入れるってできないんですよね。
単にHDFSからファイルを読むくらいなら、別のやりかたがありそうです。libhdfsのラッパー書くとか、WebHDFSのAPI叩くとか。
-
以下のURLのうち、libpyhdfsが前者、snakebiteがProtocol Bufferを使って実装してるようです。ただ前者は更新止まってるなぁ。需要ないんだろうか。
https://code.google.com/p/libpyhdfs/
https://github.com/spotify/snakebite
検証は後日。