在MaxCompute上分析IP来源的方法
淘宝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的查询?
目前有三种方式:
- 用SQL将数据查询到本地,再发起http请求查询。-->效率低下,且淘宝IP库查询频率需小于10qps,否则拒绝请求。
- 下载IP地址库到本地,进行查询。-->同样效率低,且不利于数仓等分析使用。
- 将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来源的方法相关推荐
- 一个 Linux 上分析死锁的简单方法
2019独角兽企业重金招聘Python工程师标准>>> 简介 死锁 (deallocks): 是指两个或两个以上的进程(线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无 ...
- 【论坛转贴】IP spoof欺骗关于修改ip源向网页post的方法,伪造虚假IP来源!可用于群发发贴机拱贴机邮件EMail群发!!!!!!
[论坛转贴]IP spoof欺骗,关于修改ip源向网页post的方法,伪造虚假IP来源!可用于群发发贴机拱贴机邮件EMail群发!!!!!! 现在我急需这段程序,有好心的人帮我解决一下吗 这是 ...
- python 解析域名_Python实现通过解析域名获取ip地址的方法分析
本文实例讲述了Python实现通过解析域名获取ip地址的方法.分享给大家供大家参考,具体如下: 从网上查找的一些资料,特此做个笔记 案例1: def getIP(domain): myaddr = s ...
- tp5 接收图片_TP5框架实现上传多张图片的方法分析
本文实例讲述了TP5框架实现上传多张图片的方法.分享给大家供大家参考,具体如下: 1.效果图(每点击一次'添加选项',就会有一个新的 file 框来添加新的图片) 2.view 添加 $(" ...
- tp5多图上传php,TP5框架实现上传多张图片的方法分析
本文实例讲述了tp5框架实现上传多张图片的方法.分享给大家供大家参考,具体如下: 1.效果图(每点击一次'添加选项',就会有一个新的 file 框来添加新的图片) 2.view 添加 $(" ...
- 黑客侦察和隐藏IP地址的方法
来源: Art Hacker 在正式进行各种"黑客行为"之前,黑客会采取各种手段,探测(也可以说"侦察")对方的主机信息,以便决定使用何种最有效的方法达到自己的 ...
- 老大说,网上这种获取真实IP地址的方法不对,我不信...
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:蔡永吉 来源:http://bit.ly/33H8RMm ...
- 数据浪潮上的IP雄鹰
互联网正在打破时间和空间限制深度改变着世界,从一次安全的网络支付,到一次高效的移动办公,从一次快捷的朋友圈互动,到一次轻松的无人驾驶旅行,人们生存在数字化世界中.而宽带网络已成为构建数字社会的基石,在 ...
- php 屏蔽ip段,php禁止ip段的方法
php禁止ip段的方法 发布时间:2020-10-09 14:51:52 来源:亿速云 阅读:90 作者:小新 小编给大家分享一下php禁止ip段的方法,相信大部分人都还不怎么了解,因此分享这篇文章给 ...
最新文章
- html form表单提交数据并后台获取
- sftp取代ftp的之后的权限设置
- 关于代码运行时间Stopwatch的使用
- android盒子改造,废旧手机改造成电视盒子详细教程
- poj_2349 Kruskal 最小生成树
- Topic交换器-搭建环境
- 9月我的第一次,新的感悟
- win10 漏洞 蓝屏代码
- 5教程 watchout_WATCHOUT大屏拼接融合系统
- android 界面 edittext详解,Android 开发之EditText属性详解
- 华为路由器配置DHCP
- linux老男孩学习决心书
- 局部边缘保持滤波(LEP)高动态范围图像HDR压缩 matlab程序(一)
- HTML.初学.更新
- 基于springboot实现学校线上教学平台管理系统【源码+论文】
- VK11 VK12 保存增强
- 劫持PR值的几个方法 假PR值成真PR值
- 智能网联汽车专业术语
- 估图数科财税票采集机器人进行合规数据采集
- 网购狂欢节炫彩双十一PPT模板
热门文章
- ios 获取沙河文件夹_iOS开发之获取沙盒路径
- 【前端知识学习】HTML5 学习笔记
- requests 返回的cookies为空_爬虫学习(2)(requests库)
- 计算机网络 --- 数据链路层CSMA/CA协议
- 微软2022服务器,​微软公开地分享了即将发布的WindowsServer 2022的特性
- matlab输出高分辨率图片有白色毛刺,科学网—图片空白边缘处理/统计直方图---matlab/保存生成高质量的清晰图 - 杨小林的博文...
- python求两数之和的命令_数学建模:科学计算Python2小时-Python基础
- 科学计数法_第一章 科学计数法与近似数
- 清华大学数学教授吐槽不会做孙子的小学奥数:这学的不是数学,是戏法
- 权威发布:2020软科中国最好学科排名