2
我正在设计新一代的分析系统,它需要近乎实时地处理来自多个传感器的许多事件。为此,我想使用大数据分析平台之一,如Hadoop
,Spark Streaming
或Flink
。MapReduce:如何将HashMap传递给映射器
为了分析每个事件,我需要使用表(DB)中的一些元数据或者至少将其加载到缓存映射中。
问题是每个映射器将在几个节点上并行化。
所以,我有两两件事要处理:
- 首先,如何加载/传递一个HashMap映射器?
- 有什么办法保持映射器之间的HashMap一致吗?
DistributedCache是你在找什么 - http://stackoverflow.com/questions/21239722/hadoop-distributedcache-is-deprecated-what-is-the-preferred-api。您可以将元数据文件提供给所有映射器。 –
您也可以通过查询您的数据库来在每个映射器的'setup()'方法中构建hashmap。 –
你会使用Hadoop还是Spark?解决方案可能完全不同。 另外,您是否需要每个映射器都具有相同的信息,还是每个映射器都是特定的? –