ODPS 介绍材料
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Parameter Server
Deploy Task
模型部署 引擎 在线资源 调度
机器学习 算法引擎
大大规模机器学习引擎 支支持 深度学习、大规模机器学习,统计模型等 Predic9on
Predic9on Master Worker
11
查看表中的数据
• 直接运行SELECT语句
SELECT ORDER_DATE, SUM(TOTAL_AMT) FROM EDW_ORDER GROUP BY ORDER_DATE
Data Data
ODPS 控制集群
ODPS 控制集群
ODPS 计算集群
Data Data
ODPS 计算集群
Data Data
5
跨集群访问
Project1 Project2 Project3
集群2 集群1
• 不同集群间数据可以 互通(直读与复制) • Project的数据可以在 不同的集群间迁移
作业调度系统odpscltsdkodps控制集群odps计算集群odps计算集群odps计算集群odps控制集群datadatadatadatadatadatatunnel流计算分析服务预测服务跨集群访问集群1集群2project1project3project2不同集群间数据可以互通直读与复制project的数据可以在不同的集群间迁移存储odps处理数据大都存储在结构化的二维表中table表中的数据类型有bigintbooleandecimaldoubledatetimestring数据由盘古存储系统管理自动化的多副本存储策略提高数据可用性屏蔽底层硬件故障raidfile有效提高存储空间利用率在线系统数据仓库分析挖掘应用mysqloracle文本dataxttcdpmysqloracle文本otsdataxttcdptunneltunnelgraph开发及调度系统分析服务机器学习预测pstunnel基于odpstunnel的工具有dshipdataxttcdp等odpssql10离线模式延迟比较高每个sql的运行时间在几十秒到小时级别语法类似hive的hql是在标准sql的基础上有所扩展不支持updatedeletecreatetableedworderorderdatedatetimecomment?订单生成日期?auctionidstringcomment?商品id?orderqtybigintcomment?数量?pricedoublecomment?单价?totalamtdoublecomment?总价?comment?订单?
13
Join
• 支持 INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN • 以上JOIN的条件中只允许用AND 连接的等 值JOIN • Join中小表可以用MAPJOIN HINT • MAPJOIN中允许用不等值连接及OR条件 • MAPJOIN的使用限制请参考产品说明文档
O D P S
阿里巴巴大数据处理平台
提 纲
l 功能概述 l Tunnel及流式计算 l SQL l MR l Graph l 机器学习 l 安全
2
功能模块
自主可控 -‐ 数据仓库,数据挖掘 -‐ 数据分析,数据分享 海量数据 -‐ 海量结构化,半结构化 海量计算 -‐ 100T Terasort < 30Min 计算模式 -‐ SQL, Map Reduce -‐ Graph, MPI -‐ 流计算 -‐ 实时多维分析 机器学习平台 -‐ 机器学习算法 -‐ MPI, Graph, PS
8
Tunnel
• 数据进出ODPS的通道 • 高并发上传下载 • 服务能力水平扩展 • 可支持每天1P吞吐量 • 分为批量及实时两种模式 • 实时模式支持pub/sub(发布/订阅)模型 • 基于ODPS Tunnel的工具有 dship, datax, TT, CDP等
支支持 SQL、 Map Reduce 典型应用用场景:海量数据仓库建 设、日日志分析、数据统计等 准实时SQL SQL 调度 执行引擎
SQL Parser SQL Task Planner Yarn离线计算引擎 Hadoop 类似
• 屏幕查看数据能够返回的记录数有一定 的限制
12
操作数据
• 把SQL的结果存入另一张目标表中 INSERT OVERWRITE TABLE tbl_name SELECT .... • INSERT OVERWRITE会覆盖目标表中的数据 • INSERT INTO 会在原有数据基础上追加 • 不支持UPDATE, DELETE操作 • 目标表中的列与SELECT产生的列按顺序对应,而不是按列名对应
7
数据处理流程
在线系统 数据仓库 分析挖掘 应用
预测
MySQL Oracle 文本 …
datax, TT CDP,
分析服务
机器学习 G 计 算
S Q L
M R
PS
Tun nel
MySQL Oracle 文本 OTS …
开发及调度系统
• 多组织间的数据交换
– 不仅能满足一个组织内部的数据管控,也能用于多个组织间的数据隔 离和交换。
• 开箱即用的服务
– 用户不用关注基础设施 管理而是关注自己 业务内容,ODPS本 身提供各服务的一致性与连续性。
4
集群
作业调度系统 ODPS CLT(SDK) Tunnel 流计算 分析服务 预测服务 ODPS 计算集群
Add py MyPlus.py; List resources; create function my_plus as 'MyPlus.MyPlus' using 'MyPlus.py'; Select my_plus(1,2) from dual;
18
MR
• • • • 基于飞天平台的Java分布式编程框架 输入与输出都是ODPS的表 受限的Java沙箱 可以基于ODPS MR开发自定义的数据处理算法
普通用户不可以创建与系统内置函数同名的函数
15
自动统计
• • • • 可以在表上创建统计项 在数据插入的同时系统会自动更新统计项 用很小的代价计算出常见的统计数据 数据质量控制
16
资源(Resource)
• 用户实现的函数 在Jar或者Python中, 这些文件必须做为资源加载到ODPS • 文件及ODPS的表也可以作为资源 • 访问资源同样需要通过授权才可以
流计算调 度
Galaxy Task 流处理SQL
SQL Parser Planner
ODPS统一存储(Table/Volume)
可靠存储、资源管理、协同、部署、安全、监控、配置管理
飞天平台
特点及适用场景
• 海量数据的存储
Tunnel batch Tunnel 实时
实时多维分析
Predic9on RESTful API
TASK框架,全局调度,元数据,跨集群复制,计量,安全,冷备,运维管理
ODPS框架
Meta Store OTS
6
存储
• • • • • • • • ODPS处理 数据大都存储在结构化的二维表中(Table) 表隶属于project 表可以进行分区 表中的数据类型有Bigint, Boolean, Decimal,Double, Datetime, String 数据由盘古存储系统管理,自动化的多副本存储策略提 高数据可用性,屏蔽底层硬件故障 列存储结构,压缩存储 内置的数据生命周期管理策略 Raid File有效提高存储空间利用率
10
创建表
• CREATE TABLE EDW_ORDER( ORDER_DATE DATETIME COMMENT '订单生成日期', AUCTION_ID STRING COMMENT '商品ID', ORDER_QTY BIGINT COMMENT '数量', PRICE DOUBLE COMMENT '单价', TOTAL_AMT DOUBLE COMMENT '总价' ) COMMENT '订单'; • 注意: 建表脚本要保存成为UTF-8编码格式,否则查看表信息的时 候可能有乱码
– 只有大量的数据是不够的,还要能将这些数据集中起来才能更好的发 挥作用
• 海量数据的计算
– 通过SQL, MR, Graph等方式,可以在一个任务中轻松处理TB级别的 数据。并且有专门的分布式矩阵运算、数据挖掘算法。 – 流式处理引擎及实时分析帮助用户探索
19
MR
• • • • • • • 输入输出仅支持ODPS内置类型 可以输入多表,输出多表或到不同分区 可以读资源(Resource) 不支持输入view 编译MR程序需要JDK 1.6环境 受限的沙箱安全环境 支持扩展的MR2模式,在Reducer后 接Reducer
17
UDF例子
要实现一个简单的Python加法 ,文件存为MyPlus.py
from odps.udf import annotate @annotate("bigint,bigint->bigint") class MyPlus(object): def evaluate(self, arg0, arg1): if None in (arg0, arg1): return None return arg0 + arg1
注意笛卡尔积:如果JOIN没有ON条件,或Join的两侧都有大量的重复值, 会产生笛卡尔积的效果,此时会导致数据膨胀非常厉害,有时无法完成 运行
14
自定义函数
• • • • • • • 当内置函数不能满足需求时,可以开发自定义函数 开发语言可以用Java, Python 函数创建一次可在跨session使用 函数的使用也会验证权限 Java及Python都是受限的沙箱环境,比如不能访问本地文件 Grant read on function fname to user username; Grant read on resource resname to user username;
9
ODPS SQL
• 适用于大数据量处理(T级别到P级别) • 离线模式延迟比较高,每个SQL的运行时 间在几十秒到小时级别 • 语法类似Hive的HQL,是在标准SQL的 基础上有所扩展 • 没有事务,没有主键, • 不支持UPDATE, DELETE
ML Task
MR Task
图计算引擎 典型应用用场景:关系运算
Osps Task 流处理编程
图计算引 擎
Graph Task
流处理引擎 数据不落地,实时加载算法对流数据进行行处理 流计算框 典型应用用场景:事件过滤,实时预警,日日志分析等 架 MRM引擎