タグ

hadoopに関するGegegeMokekeのブックマーク (3)

  • Hadoopを使いこなす(1)

    まず、 1 の入力ファイルを分割する方法は、InputFormatクラスの、getSplits関数を上書きすることで、カスタマイズできます。 また、 3 のInputSplitから、KeyとValueを抽出する処理も、InputFormatクラスを通じてカスタマイズできます。 InputFormatのgetRecordReader関数を通じて、RecordReaderクラスを生成するのですが、これに任意のRecordReaderクラスを指定すればOKです。 2 のMap処理ですが、ユーザが指定したMapperクラスの処理を実行します。 Mapperクラスは、MapRunnerクラスを通じて、初期化処理、map関数を繰り返す過程、終了処理といった一連の流れを実行します。 MapRunnerクラスをカスタマイズすれば、こうした流れを制御することができます。 0.20.0からの新しいMapRed

    Hadoopを使いこなす(1)
  • Orange: HadoopでMapReduceを書く

    職場でI君からHadoopで(StreamではなくJavaを使って)MapReduceを書くのに適したチュートリアルが欲しいという話があったので、久しぶりにブログを書いてみることにした。 まぁ、Streamを利用すればもっと簡単に書けると思うのでJavaを利用する意味もあまりないと思う。 基的にはプログラム自体にコメントをしつこいぐらいに書いたので、そちらを参照してもらいたいのだけれどもこのプログラムの目的を簡単に説明すると、cabochaという日語構文解析プログラムの出力結果から単語の頻度を計算するものになっている。 cabochaの出力結果は下のようになっていて、 * 0 1D 0/1 0.00000000 ウィキペディア ウィキペディア ウィキペディア 名詞-一般 O に ニ に 助詞-格助詞-一般 O * 1 -1O 0/0 0.00000000 ようこそ ヨウコソ ようこそ

  • Emerge Technology: [翻訳]Hadoopで動くPythonのMapReduceプログラムを書く

    HadoopフレームワークはJavaで書かれていますが、Hadoop上で動くプログラムはJavaで記述する必要はありません。PythonC++(バージョン0.14.1以降)のような他の言語で開発することができます。しかし、Hadoopのホームページのドキュメントや最も重要なPythonのサンプルコードを読むと、PythonコードをJythonを使ってJavaのjarファイルに変換しないといけないように考えてしまいます。明らかに、この方法はきわめて不便で、もし、Jythonが提供していないPythonの機能を使っている場合はともて問題です。Jythonのアプローチのもう一つの問題は、Hadoopと連携させてPythonプログラムを書くオーバーヘットです。<HADOOP_INSTALL>/src/examples/python/WordCount.pyを見れば、言っていることがわかると思いま

    Emerge Technology: [翻訳]Hadoopで動くPythonのMapReduceプログラムを書く
  • 1