DataLakeAnalytics: 解析IP地址对应的国家城市地址的能力

ip

Data Lake Analytics 做为云上数据处理的枢纽,最近加入了经过IP地址查找对应的国家、省份、城市、ISP的函数, 今天带你们体验一下。mysql

函数详细介绍

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

  • 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)数据库

参数详解:app

  • 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的一种快捷用法,参数较少,这几个函数风格相似,两种调用方式:ide

ip_country(ip)函数

ip_country(ip, lang)网站

参数详解:spa

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

ip2long/long2ip

ip2long(ip)
long2ip(longVal)code

Lets make some fun!

废话很少说,咱们直接来体验一下:ip

先来看看国内的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库进行更新,更多详细的介绍能够直接去咱们的官网试用。

Happy DLAing!

参考资料

做者: xumingmingv
原文连接 本文为云栖社区原创内容,未经容许不得转载。 

相关文章
相关标签/搜索