首页 阿里开放数据处理服务

阿里开放数据处理服务

举报
开通vip

阿里开放数据处理服务 阿里巴巴-开放数据处理服务 (Open Data Processing Service, ODPS) 数据平台事业部 – 杨少华 2 提纲 • 背景与概况 • 服务架构 • 关键技术 • 服务管理 • 结语 3 背景 • 海量数据处理和分享需求 – PB级电商交易数据 – 阿里系各事业部、合作伙伴的数据交换和融合 – 第三方公司的数据处理需求 • ...

阿里开放数据处理服务
阿里巴巴-开放数据处理服务 (Open Data Processing Service, ODPS) 数据平台事业部 – 杨少华 2 提纲 • 背景与概况 • 服务架构 • 关键技术 • 服务管理 • 结语 3 背景 • 海量数据处理和分享需求 – PB级电商交易数据 – 阿里系各事业部、合作伙伴的数据交换和融合 – 第三方公司的数据处理需求 • 典型数据业务 – 信用贷款/广告DMP 4 ODPS 云计算 服务 高可用 5 服务概况 • 集群 – 多个集群 – 单集群规模 – 机器:5000台 – CPU:10万核 – 内存:500TB – 磁盘容量:100PB • 负载 – 亿级别文件 – 作业量:5万/天 – 作业I/O:PB级别/天 • 业务 – 数百数据开发工程师 – 阿里系各事业部 – 开始为部分第三方ISV和 科研机构开放数据存储和 分析能力 6 提纲 • 背景与概况 • 服务架构 • 接入层 • 逻辑层 • 存储与计算层 • 关键技术 • 服务管理 • 结语 服务架构 7 POST http://xxx/projects/projectname/jobs insert overwrite table d select * from s; 接入层 RESTful 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 LVS 逻辑层 存储与计算层 负载均衡 协议处理、用户认证 用户空间管理,Query语法语 义分析以及执行计划生成, 数据对象访问控制 分布式存储和计算 8 接入层 • 访问ODPS服务的唯一入口,提供SDK和Console • 功能 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计  用户认证  RESTful APIs,基于HTTP协议,支持对资源实体的CRUD操作 • 资源实体  Project 类似DataBase/Schema,用户隔离和访问控制的主要边界 • Table/Partition,数据集合 • UDF/Resource,文件,jar包,py脚本 • Job/Instance,抽象可执行实体和运行实例  User/Role,用于管理用户对Project内实体的访问控制和授权 接入层-架构 9 ODPS 服务 A HTTP服务 数据上传/下载服务 SDK Console 客户端 分布式 meta服务 用户 中心 在云端(Web IDE) 天网 RESTful APIs 日志工具 · · · 接入层 逻辑层 ODPS 服务 B Project 1 Project 2 存储与计算层 10 接入层-分析 • RESTful风格的接入层带来诸多好处 • 方便应用集成,支持非linux平台 • 方便安全隔离,易于对公网开放 • 作业日志在后端,便于查错 • 客户端轻量,升级方便 11 逻辑层 • 负责实现RESTful APIs语义 • 用户请求分两类 • DDL请求,如创建表/删除表,在逻辑层响应完成 • DML请求,如SQL查询和MR作业,需提交计算作业到存储与计算层 • 实现架构 • Worker • Scheduler • Executor • Meta服务 Worker 1 Executor 1 Scheduler … … 分布式 meta服务 DDL or DML DML 飞天集群 飞天作业 逻辑层-双服务架构 12 分布式 meta服务 接入层 逻辑层 飞天集群 A 飞天集群 B · · · 存储与 计算层 接入层 RESTful协议 Worker 1 Worker m Executor 1 Scheduler Executor n … 服务 A (控制集群A) Project 1 Project 2 … 服务B (控制集群B) 13 逻辑层-分析 • Worker/Executor • 线性可扩展,负载均衡 • Schduler • 只维护一组运行实例,无状态(状态总是持久化) • 双ODPS服务 • 灰度发布,不停服务轮转升级,failover • 分布式meta服务 • 使用阿里云OTS分布式存储系统,无需担心空间不够 • 统一名称空间,双服务和多飞天集群对用户透明 14 存储与计算层 • 多个飞天集群组成 • 支持跨集群(机房)数据共享 • 存储 • 使用盘古分布式文件系统 • Master-Slave结构 • 基于Paxos的多Master,故障恢复小于一分钟 • 文件分块(Chunk),每块存三份,分布在不同机架 • 表数据采用统一文件格式:CFile,基于列存储的压缩文件格式 • 提供数据上传和下载服务,支持PB/天的吞吐量 • 计算 • 支持多种计算模式:SQL,MR,算法库,图计算(Pregel) • 采用伏羲作业,支持DAG,支持基于CPU/MEM的资源调度 15 提纲 • 背景与概况 • 服务架构 • 关键技术 • 跨集群(机房)数据共享 • 高效SQL引擎 • 矩阵运算和数据挖掘算法库 • 图计算框架 • 服务管理 • 结语 16 跨集群(机房)数据共享(1) • 为什么要做 • 业务快速增长,单集群扩容受机房容量、飞天规模限制 • 难点 • 数据存储和计算如何划分 • 数据动态变化,需要保证数据读取正确性 • 跨机房带宽如何使用 • 对用户透明 分布式 meta服务 逻辑层 存储与 计算层 ODPS 服务(控制集群) ODPS 服务 飞天集群 A (机房1) 飞天集群 B (机房2) Worker/Scheduler/Executor 飞天集群 A (机房1) —— 按业务project进行划分 —— 引入数据版本 —— 跨集群数据复制任务,流控 —— 数据存储本来就对用户透明 17 跨集群(机房)数据共享(2) • 按业务划分集群 – 关系密切业务的project放在同一个集群 – 每个project对应一个默认集群,作业总是跑在默认集群上 • 数据版本 – 同一份数据(表或分区)在多个集群上可能具有不同的版本 – 当一份数据版本更新后,触发一个跨集群数据复制任务 • 跨集群数据复制 – 表或分区可以配置是否进行跨集群复制(自动或手工) – 流控,优先级 • 直读直写,应对新的跨集群数据依赖,少量任务 {"LatestVersion":V1,"Status":{"ClusterA":"V1","ClusterB":"V0"}} 18 跨集群(机房)数据共享(3) • 实施 • 业务project数据依赖做大量的分析统计,与业务方协 商集群划分方案 • 历史数据迁移,观察跨机房数据流量 • 开始逐步切换project的默认集群到新集群 • 效果 • 拥有万级别的大规模集群,后期扩容不受限制 • 对用户透明,跨机房流量可控 • 业务方反映这是最轻松的一次业务迁移 19 高效SQL引擎 • 作业概况: – DDL:几十万/天,DML:几万/天 • 特性  兼容大部分Hive语法  支持Python和Java写UDF,UDAF,UDTF  物理执行方式:DAG,C++实现  Code gen  准实时实现(Service-Mode) 20 高效SQL引擎(2)-DAG • 示例 • Hive • ODPS SQL • 减少磁盘IO,SQL嵌套多层时性能改进更明显 SELECT … FROM a JOIN b ON a.id=b.id GROUP BY a.c; M1 hdfs hdfs R1 Job 1 M2 hdfs R2 Job 2 M1 pangu R1 M2 pangu R2 SQL(3)-准实时 • Service-Mode • 常驻服务,预先申请好worker - 减少调度开销 • Shuffle数据不落地,直接写网络 • 假设作业规模m*r,要求r个reduce先起,接收map写的 数据 • 内存文件 • LLVM,减少编译时间 • 根据SQL类型和数据量动态决定是否采用Service- Mode方式 • 未考虑Failover,主要用于开发project和Adhoc数 据分析 22 Xlib-矩阵运算与数据挖掘算法库  当前支持算法 – SVD分解 – 逻辑回归 – 随机森林 – …  集成Graphlib算法库 • 金融建模/广告等场景有强烈的分布式算法需求 • ODPS分布式算法库  基于MPI,C++实现  集团共建算法社区模式,集成常用基础性算法 23 图计算框架 • 海量图结构数据 – 社交网络(来往,微博),物流信息(菜鸟物流) – 电商关系:类目/商品/买家/卖家,交易/浏览 • ODPS图计算框架 – 支持类似Pregel的Java编程接口,面向迭代类型的作业 – 磁盘IO→内存网络,换来更快的性能  典型应用: – PageRank – K-均值聚类 – 非负矩阵分解NMF – …  算法往往跟业务相关 24 提纲 • 背景与概况 • 服务架构 • 关键技术 • 服务管理 • 结语 25 服务管理 • 多租户共享集群 • 基于ACL和Policy的认证授权机制 • 基于project的业务划分 • 基于配额的管理 • 基于历史的优化 • 多种类型计算作业共享集群 26 总结 • 阿里巴巴数据处理服务(ODPS) – 支持海量数据的离线存储和计算 – 以RESTful API的方式提供服务 – 基于飞天分布式平台 – 支持跨集群(机房)数据共享 – 支持SQL、MapReduce、MPI、图计算编程框架 – 支持常用的矩阵运算和数据挖掘算法 – 支持多租户和基于ACL/Policy的权限控制 我们面对一座数据金矿,就看怎么能挖出更多的 金子,期待有志之士加入阿里数据平台 www.alidata.org 27 Q & A 欢迎安装来往,扫描加入ODPS扎堆
本文档为【阿里开放数据处理服务】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_926087
暂无简介~
格式:pdf
大小:1MB
软件:PDF阅读器
页数:27
分类:互联网
上传时间:2013-12-24
浏览量:75