Hadoop 使用Map-Reduce进行上转换/分组

Hadoop 使用Map-Reduce进行上转换/分组,hadoop,mapreduce,location,bigdata,Hadoop,Mapreduce,Location,Bigdata,我有两份文件 产品和相关邮政编码列表 美国邮政编码数据 第一份文件的格式如下: offer, location(currently only zips) 1, 84121 1, 84101 1, 58103 1, 58102 2, 84121 2, 84101 ... ... 这个列表有超过40亿行 第二个是来自USPS的邮政编码数据列表以及相关列: Zip, City, State 84121, Salt Lake, UT 84101, Salt Lake, UT .... .... 在小

我有两份文件

  • 产品和相关邮政编码列表
  • 美国邮政编码数据
  • 第一份文件的格式如下:

    offer, location(currently only zips)
    1, 84121
    1, 84101
    1, 58103
    1, 58102
    2, 84121
    2, 84101
    ...
    ...
    
    这个列表有超过40亿行

    第二个是来自USPS的邮政编码数据列表以及相关列:

    Zip, City, State
    84121, Salt Lake, UT
    84101, Salt Lake, UT
    ....
    ....
    
    在小范围内,我可以运行一系列设置差异,将报价向上转换到各自的州和城市,以便包含该州或城市的所有拉链。 如: 通过将报价的拉链组合成一组,我得到 1,设置([84121、84101、58103、58102…)

    然后按状态对第二个列表进行分组: UT,设置([84121,84101,…))

    现在我可以在所有50个状态之间迭代运行一个集差 因此,UT zips-报价1的zips是一个空集。 我可以从报价1中减去UT ZIP,然后加上UT,以此类推。 因此,如果报价1有UT和AZ的所有拉链,只有华盛顿特区的几个拉链 我想和你在一起

    offer, location
    1, UT
    1, AZ
    1, 20011
    ....
    ....
    
    然后,我对所有城市反复运行相同的过程,以向上转换每个优惠的剩余邮政编码

    不用说,这一过程效率极低,规模也不太大。 我不知道有什么更好的解决办法。 我看过这篇文章,虽然这种方法在相交2组时效果很好,但我认为它不适合我的情况。
    谢谢

    问题的发布方式有点让人困惑,这可能就是我们没有看到回复的原因。现在,你已经将你的问题和可能的解决方案组合在一起,例如“现在我可以在所有50个州之间迭代运行一组差异…”我建议你将你的问题分开,然后有一个可能的解决方案部分,然后提及你的解决方案的缺点。这样,像我这样的人可以理解问题并提供帮助。谢谢