hadoop - 如何获取基于IP的国家/地区名称

标签 hadoop geolocation ip apache-pig

我有一个IP地址列表。我需要为每个IP分配一个国家。
例如,http://www.ip2nation.com/提供此服务。
我已经找到了一些IP2Country的数据库,但是如何将其与Pig集成在一起?

输入:

14.59.63.28
145.89.87.211
54.27.253.89
98.201.50.22
116.48.29.143
145.89.87.211
20.109.204.65
20.109.204.65

预期产量:
14.59.63.28     country1
145.89.87.211   country2
54.27.253.89    country3
98.201.50.22    country4
116.48.29.143   country5
145.89.87.211   country2
20.109.204.65   country6
20.109.204.65   country6

最佳答案

您将需要从该数据库中获取IP和国家名称数据库摘录。
然后,使用提取的数据与流式传输的数据进行联接。

我将直接加入。为了获得更好的性能,您可以检查Pig中的复制联接
http://pig.apache.org/docs/r0.7.0/piglatin_ref1.html#Replicated+Joins

关于hadoop - 如何获取基于IP的国家/地区名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19245982/

相关文章:

Hadoop/Hive Collect_list 没有重复项

hadoop - HIVE 返回错误的日期

javascript - HTML5 地理定位当前 GPS 位置的纬度和经度坐标放入变量中

PHP MySql 和地理定位

eclipse - 为什么eclipse无法为hbase导入软件包?

hadoop - 无法启动Apache Spark独立集群

javascript - 附加 jQuery 代码以运行 onLoad 和单击按钮?

google-app-engine - Google App Engine - IP 地址列表?

Java获取本地IP

docker - 从 docker 容器内部连接到 docker 守护进程