首页 > 其他 > 详细

关于hive中iP地址映射地域调研

时间:2014-03-11 08:50:47      阅读:694      评论:0      收藏:0      [点我收藏+]

说明:日常业务经常涉及到ip映射地域的统计,有一定的使用复杂度,本文结合业界几种现状,做一次综合测试评估。

什么是ip地址库

通过ip地址获取用户地理位置信息,一般包括的信息由国家、区域(省/州)、城市、街道、经纬度、ISP提供商等信息。

质量评价标准

  • 粒度。 ip地址库中IP(段)对应的其他信息的精确程度。例如精确到国家还是市、县?不同的应用对IP地址库的粒度要求是不同的。但就IP地址库的自身评价来说,粒度越细,IP地址库的价值越大。
  • 准确度。 提供信息的准确程度,准确度越高,IP地址库的价值越大。
  • 覆盖度。 特定集合,IP地址库覆盖的比例。例如中国IPv4有3.1亿,某IP地址库中含有中国的IP地址数为2.8亿,覆盖度为90%,覆盖度越高,IP地址库越好。
  • 是否有人维护
  • 更新频率

国内外IP地址数据库

国内比较有名的是”纯真“数据库,以及最近更出来的17MON,国外常用的MaxMind、ip2location。

国内百度、淘宝、新浪对外也提供有api接口,可以获取用户经纬度,但是存在访问次数限制。

一般有人维护的,都是收费的,质量、干净、准确程度更好些。

  质量 粒度 准确度 维护 经纬度
公司 ---
纯真
17MON
MaxMind

如下从本公司(ip库)、17MON、MaxMind(免费版)做统计查询比较。

吐槽:纯真格式杂乱不同一,17MON目前只能精确到省份,MaxMind中国部分是汉语拼音。
数据来源,从iplog抓取2500万条用户记录,统计用户uv

  耗时 uv
公司 101.3s  
841974 
17MON 92.3s  
1152597 
MaxMInd 170.0s  
1391777 

测试sql语句:

公司:

hive -e "create temporary function ip_to_city as ‘com.renren.dolphin.udf.IpToArea‘;use acorn_3g;select count(distinct id) from  test_iplog where  get_json_object(ip_to_city(ip),‘$.province‘) = ‘北京市‘;"

17MON:

hive -e "use acorn_3g;add FILE ./17monipdb.dat;add JAR ./HiveUDFs-1.0-SNAPSHOT.jar;create temporary function ip_to_mon as ‘cn.gxnu.ipdata.MonIp‘;select count(distinct id) from test_iplog where split(ip_to_mon(ip),‘\t‘)[1] = ‘北京‘;"

MaxMind

hive -e "add FILE ./GeoLiteCity.dat;add JAR ./HiveUDFs-1.0-SNAPSHOT.jar;CREATE TEMPORARY FUNCTION geoip as ‘net.petrabarus.hiveudfs.GeoIP‘; ;select count(distinct id) from acorn_3g.test_iplog where  geoip(cast (ip_num as bigint),‘REGION_NAME‘,‘./GeoLiteCity.dat‘)=‘Beijing‘;"

新建hive函数

名称 说明 参数 返回值
iptolog IP地址转换为long型 string long
longtoip long转变为ip地址类型 long string
iptocountry 返回国家名称 ip string
iptoprovince 
返回省份名称 ip string
iptocity 返回城市名称 ip string

根据以往业务,打算开发以上几个hive内置函数,减轻大家ip转地域使用复杂度

参考文献

17MON:http://tool.17mon.cn/ipdb.html

maxmind:http://dev.maxmind.com/geoip/legacy/geolite/#

使用Hive UDF和GeoIP库为Hive加入IP识别功能:http://www.cnblogs.com/likai198981/p/3465365.html


关于hive中iP地址映射地域调研,布布扣,bubuko.com

关于hive中iP地址映射地域调研

原文:http://blog.csdn.net/moon_yang_bj/article/details/20880475

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!