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

Validation 使用map reduce在数据集中执行地址验证,validation,hadoop,parallel-processing,mapreduce,Validation,Hadoop,Parallel Processing,Mapreduce,我有一个数据集,其中包含来自世界各地150个国家的地址,您的任务是验证它们,数据存储在3个字段中–地址行、城市、邮政编码。我还可以为每个国家提供地址验证解决方案,但数据集不包括国家代码。任务是设计逻辑来处理数据并找到每个记录的国家,这样就可以通过验证组件运行这些数据。最有效的方法是什么 由于针对每个记录运行所有150个地址验证组件被认为是不高效的,因此我正在考虑并行处理和使用map reduce。我的逻辑如下: 一个可能的解决方案需要分布式方法和map/reduce框架中的并行处理,例如: 数

我有一个数据集,其中包含来自世界各地150个国家的地址,您的任务是验证它们,数据存储在3个字段中–地址行、城市、邮政编码。我还可以为每个国家提供地址验证解决方案,但数据集不包括国家代码。任务是设计逻辑来处理数据并找到每个记录的国家,这样就可以通过验证组件运行这些数据。最有效的方法是什么

由于针对每个记录运行所有150个地址验证组件被认为是不高效的,因此我正在考虑并行处理和使用map reduce。我的逻辑如下:

一个可能的解决方案需要分布式方法和map/reduce框架中的并行处理,例如:

  • 数据集可以分成相等的“块”,每个国家一块,在不同的集群上并行处理

  • 在每个区块上运行的映射函数可以将每个地址映射为其各自的国家代码

  • 洗牌阶段将按国家汇总映射器功能的所有输出
  • 最后,在每个国家/地区块上运行的reduce函数将验证其各自国家/地区的地址,从而只验证每个国家/地区的有效地址

我不知道这是否有意义,或者是否有可能通过map/reduce实现这一功能。我之所以想到这个解决方案,是因为我记得我们在大学时上过一些关于云计算、并行处理和大数据的课程。任何建议或不同的方法都是非常受欢迎的。。。这是为求职面试准备的,谢谢…

MapReduce可以用于组合大型数据集,但是在您的情况下,您有一个大型数据集(地址)和一个小型数据集(国家)。在这种情况下,只使用Map的MapReduce作业就可以了,您可以执行以下操作:

  • 读取地址数据集作为映射器输入

  • 使用MapReduce将国家数据集读取到内存中(例如作为
    HashMap

  • 在处理每个地址记录时,对其进行
    HashMap
    查找,以将其与国家/地区关联起来

  • 应用验证逻辑和输出


  • 说了这么多,如果我要这么做,我肯定会使用Apache Spark而不是MapReduce。

    我添加了
    hadoop
    标记,因为它应该比其他标记吸引更多的注意力。谢谢你的回复!所以,如果我做对了,在地址到国家协会步骤之后,我不需要做reduce来验证吗?不,这里任何地方都不需要reduce。查找国家后,只需在地图绘制程序中进行验证。如果需要比较/聚合类似记录,则只需减少,但在您的情况下,每个记录都是独立处理的。