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个州之间迭代运行一组差异…”我建议你将你的问题分开,然后有一个可能的解决方案部分,然后提及你的解决方案的缺点。这样,像我这样的人可以理解问题并提供帮助。谢谢