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)
ip2region(ip, level)

参数详解:

  • 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'): Indiaip_country('31.13.79.1', 'EN'): Indiaip_province('31.13.79.1', 'EN'): Maharashtrip_city('31.13.79.1', 'EN'): Mumbaiip_isp('31.13.79.1', 'EN'):
1 row in set (0.06 sec)

总结

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

Happy DLAing!

题图: Static IP Addresses: Everything You Need to Know

ip地址转换数字函数 iton_DataLakeAnalytics: 解析IP地址对应的国家城市的函数相关推荐

  1. 钢铁厂IP网络广播呼叫对讲案例解析-IP网络广播呼叫对讲应用川威集团钒钛钢厂

    钢铁厂IP网络广播呼叫对讲案例解析-IP网络广播呼叫对讲应用川威集团钒钛钢厂 北京海特伟业科技有限公司发布于2022年6月4日 文/王丽 一.钢铁厂IP网络广播呼叫对讲系统概述 钢铁厂IP网络广播呼叫 ...

  2. ip地址转换数字函数 iton_IP 地址转换(在点分格式和数字之间相互转换)

    MySQL 中的内的 IP 地址转换函数: 1. IP 由点分格式,转换为数字格式.mysql> select inet_aton('202.96.128.68'); +------------ ...

  3. ip地址转换数字函数 iton_IP地址的字符串形式和数字形式之间的相互转换函数

    最近要用到网络编程的东西,差一点自己去山寨已有的函数.基础不好,不知道已有函数可以满足需要,呵呵. 这个示例程序说的是ip地址的数字形式和字符串形式之间的相互转换. 从字符串形式转换到数字形式: in ...

  4. ip地址转换数字函数 iton_PHP中IP地址与整型数字互相转换详解

    IP转换成整型存储是数据库优化一大趋势,不少人目前存储IP时还在使用字符串类型存储,字符串索引比整型索引消耗资源很多,特别是表中数据量大的时候,以及求查询某一个ip段的数据,今天说的ip是指ip4,i ...

  5. ip地址转换数字函数 iton_数字转IP地址函数

    -- 数字转 IP 地址函数: IF OBJECT_ID ( 'dbo.fn_IP2Str' )> 0 DROP FUNCTION dbo . fn_IP2Str GO CREATE FUNCT ...

  6. ip地址转换数字函数 iton_字符串IP地址转换成IP数值函数

    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_IP2Int]') and xtype in (N'FN ...

  7. ip地址转换数字函数 iton_3. IP地址转换函数

    一.字符串表示的IP地址需要被转化为整数(二进制数)方能使用 IPv4地址:点分十进制字符串 IPv6地址:十六进制字符串 有时(如记录日志),我们则要把整数(二进制数)表示的IP地址转化为可读的字符 ...

  8. ip地址转换数字函数 iton_IP地址转换函数

    在ASCII字符串("192.168.0.99")与网络字节序的二进制值间转换地址. 涉及函数的头文件为#include 一.只适用于IPv4协议的函数: int inet_ato ...

  9. mysql函数及解析,Mysql研究之MySQL常用内置函数完全解析

    说明: 1 )可以用在 SELECT/UPDATE/DELETE 中,及 where , orderby , having 中 2 )在函数里将字段名作为参数,变量的就是字段所对应的每一行的. 3 ) ...

最新文章

  1. Java 线程状态之 WAITING
  2. 数据挖掘实战:带你做客户价值分析(附代码)
  3. 不同stm32f103芯片内部外设资源
  4. 网站运营之做到SEO操作视频教程【21讲】
  5. 5、HIVE DML操作、load数据、update、Delete、Merge、where语句、基于分区的查询、HAVING子句、LIMIT子句、Group By语法、Hive 的Join操作等
  6. Cortex‐M3-指令集
  7. 计算机硬盘满了怎么解决,使用SSD硬盘空间清理 C盘爆满怎么办
  8. 系统架构师学习笔记-软件架构设计
  9. 域名防系统+独立接口池+独立会员+独立权限
  10. 在eclipse安卓sqlite怎么用_把安卓手机性能发挥到极致之-Aid Learning
  11. 解决”java.lang.UnsatisfiedLinkError: Native Library .dll already loaded in another classloader”的问题
  12. 利用ettercap进行简单的基于数据库的ARP毒化攻击
  13. leetcode 456. 132 Pattern 132模式 题解(栈)
  14. 简单电话系统的电话数量分析
  15. 集合类 collection接口 LinkedList
  16. sql取整数_SQL 窗口函数
  17. 条款十一: 为需要动态分配内存的类声明一个拷贝构造函数和一个拷贝赋值运算符...
  18. Django media 配置
  19. 关于Nod的离线升级方案
  20. 最厉害的象棋软件_太牛了!象棋史上最厉害人机高手竟弃车跟软件对杀,就问你敢不敢...

热门文章

  1. 【Java 数据库】Connections.getTables() 方法 获取数据库的元数据
  2. C#中重写(override)和覆盖(new)的区别
  3. 牛客网_PAT乙级1002_数字分类 (20)
  4. 深入理解gradle中的task
  5. troubleshoot之:分析OutOfMemoryError异常
  6. 一张PDF了解JDK9 GC调优秘籍-附PDF下载
  7. Java知识整理——JDBC
  8. python支持list类型吗_Python-不支持的操作数类型为%:“list”和“int”
  9. deepin如何布署python_【玩转deepin】简单三步,教你在deepin15.11上安装Python3.7.4
  10. charles 过滤指定域名