タグ

MapReduceに関するnantanのブックマーク (3)

  • blog.katsuma.tv

    前回、JavaScriptMap Reduceのコードが書けるHadoop Streamingについて紹介しました。 標準入出力さえサポートされてあれば、任意のコードでMap Reduuceの処理が書ける、というものでしたが、エンジニアはそもそも面倒くさがり。コードも書くのも面倒です。 と、いうわけで、今回はもうコードすら書かずにSQLライクでMap ReduceできるHiveというプロダクトについて、まとめたいと思います。 Hive Hiveとは、簡単に言うとHadoop上で動作するRDBのようなものです。 HDFSなどの分散ファイルシステム上に存在するデータに対して、HiveQLというSQLライクな言語で操作できます。 で、面白いのがHiveQLの操作は基的にMap Reduceのラッパーになっていること。 要するに、SELECT文実行すると裏でMap&Reduceのタスクが走り出

  • Apache Hadoop MapReduce (3) — MapReduce を多段で動かす : MYH

    MapReduce で少し複雑なことをしようと思うと、MapReduce を複数回適用しなければならないことがあります。これにはいくつかの方法があります。 もし、Map+ Reduce Map* (1回以上の Map, Reduce, 0回以上の Map) という形で記述することが出来るならば、ChainMapper, ChainReducer というクラスが用意されており、これを Mapper, Reducer として利用するのが簡単です。 もし、シーケンシャルに MapReduce を適用するのであれば、Job の終了を待ってから次の Job を投入すれば済みます。 ChainMapper / ChainReducer このクラスは既存の Mapper を簡単につなげられることを目的としています。 仮に ChainMapper, ChainReducer というクラスががなかったとしま

  • 並列分散処理の常識をHadoopファミリから学ぶ

    並列分散処理の常識をHadoopファミリから学ぶ:ビッグデータ処理の常識をJavaで身につける(2)(3/3 ページ) 3つの課題に応える「Hadoopファミリ」 関連プロジェクトは、Hadoopが抱える以下の3つの課題に応えたものです。 【課題1】「並列分散処理をもっと簡単に書きたい」 MapReduceをJavaで書く処理はある種のひらめきが必要ともいわれます。特に、SQLで書かれていた処理をMapReduceで書き替える場合、思考の切り替えが必要で苦労することも多いようです。たとえ慣れていても、Hadoopで簡単なデータ加工したい、そのためだけに多くのクラス定義をするのは面倒です。 この難易度を下げるハイレベル言語として「Hive」「Pig」が存在します。どちらの言語もSQLやストアドプロシジャのようなコードを書いて、MapReduceを動かせます。対話型のシェルユーティリティもあり

    並列分散処理の常識をHadoopファミリから学ぶ
  • 1