文档章节

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

阿里云云栖社区
 阿里云云栖社区
发布于 02/21 14:59
字数 725
阅读 35
收藏 0

ip

Data Lake Analytics 作为云上数据处理的枢纽,最近加入了通过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库进行更新,更多详细的介绍可以直接去我们的官网试用。

Happy DLAing!

参考资料

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

© 著作权归作者所有

阿里云云栖社区
粉丝 450
博文 1558
码字总数 3823668
作品 0
朝阳
私信 提问
DataLakeAnalytics: 解析IP地址对应的国家城市的函数 - 知乎

Data Lake Analytics 作为云上数据处理的枢纽,最近加入了通过IP地址查找对应的国家、省份、城市、ISP的函数, 今天带大家体验一下。 函数详细介绍 本次一共添加了下面这些函数: : 功能最全的...

Data Lake Analytics
04/30
0
0
基于OSS的数据交互式查询分析和BI报表

基于OSS的数据查询分析和BI报表 数据存储在OSS后,有多种查询分析的方法,包括阿里云MaxCompute、DataLakeAnalytics产品等Severless查询分析服务,也可以自建Spark、Presto、Imapla应用来分析...

whj.
2018/09/20
0
0
基于OSS+DataLakeAnalytics+QuickBI的Serverless的查询分析和可视化BI

基于OSS的数据查询分析和可视化BI报表 数据存储在OSS后,有多种查询分析的方法,包括阿里云MaxCompute、DataLakeAnalytics产品等Severless查询分析服务,也可以自建Spark、Presto、Imapla应用...

阿里云云栖社区
04/08
0
0
DLA新增函数发布:手机号查询所属省、城市、运营商

概述 本月,Data Lake Analytics(https://www.aliyun.com/product/datalakeanalytics,https://et.aliyun.com/bdad/datalake)发布了手机号查询所属省、城市、运营商的内置函数。本文详细介...

javainthinking
08/09
0
0
Docker 在 7 个国家开始被禁止!

近日Pastebin网站上出现了这样一则帖子,内容翻译过来如下: Docker在部分国家无法使用 Docker是一家美国公司,只好遵守美国在出口控制方面的法规。为了努力遵守这些法规,现在阻止位于古巴、...

局长
2017/02/01
6.5K
17

没有更多内容

加载失败,请刷新页面

加载更多

TCP/IP学习——IP协议的辅助协议

在TCP/IP网络模型中,网络层仅凭借IP协议是无法实现通信功能,还需要其他技术或者协议辅助实现。比如在进行web页面访问时,不会直接输入IP地址进行通信,而是输入网址,那么就需要一种技术将...

江左煤郎
6分钟前
2
0
在Ignite中自定义身份认证安全插件

Ignite集群搭建完成之后,应用就可以接入集群进行各种操作了,但是默认的集群,没有安全保护机制,任何应用、支持JDBC的客户端,只要知道集群节点的IP地址,都可以接入集群,这造成了一定的安...

李玉珏
49分钟前
26
0
浅谈proxy代理模式

一、前言 代理是代替服务器去接受请求者的请求的中间人。我们也听说过代理服务器,它的作用的帮助客户端去请求客户端想要的资源,为什么要通过代理呢,那是因为客户端直接访问服务器会被拒绝...

青衣霓裳
50分钟前
5
0
Java多线程之原子操作类

在并发编程中很容易出现并发安全问题,最简单的例子就是多线程更新变量i=1,多个线程执行i++操作,就有可能获取不到正确的值,而这个问题,最常用的方法是通过Synchronized进行控制来达到线程...

全菜工程师小辉
今天
7
0
arcgis arcpy 克里金插值 掩膜 配置符号系统 自动生成图片

整体思路,最后要加载到mxd文件中,然后导出图片 首先加载mxd文件 mxd = mapping.MapDocument(r"./11.mxd") 然后读取数据 并加载到图层中 sr = arcpy.SpatialReference(4326) # 读取csv...

可达鸭Go
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部