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

时间:2014-05-15 16:58:06

标签: hadoop mapreduce location bigdata

我有2个文件

  1. 产品清单及相关邮政编码
  2. 美国邮政编码数据。
  3. 第一份文件的格式为:

    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拉链 - 提供1的拉链是一个空集。 我可以从商品1中减去UT拉链并添加UT等等。 因此,如果报价1包含UT和AZ的所有拉链,而且只有少数来自华盛顿特区 我想最终得到

    offer, location
    1, UT
    1, AZ
    1, 20011
    ....
    ....
    

    然后我迭代地为所有城市运行相同的流程,以便为每个要约转换剩余的邮政编码。

    毋庸置疑,这个过程效率极低,不能很好地扩展。 我不确定什么是更好的解决方案。 我已经查看了这篇文章here,虽然这种方法适用于交叉2套我不认为它适合我的情况。 感谢

0 个答案:

没有答案