淘宝IP库

淘宝IP地址库官网地址http://ip.taobao.com/,其查询接口[http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串]](http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串]),如下所示:

但是在MaxCompute中禁止使用http请求,那么如何实现在MaxCompute中进行IP的查询?
目前有三种方式:

  1. 用SQL将数据查询到本地,再发起http请求查询。-->效率低下,且淘宝IP库查询频率需小于10qps,否则拒绝请求。
  2. 下载IP地址库到本地,进行查询。-->同样效率低,且不利于数仓等分析使用。
  3. 将IP地址库定期维护上传至MaxCompute,进行连接查询。-->比较高效,但是IP地址库需自己定期维护。

下载IP地址库

① IP地址库下载,http://ip.taobao.org:9999/ipdata_download.html 下载需要的格式数据。本文以[基本数据格式]为例。

②下载UTF-8数据,打开看看数据格式。

前四个数据是IP地址的起始地址与结束地址,前两个是十进制整数形式,后两个是点分形式。这里我们使用整数形式,以便计算IP是否属于这个网段。

上传IP地址库数据

①创建表DDL:

DROP TABLE IF EXISTS ipresource ;CREATE TABLE IF NOT EXISTS ipresource
(start_ip BIGINT,end_ip BIGINT,start_ip_arg string,end_ip_arg string,country STRING,area STRING,city STRING,county STRING,isp STRING
)
;

②使用Tunnel上传文件(文件>10MB需要使用Tunnel upload命令)

odps@ workshop_demo>tunnel upload ipdata.txt.utf8 ipresource;

可以通过SQL查看到表中共计上传2369306条数据。

③查看ipresource表样本数据。

编写UDF函数

通过编写Python UDF将点号分割的IP地址转化为int类型的IP。详细如下:
①添加Python 资源。

②编写Python资源代码。

from odps.udf import annotate
@annotate("string->bigint")
class ipint(object):def evaluate(self, ip):try:return reduce(lambda x, y: (x << 8) + y, map(int, ip.split('.')))except:return 0

点击提交并解锁。

③新建自定义函数:

提交并解锁:

④验证ipint函数是否生效并满足预期值。

在SQL中使用

以具体IP地址为例,在正常情况会以具体表的字段来读进来。

保证数据准确性可以定期从淘宝IP库获取数据来维护ipresource这个表。

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

在MaxCompute上分析IP来源的方法相关推荐

  1. 一个 Linux 上分析死锁的简单方法

    2019独角兽企业重金招聘Python工程师标准>>> 简介 死锁 (deallocks): 是指两个或两个以上的进程(线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无 ...

  2. 【论坛转贴】IP spoof欺骗关于修改ip源向网页post的方法,伪造虚假IP来源!可用于群发发贴机拱贴机邮件EMail群发!!!!!!

    [论坛转贴]IP spoof欺骗,关于修改ip源向网页post的方法,伪造虚假IP来源!可用于群发发贴机拱贴机邮件EMail群发!!!!!! 现在我急需这段程序,有好心的人帮我解决一下吗     这是 ...

  3. python 解析域名_Python实现通过解析域名获取ip地址的方法分析

    本文实例讲述了Python实现通过解析域名获取ip地址的方法.分享给大家供大家参考,具体如下: 从网上查找的一些资料,特此做个笔记 案例1: def getIP(domain): myaddr = s ...

  4. tp5 接收图片_TP5框架实现上传多张图片的方法分析

    本文实例讲述了TP5框架实现上传多张图片的方法.分享给大家供大家参考,具体如下: 1.效果图(每点击一次'添加选项',就会有一个新的 file 框来添加新的图片) 2.view 添加 $(" ...

  5. tp5多图上传php,TP5框架实现上传多张图片的方法分析

    本文实例讲述了tp5框架实现上传多张图片的方法.分享给大家供大家参考,具体如下: 1.效果图(每点击一次'添加选项',就会有一个新的 file 框来添加新的图片) 2.view 添加 $(" ...

  6. 黑客侦察和隐藏IP地址的方法

    来源: Art Hacker 在正式进行各种"黑客行为"之前,黑客会采取各种手段,探测(也可以说"侦察")对方的主机信息,以便决定使用何种最有效的方法达到自己的 ...

  7. 老大说,网上这种获取真实IP地址的方法不对,我不信...

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:蔡永吉  来源:http://bit.ly/33H8RMm ...

  8. 数据浪潮上的IP雄鹰

    互联网正在打破时间和空间限制深度改变着世界,从一次安全的网络支付,到一次高效的移动办公,从一次快捷的朋友圈互动,到一次轻松的无人驾驶旅行,人们生存在数字化世界中.而宽带网络已成为构建数字社会的基石,在 ...

  9. php 屏蔽ip段,php禁止ip段的方法

    php禁止ip段的方法 发布时间:2020-10-09 14:51:52 来源:亿速云 阅读:90 作者:小新 小编给大家分享一下php禁止ip段的方法,相信大部分人都还不怎么了解,因此分享这篇文章给 ...

最新文章

  1. html form表单提交数据并后台获取
  2. sftp取代ftp的之后的权限设置
  3. 关于代码运行时间Stopwatch的使用
  4. android盒子改造,废旧手机改造成电视盒子详细教程
  5. poj_2349 Kruskal 最小生成树
  6. Topic交换器-搭建环境
  7. 9月我的第一次,新的感悟
  8. win10 漏洞 蓝屏代码
  9. 5教程 watchout_WATCHOUT大屏拼接融合系统
  10. android 界面 edittext详解,Android 开发之EditText属性详解
  11. 华为路由器配置DHCP
  12. linux老男孩学习决心书
  13. 局部边缘保持滤波(LEP)高动态范围图像HDR压缩 matlab程序(一)
  14. HTML.初学.更新
  15. 基于springboot实现学校线上教学平台管理系统【源码+论文】
  16. VK11 VK12 保存增强
  17. 劫持PR值的几个方法 假PR值成真PR值
  18. 智能网联汽车专业术语
  19. 估图数科财税票采集机器人进行合规数据采集
  20. 网购狂欢节炫彩双十一PPT模板

热门文章

  1. ios 获取沙河文件夹_iOS开发之获取沙盒路径
  2. 【前端知识学习】HTML5 学习笔记
  3. requests 返回的cookies为空_爬虫学习(2)(requests库)
  4. 计算机网络 --- 数据链路层CSMA/CA协议
  5. 微软2022服务器,​微软公开地分享了即将发布的WindowsServer 2022的特性
  6. matlab输出高分辨率图片有白色毛刺,科学网—图片空白边缘处理/统计直方图---matlab/保存生成高质量的清晰图 - 杨小林的博文...
  7. python求两数之和的命令_数学建模:科学计算Python2小时-Python基础
  8. 科学计数法_第一章 科学计数法与近似数
  9. 清华大学数学教授吐槽不会做孙子的小学奥数:这学的不是数学,是戏法
  10. 权威发布:2020软科中国最好学科排名