使用map reduce在数据集中执行地址验证

dced5bon  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(533)

我有一个数据集,其中包含来自世界各地150个国家的地址,你的任务是验证它们,数据存储在3个字段-地址行,城市,邮政编码。我还提供了针对每个国家的地址验证解决方案,但数据集不包括国家代码。任务是设计逻辑来处理数据并找到每个记录的国家,这样就可以通过验证组件运行这些数据。最有效的方法是什么。
由于针对每个记录运行所有150个地址验证组件被认为是不高效的,因此我正在考虑并行处理和使用map reduce。我的逻辑如下:
一个可能的解决方案需要分布式方法和map/reduce框架中的并行处理,例如:
数据集可以分成相等的“块”,每个国家一块,在不同的集群上并行处理。
在每个区块上操作的Map函数可以将每个地址与其各自的国家代码进行Map。
洗牌阶段将按国家汇总Map器功能的所有输出
最后,在每个国家块上运行的reduce函数将验证其各自国家的地址,从而只验证每个国家的有效地址。
我不知道这是否有意义,或者是否有可能通过map/reduce实现这个功能。我之所以想到这个解决方案,是因为我记得我们在大学时学过一些关于云计算、并行处理和大数据的课程。任何建议或不同的方法都是非常受欢迎的。。。这是面试用的谢谢。。。

c3frrgcw

c3frrgcw1#

mapreduce对于组合大型数据集非常有用,但是在您的情况下,您有一个大型数据集(地址)和一个小型数据集(国家)。在这种情况下,只使用Map的mapreduce作业就可以了,您可以执行以下操作:
读取地址数据集作为Map器输入。
将国家数据集读入内存(例如 HashMap ),使用mapreduce的缓存功能。
做一个 HashMap 在处理每个地址记录时对其进行查找,以将其与所在国家/地区相关联。
应用验证逻辑和输出。
话虽如此,如果我要这么做,我肯定会使用apachespark而不是mapreduce。

相关问题