12

Hadoop の初心者です。概念的には、理解するのは非常に簡単ですが、実際の課題の 1 つは、map-reduce アーキテクチャで解決する問題をどのようにモデル化するかです。データに 2 つの部分 (すべてオラクル) が含まれているとします。1. ほとんど変化しないかなり静的なデータ 2. 毎日収集される新鮮なデータ。

現在、データ処理は基本的に新しいデータを読み取り、対応する静的データ(またはメタデータ)を見つけて使用し、それにアルゴリズムを適用してOracleにダンプします。

このようなアプリケーション パラダイムをモデル化するにはどうすればよいでしょうか。静的データを分散キャッシュの一部として保存/保存しますか? そのデータがかなり大きい場合はどうなりますか?

基本的に、次のような例をもっと探しています: http://stevekrenzel.com/finding-friends-with-mapreduce

ありがとう、

4

3 に答える 3

4

基本的に、要件は 2 つのデータ セットを結合することです。MapReduce プログラミングには、通常のプログラミングとは異なる考え方が必要です。Join のリファレンスと MapReduce の他のパタ​​ーンを次に示します。

  1. MapReduce によるデータ集約型テキスト処理

  2. MapReduce 設計パターン

  3. セクション 8.3 in Hadoop - 決定版ガイド

結合に戻ると、データの量とデータの状態に基づいて、複数の方法で結合できます。上記の参考文献には、ほぼ同じものがあります。

于 2013-01-26T12:18:19.787 に答える
2

ここで実際のユースケースを収集しています:http://hadoopilluminated.com/hadoop_book/Hadoop_Use_Cases.html

すでに複数のドメインを十分にカバーしており、今後も追加していきます。

(免責事項:私はこの無料のHadoopブックの共著者です)

于 2013-03-11T05:59:32.200 に答える
1

Map / Reduceパターンに関する次の記事を見てみましょう。これにより、Map/Reduceの世界での一般的なアルゴリズムとその変換についての良いアイデアが得られるはずです。

より一般的には、問題をMap / Reduceのセットに変換する魔法の公式はないと思います。データセットごとに異なる質問を自問する必要があります。既存の例を見るのは良いことであり、間違いなくすべきです。小さなトイプロブレムに何かを実装してみてください。

また、問題を一連のMap / Reduceジョブに抽象化する際に問題が発生した場合は、たとえば、いくつかの調整を加えたリレーショナルデータベースのように機能し、あまり心配することなくMap/Reduceジョブを生成するHiveを使用することもできます。何が起こるのですか。

于 2013-01-25T20:34:42.337 に答える