DataLakeAnalytics: 解析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库进行更新,更多详细的介绍可以直接去我们的官网试用。
参考资料
原文链接
更多技术干货 请关注阿里云云栖社区微信号 :yunqiinsight
DataLakeAnalytics: 解析IP地址对应的国家城市地址的能力的更多相关文章
- 根据IP获取所在的国家城市
根据IP获取所在的国家城市 新浪的IP地址查询接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js 新浪多地域测试方法:htt ...
- 使用python解析ip地址
前言 想要批量将ip地址转换为省份城市.国家或是经纬度?百度上的批量查找每次的容量太小满足不了要求?第三方库神器 - geoip2帮你解决所有烦恼. 准备工作 首先安装一下geoip2库, pip i ...
- 关于域名系统DNS解析IP地址的一些总结
关于域名系统DNS(Domain Name System) 从域名中解析出IP地址. DNS主要由3部分组成: ① 名称解析器(resolver) ② 域名空间(domain name space) ...
- PHP 使用 GeoLiteCity 库解析 IP 为地理位置
关于把 IP 地址转换为地理位置可以使用网络上很多的 API,好处就是不用在本地存储一个 IP 数据库,而且一般网络上的 IP 库会自动更新,不利的地方就是太依赖于网络,性能表现也可能会弱些.比如像下 ...
- tcp/ip 卷一 读书笔记(3)为什么既要有IP地址又要有MAC地址
网络层 首先明确一点,并不是所有的网络之间传输数据都需要mac地址和ip地址,比如说点对点线路之间的通信就没有MAC地址,网络层使用ipx协议时就没有ip地址,但是在当前的主流网络中,我们都使用ip地 ...
- 获取ip,判断用户所在城市
PHP获取IP地址 这个比较简单了,利用PHP自带函数就可以了,PHP中文手册看一下,都有现成的例子,就不过多说明了,直接上代码,A段: <? //PHP获取当前用户IP地址方法 $xp_Use ...
- 【TCP/IP网络编程】:03地址族与数据序列
上一篇文章介绍了套接字的创建过程,这篇文章主要讨论分配给套接字的IP地址和端口号的相关知识. IP地址和端口号 IP(Internet Protocol,网络协议)地址是收发网络数据而分配给计算机的值 ...
- 安装Oracle11g时,检测到系统的主 IP 地址是 DHCP 分配的地址
检查完成.此次检查的总体结果为: 失败 <<<< 问题: 安装检测到系统的主 IP 地址是 DHCP 分配的地址. 建议案: Oracle 支持在具有 DHCP 分配的 IP ...
- Java根据ip地址获取Mac地址,Java获取Mac地址
Java根据ip地址获取Mac地址,Java获取Mac地址 >>>>>>>>>>>>>>>>>&g ...
随机推荐
- 多源多汇费用流——poj2516
网络流的题好难..感觉有点遭不住了 这题用矩阵存图,然后把k个物品,每个物品都求一次费用流 /* 多源多汇的费用流 其实是k个费用流 */ #include<bits/stdc++.h> ...
- Myeclipse从外部导入项目时,jsp和html页面中所有的onclick="return xx()"位置均出现cannot return from outside function() or method()错误
- (转)java源程序加密解决方案(基于Classloader解密)
转:http://cjnetwork.iteye.com/blog/851544 源程序加密解决方案 1. 概述: Java源程序的加密,有如下两种: 1使用混淆器对源码进行混淆,降低反编译工具的作用 ...
- PAT甲级——A1119 Pre- and Post-order Traversals【30】
Suppose that all the keys in a binary tree are distinct positive integers. A unique binary tree can ...
- Object 和Throwable
Object java.lang.Object 所有类的超类 Object里面有的方法所有的类都有 Object方法: String toString() 返回对象的字符串表现形式 类名 + @ + ...
- springcloud系列14 bus的使用
首先springcloud_bus原理: (1)完整流程:发送端(endpoint)构造事件event,将其publish到context上下文中(spring cloud bus有一个父上下文,bo ...
- java_网络编程之上传文件案例
初期成果: 客户端: package FileUpload; import java.io.*; import java.net.Socket; import java.util.Scanner; p ...
- Activiti表单(Form key)
1.设置Form key如图: 2.根据任务id得到Form key TaskFormData formData = formService.getTaskFormData(taskId);; Str ...
- cocos2dx触摸响应
Layer其实继承了触控的接口. 所以只需要重写一些函数即可. 在helloword类中重写: virtual bool init(); /** Callback functi ...
- linux centos&Ubuntu&RedHat更换软件源
linux三大版本更换软件源 前排提示,有的源可能已经失效,如果发现请留言或自行寻找其他源. 1.centos mv /etc/yum.repos.d/CentOS-Base.repo [--path ...