hive UDF 分享 通过IP地址获取IDC//省份/城市的信息http://my.oschina.net/wangjiankui/blog/263994
2015-07-23 09:16
549 查看
简述:
简单的2分查找算法,根据IP地址定位IP所属的IP段,然后获取IP段的IDC/省份/城市的信息。
输入:IP地理信息文件,一般地址库拿到后需要格式化一下,参考:
1. 如果省份是null 或者 '' ,city是null或者'' =》 省份=其他 and 城市=其他
2. 省份非空且为直辖市,但是城市非直辖市 = 》 城市=直辖市
3. 省份非空且非直辖市,但是城市为空 =》城市=其他
4. 省份或城市中有(、\等非法信息 = 》 省份=其他 and 城市=其他
?
格式:
?
用法 & 输出:
编辑打包或者编译到hive中参考这篇,这里不在多说:http://my.oschina.net/wangjiankui/blog/64230
get_ip_location_new(visitip,'IDC') //返回IDC信息
get_ip_location_new(visitip,'REGION') //返回省份信息
get_ip_location_new(visitip,'CITY') //返回城市信息
代码:
文章转载自http://my.oschina.net/wangjiankui/blog/263994
简单的2分查找算法,根据IP地址定位IP所属的IP段,然后获取IP段的IDC/省份/城市的信息。
输入:IP地理信息文件,一般地址库拿到后需要格式化一下,参考:
1. 如果省份是null 或者 '' ,city是null或者'' =》 省份=其他 and 城市=其他
2. 省份非空且为直辖市,但是城市非直辖市 = 》 城市=直辖市
3. 省份非空且非直辖市,但是城市为空 =》城市=其他
4. 省份或城市中有(、\等非法信息 = 》 省份=其他 and 城市=其他
?
?
编辑打包或者编译到hive中参考这篇,这里不在多说:http://my.oschina.net/wangjiankui/blog/64230
get_ip_location_new(visitip,'IDC') //返回IDC信息
get_ip_location_new(visitip,'REGION') //返回省份信息
get_ip_location_new(visitip,'CITY') //返回城市信息
代码:
文章转载自http://my.oschina.net/wangjiankui/blog/263994
相关文章推荐
- HTTP下载文件时getContentLength()返回-1
- (转)TCP/UDP简易通信框架源码,支持轻松管理多个TCP服务端(客户端)、UDP客户端
- Unity5.1 新的网络引擎UNET(二) UNET 官方推荐Demo案例
- HTTP协议概述及请求响应入门
- Nginx HTTP过滤模块开发
- Centos在VMware虚拟机上的网络配置一记
- 1491: [NOI2007]社交网络 - BZOJ
- HTTP 头部
- 网络编程socket基本API详解
- 在python3中使用urllib.request编写简单的网络爬虫
- GetMssage()和WSAAsyncSelect()捕获网络事件消息
- HTTP协议与HTTP表单传输格式,再论get、post方法
- http get(swift and oc)
- linux程序设计——主机字节序和网络字节序(第十五章)
- HTTP协议 (一) HTTP协议详解
- 一些在JAVA中获得文件夹路径的方法http://www.cnblogs.com/lostyue/archive/2011/06/27/2091686.html
- 德国精品软件 Throttle 网络加速软件
- 德国精品软件 Throttle 网络加速软件
- 德国精品软件 Throttle 网络加速软件
- 关于 WEB/HTTP 调试利器 Fiddler 的一些技巧分享