タグ

mapreduceに関するang65のブックマーク (10)

  • 分散システム処理モデルに関する動向について(MapReduceからBorgまで)

    詳細については後述しますが、MapReduceの処理モデルは、上記の通り各区分ごとにそれぞれ単純化(限定)されたモデルであったと言えます。 また、MapReduceの関数プログラミングおよびグラフ的な特徴も合わせて以下に整理してみます。 関数プログラミング的な特徴 MapおよびReduceフェーズは、それぞれ関数型プログラミングのMapおよびReduce処理をモデル化したものです。MapReduceは、参照透過性がある純粋な関数処理と言えます。参照透過性とは入力により出力が一意に決まる性質のことです。言い換えればMapReduceの処理は、大域などの処理に影響する外部の環境は持たず、内部的にも静的な一時変数などの状態も持たないことを意味します。 純粋な関数処理は複数の処理が同時に実行されても他の並列に動作している処理の状態には左右されないため、この参照透過性は並列化に向いている性質がありま

    分散システム処理モデルに関する動向について(MapReduceからBorgまで)
  • GraphLab: A New Parallel Framework for Machine Learning

    GraphLab: A Parallel Framework for Machine LearningDesigning and implementing efficient and provably correct parallel machine learning (ML) algorithms can be very challenging. Existing high-level parallel abstractions like MapReduce are often insufficiently expressive while low-level tools like MPI and Pthreads leave ML experts repeatedly solving the same design challenges. By targeting common pat

  • 機械学習 × MapReduce - ny23の日記

    個人的な興味というより,雑用絡みで眺めた論文の紹介.機械学習アルゴリズムを並列分散化するという話が最近流行っているようだ.全然網羅的ではないけど,誰かの役に立つかも知れないので,幾つかメモしておく.まず古典的にはこれ, Map-reduce for machine learning on multicore (NIPS 2006) 古典的な機械学習アルゴリズム(バッチ学習)の多くは,Statistical Query Model で記述できて,それらは summation form で記述できる (から,MapReduce で並列化できる).実装は Mahout.ただ最近は,バッチアルゴリズムで解ける問題には多くの場合対応するオンラインアルゴリズムが提案されていて,バッチアルゴリズムを並列化することのメリットはあまり無い.オンラインアルゴリズムだとパラメタが連続的に更新されるので,MapR

    機械学習 × MapReduce - ny23の日記
  • 自然言語処理における MapReduce の使い方のチュートリアル - 武蔵野日記

    今学期は毎週論文紹介するネタを探すのも疲れるので、適宜論文紹介を入れながら、 Data-Intensive Text Processing With MapReduce (Synthesis Lectures on Human Language Technologies) 作者: Jimmy Lin,Chris Dyer出版社/メーカー: Morgan and Claypool Publishers発売日: 2010/08/15メディア: ペーパーバック クリック: 67回この商品を含むブログ (6件) を見るをしばらく読もうかと思っている。ちなみに http://www.umiacs.umd.edu/~jimmylin/book.html から全文の PDF がダウンロードできるので、そちらを使用予定。印刷・製してパラパラとめくっているが、テキスト的には割といいだと思う。みんながこぞ

    自然言語処理における MapReduce の使い方のチュートリアル - 武蔵野日記
  • 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 ようこそ ヨウコソ ようこそ

  • Hadoop + Luceneで分散インデクシング - moratorium

    Hadoop + Luceneで分散インデクシング 2008-08-27 (Wed) 1:07 Hadoop Hadoop (0.17系) + Lucene (2.3系) で検索用インデックスを分散インデクシングするコードを公開してみます。HDDに眠らせてるのはちょっともったいない。 いきなりソースコード。 package net.kzk9; import java.io.*; import java.util.*; import org.apache.hadoop.conf.*; import org.apache.hadoop.fs.*; import org.apache.hadoop.io.*; import org.apache.hadoop.mapred.*; import org.apache.hadoop.util.*; import org.apache.lucene.i

  • Mars: A MapReduce Framework on Graphics Processors

    Mars: A MapReduce Framework on Graphics Processors Introduction Mars is a MapReduce framework on graphic processors (GPUs). We develop this framework aiming at providing a generic framework for developers to implement data- and computation-intensive tasks correctly, efficiently, and easily on the GPU. Mars hides the programming complexity of the GPU behind the simple and familiar MapReduce interfa

  • Hadoopの最新動向を「Hadoop World:NY 2009」の資料から(前編)

    Hadoopは、グーグルが大規模分散システムのために用いているMapReduceという技術を、オープンソースとして実現するために開発されたJavaベースのソフトウェアです。開発が始まったのは2005年頃で、当時Yahoo!に所属し現在はClouderaに所属するDoug Cutting氏が中心となって進めてきました。 Hadoopが実現するMapReduce処理とは、簡単にいえば大量のデータを小さく分割して多数のノードに割り当て(Map処理)、各ノードで処理を行ったらそれを集約して結果を出す(Reduce処理)、という分散処理の方法です。数テラバイトにもおよぶ大容量のデータを高速かつ低コストに分散処理する方法として注目を集めています。 ニューヨークでHadoop Worldが開催される そのHadoopのカンファレンス「Hadoop World:NY 2009」が10月2日にニューヨークで

    Hadoopの最新動向を「Hadoop World:NY 2009」の資料から(前編)
  • RubyでHadoopをラップ、分散処理ツールキットが登場 - @IT

    2009/05/12 米新聞社大手のニューヨーク・タイムズは5月11日、Rubyによる大規模分散処理のツールキット「Map/Reduce Toolkit」(MRToolkit)をGPLv3の下にオープンソースで公開したと発表した。MRToolkitは、すでに稼働しているクラスタ上のHadoopと合わせて使うことでRubyで容易にMap/Reduce処理を記述することができる一種のラッパー。処理自体はHadoopが行う。すでにHadoopを使っているユーザーであれば、中小規模のプロジェクトに対して、すぐにMRToolkitを適用可能としている。 デフォルトで有用なMap、Reduceの処理モジュールが含まれていて、数行のRubyスクリプトを書くだけで、例えば膨大なApacheのログからIPアドレス別の閲覧履歴をまとめるといった処理が可能という。独自にMapやReduceの処理を定義することも

  • 1