【发布时间】:2024-01-17 02:12:01
【问题描述】:
我的问题。
我有 500,000 个不同的 IP 地址需要进行地理编码。 Geocode 查找表有一个我必须比较的 ip-from 和 ip-to 范围,一个包含 180 万行的表。
所以基本上是这样的:
select *
/*+ MAPJOIN(a) */
from ip_address a
cross join ip_lookup b
where a.AddressInt >= b.ip_from and a.AddressInt <= b.ip_to;
在 aws EMR 上,我正在运行一个 10 m1.large 的集群,并且在交叉连接阶段它在 0% 处卡住了 20 分钟,但有趣的是:
Stage-5: number of mappers: 1; number of reducers: 0
问题: 1)有人有比交叉连接更好的想法吗?我不介意再启动几个(十几个)实例,但我怀疑这会有所帮助并且 2) 我真的像在内存中存储 ip_addresses 那样进行交叉映射连接吗?
提前致谢。
【问题讨论】:
标签: hadoop hive ip-geolocation