博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DataLakeAnalytics: 解析IP地址对应的国家城市地址的能力
阅读量:5731 次
发布时间:2019-06-18

本文共 2490 字,大约阅读时间需要 8 分钟。

  hot3.png

ip

作为云上数据处理的枢纽,最近加入了通过IP地址查找对应的国家、省份、城市、ISP的函数, 今天带大家体验一下。

函数详细介绍

本次一共添加了下面这些函数:

  • ip2region: 功能最全的函数,可以获取国家,省份,城市的信息,而且支持语言切换, 但是参数较多。
  • ip_country: 获取IP地址对应的国家。
  • ip_province: 获取IP地址对应的地址/省。
  • ip_city: 获取IP地址对应的城市。
  • ip_isp: 获取IP地址对应的ISP(Internet Service Provider)的信息。
  • ip2long: 把IP地址转换成一个数字。
  • long2ip: 把数字转换成一个IP地址。

ip2region

ip2region(ip, level, lang)

参数详解:

  • ip: 要查询的IP地址
  • level: country/province/city/isp
  • lang: cn/en, 返回结果的语言

ip_country/ip_province/ip_city/ip_isp

ip_country/ip_province/ip_city/ip_isp是ip2region的一种快捷用法,参数较少,这几个函数风格类似,两种调用方式:

ip_country(ip)

ip_country(ip, lang)

参数详解:

  • ip: 要查询的IP地址
  • lang: cn/en, 返回结果的语言

ip2long/long2ip

ip2long(ip)

long2ip(longVal)

Lets make some fun!

废话不多说,我们直接来体验一下:

先来看看国内的ip:

mysql> select ip2region('115.239.210.27', 'country', 'CN'),      > ip_country('115.239.210.27'),      > ip_province('115.239.210.27'),      > ip_city('115.239.210.27'),      > ip_isp('115.239.210.27')\G*************************** 1. row ***************************ip2region('115.239.210.27', 'country', 'CN'): 中国                ip_country('115.239.210.27'): 中国               ip_province('115.239.210.27'): 浙江                   ip_city('115.239.210.27'): 杭州                    ip_isp('115.239.210.27'): 电信1 row in set (0.14 sec)

再来看个国外的ip:

mysql> select ip2region('31.13.79.1', 'country', 'CN'),      > ip_country('31.13.79.1'),      > ip_province('31.13.79.1'),      > ip_city('31.13.79.1'),      > ip_isp('31.13.79.1')\G*************************** 1. row ***************************ip2region('31.13.79.1', 'country', 'CN'): 印度                ip_country('31.13.79.1'): 印度               ip_province('31.13.79.1'): 马哈拉施特拉邦                   ip_city('31.13.79.1'): 孟买                    ip_isp('31.13.79.1'):1 row in set (0.08 sec)

最后咱再来切换个语言:

mysql> select ip2region('31.13.79.1', 'country', 'EN'),      > ip_country('31.13.79.1', 'EN'),      > ip_province('31.13.79.1', 'EN'),      > ip_city('31.13.79.1', 'EN'),      > ip_isp('31.13.79.1', 'EN')\G*************************** 1. row ***************************ip2region('31.13.79.1', 'country', 'EN'): India          ip_country('31.13.79.1', 'EN'): India         ip_province('31.13.79.1', 'EN'): Maharashtr             ip_city('31.13.79.1', 'EN'): Mumbai              ip_isp('31.13.79.1', 'EN'):1 row in set (0.06 sec)

总结

我们今天介绍了DLA里面IP地址支持相关的一些函数,这些函数对于用户分析,特别是网站访问用户的地域分析的时候非常有用,在其它数据库里面你可能需要自己实现UDF,或者在应用层进行处理;我们DLA里面已经把这种能力内置了,并且会及时的对IP库进行更新,更多详细的介绍可以直接去试用。

参考资料

  • 题图:

作者:

本文为云栖社区原创内容,未经允许不得转载。 

转载于:https://my.oschina.net/yunqi/blog/3013019

你可能感兴趣的文章
NYOJ32:组合数(DFS入门)
查看>>
使用Callable和Future接口创建线程
查看>>
BZOJ 2568 比特集合
查看>>
sql语句返回主键SCOPE_IDENTITY()
查看>>
MongoDB培训
查看>>
机器学习开源项目精选TOP30
查看>>
python基础===对字符串进行左右中对齐
查看>>
将博客搬至CSDN
查看>>
IO获取文件路径及扩展名等(提供Demo)
查看>>
常用推荐系统算法总结
查看>>
layout图形化界面看不到内容 Failed to find the style corresponding to the id
查看>>
Java实现微信小程序支付(准备)
查看>>
【Error】SSL InsecurePlatform error when using Requests package
查看>>
【Python】日期模块总结
查看>>
python解决列表,字典输出打印unicode转中文显示
查看>>
14-删除文件/目录 - rm,rmdir
查看>>
C#ComboBox控件“设置 DataSource 属性后无法修改项集合”的解决方法
查看>>
hdu 3460 Ancient Printer
查看>>
rails 的安装 - 《 Beginning Rails 3 》- 学习笔记2
查看>>
CListCtrl列表中,改写几列的文字颜色
查看>>