ODPS(MaxCompute)基础教程

Python014

ODPS(MaxCompute)基础教程,第1张

1. 什么是ODPS

简单讲就是数据仓库,可以存储海量数据,可针对海量数据进行分析、计算。

本命其实叫 MaxCompute ,本文介绍统称为ODPS 

官方文档链接: https://help.aliyun.com/document_detail/27800.html?spm=a2c4g.11186623.6.542.17ae65d4wAeKXV

DataWorks 开发套件

是数据工场,对ODPS数据进行加工处理,主要提供了: 数据集成 、 数据开发 、 数据管理 、 数据治理 、 数据分享 等功能。

官方文档链接: https://help.aliyun.com/document_detail/73015.html?spm=a2c4g.11186623.2.13.5ef65b9cBmTZdQ#concept-wqv-qbp-r2b

2. 登录篇(阿里云子账号)

子账号登录地址: https://signin.aliyun.com/login.htm

产品列表:数加 · DataWorks

账号赋权:如需要进行数据开发,需要根据业务需求,赋对应的工作空间的对应权限。

进入DataWorks> 工作空间列表页面,单击对应项目中的进入工作区,即可进入数据开发页面。(如下图)

2.使用篇

目前数据仓库的整体概况

目前承载的业务

业务操作日志备份分析

其他日志:系统运行日志

BI 数据分析相关(市场部BI)

开发前环境准备

开通DataWorks 权限的子账号

创建项目(1)

官方的文档: https://help.aliyun.com/document_detail/27815.html?spm=a2c4g.11186623.6.568.60d01df0XvZAoh

目前我们的工作空间

新建调度资源(2)

一般进行简单的数据分析只需要默认的调度资源就满足业务需求(目前的模式就是按量付费)

需要进行特殊的数据集成、数据操作时会用到自定义资源

PyOdps 资源组:执行py脚本的资源组

mongoDB 资源组:进行MongDb -->ODPS 时会用到资源进行数据同步。

新增数据源(3)

路径:选择项目 ->选择数据集成 ->同步资源管理 ->数据源

按照官方文档新增即可

数据源列表

批量数据上云(4)

路径:选择项目 ->选择数据集成 ->同步资源管理 ->数据源 ->整库数据迁移

数据开发前准备工作完成,可以进入开发阶段。

3 开发篇

数据开发

基本概念:

业务流程:解决一个业务的抽象模型,可以是一个问题的处理流程。

解决方案:多个业务流程组合成一个解决方案,在同一个解决方案里面可以复用相同的业务流程。

其他的概念: https://help.aliyun.com/document_detail/73017.html?spm=a2c4g.11186623.6.543.3b757c78aHPhAD

数据开发流程:

数据开发流程:

选取两个现有的业务进行数据开发演示

财务部门需求

数据埋点分析

流程图如下

4 运维

运维中心:

ps : Maxcompute数据仓库建设的分享。

大致介绍下Maxcompute, Maxcompute是阿里的一个大数据工具,基于Maxcompute阿里搭建了一个Datawork的数据平台。可以很“方便”的从各种数据源导入数据,做数据分析、机器学习等。

“方便"之所以加个引号,是因为某些方面的确很方便,当然业务实在复杂了,很多时候也存在用的很难受的地方。

更多介绍去阿里官网了解吧。

回到正题,这里主要分享下批量删除分区的一个小技巧。

介绍下分区的概念,Table是一个数据表,也是一个分区的数组。分区把Table的数据分成了一个个的区块。

Maxcompute是个不支持某条数据修改删除的数据仓库。而分区是可以删除和新增的。引入分区,就可以做到在小颗粒度上做到修改和删除的功能。

首先描述下为何会有大量的分区需要删除的场景。

分区数量多了之后,文件将会变多。一个是Maxcompute对于表的分区是一个上限数量,另一个是分区数量多了之后计算将会很慢。

这些源数据将会经过清洗产生对应的中间表或者结果集,供BI或者数据分析使用。而源数据为了方便管理,可以通过sql聚合成一个大分区来存放。而原来的很多分区就可以删除,以便腾出空间。

一般正常删除分区是通过sql来删除。

这种方式只能一次删除一个分区,当分区有上万个的时候就不适用了。

这种情况可以通过pyodps来轻松的批量删除分区。

下面是一个删除datahub归档分区的实例

可以在dataworks里面新建个pyodps的节点来每天运行,一劳永逸。

如果是放在python本地运行的话建议使用ipython。具体还需要配置下odps的环境。可以参考下 官方文档 。

Dataworks使用中分库分表很多,怎么配置大量的同步任务。有经验的可以一起研究下。

阿里云的产品致力于提升运维效率,降低IT成本,令使用者更专注于核心业务发展。

云服务器ECS

一种简单高效,处理能力可弹性伸缩的计算服务。助您快速构建更稳定、安全的应用。提升运维效率,降低IT成本,使您更专注于核心业务创新。

云引擎ACE

一种弹性、分布式的应用托管环境,支持Java、PHP、Python、Node.js等多种语言环境。帮助开发者快速开发和部署服务端应用程序,并简化系统维护工作。搭载了丰富的分布式扩展服务,为应用程序提供强大助力。

弹性伸缩

根据用户的业务需求和策略,自动调整其弹性计算资源的管理服务。其能够在业务增长时自动增加ECS实例,并在业务下降时自动减少ECS实例。 

一种即开即用、稳定可靠、可弹性伸缩的在线数据库服务。基于飞天分布式系统和高性能存储,RDS支持MySQL、SQL Server、PostgreSQL和PPAS(高度兼容Oracle)引擎,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案。

开放结构化数据服务OTS

构建在阿里云飞天分布式系统之上的 NoSQL数据库服务,提供海量结构化数据的存储和实时访问。OTS 以实例和表的形式组织数据,通过数据分片和负载均衡技术,实现规模上的无缝扩展。应用通过调用 OTS API / SDK 或者操作管理控制台来使用 OTS 服务。

开放缓存服务OCS

在线缓存服务,为热点数据的访问提供高速响应。

键值存储KVStore for Redis

兼容开源Redis协议的Key-Value类型在线存储服务。KVStore支持字符串、链表、集合、有序集合、哈希表等多种数据类型,及事务(Transactions)、消息订阅与发布(Pub/Sub)等高级功能。通过内存+硬盘的存储方式,KVStore在提供高速数据读写能力的同时满足数据持久化需求。

数据传输

支持以数据库为核心的结构化存储产品之间的数据传输。 它是一种集数据迁移、数据订阅及数据实时同步于一体的数据传输服务。 数据传输的底层数据流基础设施为阿里双11异地双活基础架构, 为数千下游应用提供实时数据流,已在线上稳定运行3年之久。

对象存储OSS

阿里云对外提供的海量、安全和高可靠的云存储服务。RESTFul API的平台无关性,容量和处理能力的弹性扩展,按实际容量付费真正使您专注于核心业务。

归档存储

作为阿里云数据存储产品体系的重要组成部分,致力于提供低成本、高可靠的数据归档服务,适合于海量数据的长期归档、备份。

消息服务

一种高效、可靠、安全、便捷、可弹性扩展的分布式消息与通知服务。消息服务能够帮助应用开发者在他们应用的分布式组件上自由的传递数据,构建松耦合系统。

CDN

内容分发网络将源站内容分发至全国所有的节点,缩短用户查看对象的延迟,提高用户访问网站的响应速度与网站的可用性,解决网络带宽小、用户访问量大、网点分布不均等问题。 负载均衡

对多台云服务器进行流量分发的负载均衡服务。负载均衡可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。

专有网络VPC

帮助基于阿里云构建出一个隔离的网络环境。可以完全掌控自己的虚拟网络,包括选择自有 IP 地址范围、划分网段、配置路由表和网关等。也可以通过专线/VPN等连接方式将VPC与传统数据中心组成一个按需定制的网络环境,实现应用的平滑迁移上云。

开放数据处理服务ODPS

由阿里云自主研发,提供针对TB/PB级数据、实时性要求不高的分布式处理能力,应用于数据分析、挖掘、商业智能等领域。阿里巴巴的离线数据业务都运行在ODPS上。

采云间DPC

基于开放数据处理服务(ODPS)的DW/BI的工具解决方案。DPC提供全链路的易于上手的数据处理工具,包括ODPS IDE、任务调度、数据分析、报表制作和元数据管理等,可以大大降低用户在数据仓库和商业智能上的实施成本,加快实施进度。天弘基金、高德地图的数据团队基于DPC完成他们的大数据处理需求。

批量计算

一种适用于大规模并行批处理作业的分布式云服务。批量计算可支持海量作业并发规模,系统自动完成资源管理,作业调度和数据加载,并按实际使用量计费。批量计算广泛应用于电影动画渲染,生物数据分析,多媒体转码,金融保险分析等领域。

数据集成

阿里集团对外提供的稳定高效、弹性伸缩的数据同步平台,为阿里云大数据计算引擎(包括ODPS、分析型数据库、OSPS)提供离线(批量)、实时(流式)的数据进出通道。

DDoS防护服务

针对阿里云服务器在遭受大流量的DDoS攻击后导致服务不可用的情况下,推出的付费增值服务,用户可以通过配置高防IP,将攻击流量引流到高防IP,确保源站的稳定可靠。免费为阿里云上客户提供最高5G的DDoS防护能力。

安骑士

阿里云推出的一款免费云服务器安全管理软件,主要提供木马文件查杀、防密码暴力破解、高危漏洞修复等安全防护功能。

阿里绿网

基于深度学习技术及阿里巴巴多年的海量数据支撑, 提供多样化的内容识别服务,能有效帮助用户降低违规风险。

安全网络

一款集安全、加速和个性化负载均衡为一体的网络接入产品。用户通过接入安全网络,可以缓解业务被各种网络攻击造成的影响,提供就近访问的动态加速功能。

DDoS高防IP

针对互联网服务器(包括非阿里云主机)在遭受大流量的DDoS攻击后导致服务不可用的情况下,推出的付费增值服务,用户可以通过配置高防IP,将攻击流量引流到高防IP,确保源站的稳定可靠。

网络安全专家服务

在云盾DDoS高防IP服务的基础上,推出的安全代维托管服务。该服务由阿里云云盾的DDoS专家团队,为企业客户提供私家定制的DDoS防护策略优化、重大活动保障、人工值守等服务,让企业客户在日益严重的DDoS攻击下高枕无忧。

服务器安全托管

为云服务器提供定制化的安全防护策略、木马文件检测和高危漏洞检测与修复工作。当发生安全事件时,阿里云安全团队提供安全事件分析、响应,并进行系统防护策略的优化。

渗透测试服务

针对用户的网站或业务系统,通过模拟黑客攻击的方式,进行专业性的入侵尝试,评估出重大安全漏洞或隐患的增值服务。

态势感知

专为企业安全运维团队打造,结合云主机和全网的威胁情报,利用机器学习,进行安全大数据分析的威胁检测平台。可让客户全面、快速、准确地感知过去、现在、未来的安全威胁。

云监控

一个开放性的监控平台,可实时监控您的站点和服务器,并提供多种告警方式(短信,旺旺,邮件)以保证及时预警,为您的站点和服务器的正常运行保驾护航。

访问控制

一个稳定可靠的集中式访问控制服务。您可以通过访问控制将阿里云资源的访问及管理权限分配给您的企业成员或合作伙伴。 日志服务

针对日志收集、存储、查询和分析的服务。日志服务可收集云服务和应用程序生成的日志数据并编制索引,提供实时查询海量日志的能力。

开放搜索

解决用户结构化数据搜索需求的托管服务,支持数据结构、搜索排序、数据处理自由定制。 开放搜索为您的网站或应用程序提供简单、低成本、稳定、高效的搜索解决方案。

媒体转码

为多媒体数据提供的转码计算服务。它以经济、弹性和高可扩展的音视频转换方法,将多媒体数据转码成适合在PC、TV以及移动终端上播放的格式。

性能测试

全球领先的SaaS性能测试平台,具有强大的分布式压测能力,可模拟海量用户真实的业务场景,让应用性能问题无所遁形。性能测试包含两个版本,Lite版适合于业务场景简单的系统,免费使用;企业版适合于承受大规模压力的系统,同时每月提供免费额度,可以满足大部分企业客户。

移动数据分析

一款移动App数据统计分析产品,提供通用的多维度用户行为分析,支持日志自主分析,助力移动开发者实现基于大数据技术的精细化运营、提升产品质量和体验、增强用户黏性。 阿里云旗下万网域名,连续19年蝉联域名市场NO.1,近1000万个域名在万网注册!除域名外,提供云服务器、云虚拟主机、企业邮箱、建站市场、云解析等服务。2015年7月,阿里云官网与万网网站合二为一,万网旗下的域名、云虚拟主机、企业邮箱和建站市场等业务深度整合到阿里云官网,用户可以网站上完成网络创业的第一步。