假设我有两个键值数据集——数据集 A 和 B,我们称它们为。我想用 Set B 中的数据更新 Set A 中的所有数据,其中这两个数据在键上匹配。
因为我要处理如此大量的数据,所以我使用 Hadoop 来 MapReduce。我担心的是,要在 A 和 B 之间进行密钥匹配,我需要将所有 Set A(大量数据)加载到每个映射器实例的内存中。这似乎相当低效。
是否有推荐的方法来做到这一点,不需要每次都重复在 A 中加载的工作?
一些伪代码来澄清我目前在做什么:
Load in Data Set A # This seems like the expensive step to always be doing
Foreach key/value in Data Set B:
If key is in Data Set A:
Update Data Seta A