我正在设计新一代的分析系统,需要近实时地处理来自多个传感器的许多事件。为了做到这一点,我想使用一个大数据分析平台,如 Hadoop
, Spark Streaming
或者 Flink
.
为了分析每个事件,我需要使用表(db)中的一些元数据,或者至少将其加载到缓存Map中。
问题是每个Map器将在多个节点上并行化。
所以我有两件事要处理:
首先,如何将hashmap加载/传递给Map器?
有没有办法让hashmap在Map者之间保持一致?
我正在设计新一代的分析系统,需要近实时地处理来自多个传感器的许多事件。为了做到这一点,我想使用一个大数据分析平台,如 Hadoop
, Spark Streaming
或者 Flink
.
为了分析每个事件,我需要使用表(db)中的一些元数据,或者至少将其加载到缓存Map中。
问题是每个Map器将在多个节点上并行化。
所以我有两件事要处理:
首先,如何将hashmap加载/传递给Map器?
有没有办法让hashmap在Map者之间保持一致?
1条答案
按热度按时间mdfafbf11#
将hashmap结构序列化为文件,将其存储在hdfs中,并在mapreduce作业配置阶段使用distributedcache将带有序列化hashmap的文件分布到所有Map器。然后在Map阶段,每个Map器都可以读取文件,反序列化,然后访问这个hashmap。