2017-02-16 7 views
2

多くのセンサーからの多くのイベントをほぼリアルタイムで処理する必要のある新しい世代の解析システムを設計しています。そして、私はHadoop,Spark StreamingまたはFlinkのようなビッグデータ分析プラットフォームの1つを使用したいと考えています。MapReduce:HashMapをマッパーに渡す方法

各イベントを分析するには、テーブル(DB)からメタデータを使用するか、少なくともキャッシュされたマップにロードする必要があります。

問題は、各マッパーが複数のノードで並列化されることです。

だから私は扱うために二つのものがあります。

  • まず、どのようにマッパーにHashMapを渡す/ロードするの?
  • マッパー間でHashMapの一貫性を保つ方法はありますか?
+1

DistributedCacheは、あなたが探しているものです - http://stackoverflow.com/questions/21239722/hadoop-distributedcache-is-deprecated-what-is-the-preferred-apiすべてのマッパーがメタデータファイルを利用できるようにすることができます。 –

+0

DBを照会することによって、各マッパーの 'setup()'メソッドでハッシュマップを構築することもできます。 –

+0

HadoopまたはSparkを使用しますか?解決策は全く異なることがあります。 また、すべてのマッパーが同じ情報を持つ必要がありますか、それとも各マッパー固有のものですか? –

答えて

0

SerializeをHashMapの構造は、ファイルのすべてのマッパー間でシリアル化されたHashMapを使用してファイルを広めるためにHDFSにし、MapReduceのジョブ構成フェーズでの使用DistributedCacheでそれを格納します。次にマップフェーズで各マッパーはファイルを読み込み、デシリアライズしてからこのHashMapにアクセスできます。

関連する問題