阿里云-数仓 数据开发神器-ODPS(MaxCompute)的组成对象

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 阿里云-数仓 数据开发神器-ODPS(MaxCompute)的组成对象

阿里云-数仓-ODPS基本功能

用户项目空间-Project
项⽬空间是阿⾥云⼤数据集成服务平台最基本的组织对象,是您管理表(Table)、资源(Resource)、⾃定义函数(UDF)、节点(Node)、权限等的基本单元。

项目空间是MaxComputer 的基本组织单元,它类似Oracle的schema或者Mysql中的database。是进行多用户隔离和访问控制的主要边界。一个用户可以同时拥有多个项目空间的权限。通过安全授权建立共享通道,进行数据交换让其可以在一个项目空间中访问另一个项目空间中的对象。

表(Table)
表是MaxCompute的数据存储单元。它在逻辑上也是由行和列组成的二维结构,每行代表一条记录,每列表示相同数据类型的一个字段,一条记录可以包含一个或者多个列,各个列的名称和类型构成这张表的Schema。
MaxComputer的表格分为两种类型:外部表及内部表。
内部表的所有数据都被存储在MaxComputer中。表中的列可以是MaxCompute支持的任意数据类型(Bigint、Double、String、 Boolean和Datetime)。MaxCompute中的各种类型计算任务(输入、输出)的操作对象都是表。用户可以创建、删除表以及向表中导入数据。
对于外部表,MaxCompute并不真正持有数据,表格的数据可以存放在OSS中。MaxCompute仅会记录表格中的Meta信息。用户可以通过MaxCompute的外部表机制处理OSS上的非结构化数据,例如:视频、音频、气象、地理信息等。
其主要流程包括:
1、将数据上传至OSS;
2、在RAM产品中授予MaxCompute服务读取OSS数据权限。
3、自定义Extractor:用户读取OSS上特殊格式数据。目前,MaxCompute默认提供CSV格式的Extractor,并提供视频格式数据读取的代码样例。
4、创建外部表;
5、执行SQL作业分析数据;
注意:目前MaxCompute仅支持读取外部数据,即读取OSS数据,不支持向外部写入数据;

分区(Partition)
分区表指的是在创建表时指定的分区空间,即指定表内的某几个字段作为分区列。
大多数情况下,用户可以将分区类比为文件系统下的目录。
MaxCompute将分区列每一个值作分区(目录)。用户可以指定多级分区,即将表的多个字段作为表的分区,分区之间正如多级目录的关系。在使用数据时如果指定了需要访问的分区名称,则只会读取相应的分区,避免扫描全表,提高处理效率,降低费用。

create table src (key string, value bigint) partitioned by (pt string);

目前,MaxCompute仅承诺String分区。且目前最多支持六级分区

自定义函数(User Defined Functuon,简称UDF)
MaxCompute为用户提供了SQL计算功能,用户可以在MaxCompute SQL中使用系统的内建函数完成一定的计算和计数功能。但是当内建函数无法满足要求时,用户可以使用MaxCompute提供的Java编程接口开发自定义函数UDF,UDF又可以进一步分为标量值函数UDF、自定义聚合函数UDAF和自定义表值函数UDTF三种。

一般常见 于数据仓库中-建立 带有 业务属性的函数或 带业务特性的主键。

资源(Resource)
资源是MaxCompute的特有概念。用户如果想使用MaxCompute的自定义函数(UDF)或者MapReduce功能需要依赖资源来完成。
例如用户在编写好UDF后,需要将编译好的jar包以资源的形式上传到ODPS。运行这个UDF时,MaxCompute会自动下载这个Jar包,获取用户代码,运行UDF而无需用户干预。上传Jar包的过程就是在MaxCompute上创建资源的过程。

任务(Task)和作业(Job)
任务
任务是ODPS的基本计数单元。SQL以及MapReduce功能都是通过任务完成的。
对于用户提交的大多数任务,特别是计算型任务,MaxCompute会将其进行解析,得出任务的执行计划。
执行计划是由具有依赖关系的多个执行阶段(Stage)构成的。
目前,执行计划逻辑上可以被看作一个有向图,图中的点是各个执行阶段,边是各个执行阶段之间的依赖关系。在同一个执行阶段内,会有多个进程,也称之为Worker,共同完成该执行阶段的计算工作。同一个执行阶段内的不同Worker之间只是处理的数据不同,执行逻辑完成相同。
作业(Job)
是由一个或者多个Task以及表示其执行次序关系的工作流(Workflow),工作流是个有向无环图。当一个作业被提交到系统中执行时,该作业就会拥有一个作业实例(Instance)。另一方面,部分MaxCompute任务并不是计算型任务。例如DDL SQL语句,这些任务本质上只需要读取修改MaxCompute的元数据,因此这些任务不能被解析出执行计划。
工作流
工作流是一个DAG图(有向无环图),其描述了作业中多个节点之间的逻辑(依赖关系)和规则(运行约束)。

节点
节点指通过数据开发界⾯提交发布或者调度API新建接口创建的调度定义信息。
它属于工作流的子对象,也称为任务,是大数据开发平台数据处理和分析过程最基本单元,每个任务对应DAG图中的一个节点,其可以是一个SQL Query、命令和MapReduce程序。

依赖关系
依赖关系是描述两个或多个节点/工作流之间的语义连接关系,其中上游节点/工作流运行可以影响下流节点/工作流的运行状态,反之则不成立。

业务流程
业务流程包含若⼲节点及其节点相互之间的依赖关系。

实例/任务实
节点需要通过DataWorks调度系统转换成任务实例才能运⾏。在Datework平台中,节点任务在执行时会被实例化,并以ODPS实例的方式存在。实例会经历未运行、等待时间/等待资源、运行中、成功/失败几个状态。

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
1天前
|
存储 弹性计算 大数据
阿里云ECS在大数据处理中展现高效存储与计算实力,提供多样化实例规格适应不同需求
【7月更文挑战第3天】阿里云ECS在大数据处理中展现高效存储与计算实力,提供多样化实例规格适应不同需求,如大数据型实例配备高吞吐硬盘。与OSS集成实现大规模存储,通过Auto Scaling动态调整资源,确保任务高效运行。案例显示,使用ECS能提升处理速度、降低成本,为企业数据驱动创新提供有力支持。
14 1
|
5天前
|
Cloud Native 文件存储 数据库
《阿里云产品四月刊》—CPFS 智算版数据流动(1)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
5天前
|
分布式计算 Cloud Native 大数据
《阿里云产品四月刊》—云原生大数据计算服务 MaxCompute 新功能
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
5天前
|
Cloud Native 文件存储 对象存储
《阿里云产品四月刊》—CPFS 智算版数据流动(3)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
《阿里云产品四月刊》—CPFS 智算版数据流动(3)
|
7天前
|
存储 SQL BI
深入解析实时数仓Doris:介绍、架构剖析、应用场景与数据划分细节
深入解析实时数仓Doris:介绍、架构剖析、应用场景与数据划分细节
|
6天前
|
SQL 存储 运维
网易游戏如何基于阿里云瑶池数据库 SelectDB 内核 Apache Doris 构建全新湖仓一体架构
随着网易游戏品类及产品的快速发展,游戏数据分析场景面临着越来越多的挑战,为了保证系统性能和 SLA,要求引入新的组件来解决特定业务场景问题。为此,网易游戏引入 Apache Doris 构建了全新的湖仓一体架构。经过不断地扩张,目前已发展至十余集群、为内部上百个项目提供了稳定可靠的数据服务、日均查询量数百万次,整体查询性能得到 10-20 倍提升。
网易游戏如何基于阿里云瑶池数据库 SelectDB 内核 Apache Doris 构建全新湖仓一体架构
|
7天前
|
机器学习/深度学习 存储 关系型数据库
深入Doris实时数仓:导入本地数据
深入Doris实时数仓:导入本地数据
|
9天前
|
分布式计算 算法 Java
阿里云ODPS PySpark任务使用mmlspark/synapseml运行LightGBM进行Boosting算法的高效训练与推理
阿里云ODPS PySpark任务使用mmlspark/synapseml运行LightGBM进行Boosting算法的高效训练与推理
|
1天前
|
存储 弹性计算 大数据
阿里云ECS以其强大的弹性计算与存储能力,为大数据处理提供了灵活、高效、成本优化的解决方案
阿里云ECS在大数据处理中发挥关键作用,提供多样化实例规格适应不同需求,如大数据型实例适合离线计算。ECS与OSS集成实现大规模存储,通过Auto Scaling动态调整资源,确保高效运算。案例显示,使用ECS处理TB级数据,速度提升3倍,成本降低40%,展现其在弹性、效率和成本优化方面的优势。结合阿里云生态系统,ECS助力企业数据驱动创新。
11 0
|
2天前
|
人工智能 分布式计算 数据挖掘
阿里云 MaxCompute MaxFrame 开启免费公测,统一 Python 开发生态
阿里云 MaxCompute MaxFrame 开启免费公测,统一 Python 开发生态。分布式计算框架 MaxFrame 支持 Python 编程接口并可直接复用 MaxCompute 弹性计算资源及海量数据,100%兼容 Pandas 且自动分布式,与 MaxCompute Notebook、镜像管理等功能共同构成了 MaxCompute 的 Python 开发生态。用户可以以更熟悉、高效、灵活的方式在 MaxCompute 上进行大规模数据分析处理、可视化数据探索分析以及科学计算、ML/AI 开发等工作。
18 0

热门文章

最新文章

  • 1
    DataWorks操作报错合集之DataWorks任务异常 报错: GET_GROUP_SLOT_EXCEPTION 该怎么处理
    44
  • 2
    DataWorks操作报错合集之DataWorksUDF 报错:evaluate for user defined function xxx cannot be loaded from any resources,该怎么处理
    43
  • 3
    DataWorks操作报错合集之在DataWorks中,任务流在调度时间到达时停止运行,是什么原因导致的
    54
  • 4
    DataWorks操作报错合集之DataWorks ODPS数据同步后,timesramp遇到时区问题,解决方法是什么
    42
  • 5
    DataWorks操作报错合集之DataWorks配置参数在开发环境进行调度,参数解析不出来,收到了 "Table does not exist" 的错误,该怎么处理
    40
  • 6
    DataWorks操作报错合集之DataWorks中udf开发完后,本地和在MaxCompute的工作区可以执行函数查询,但是在datawork里报错FAILED: ODPS-0130071:[2,5],是什么原因
    42
  • 7
    DataWorks操作报错合集之DataWorks提交失败: 提交节点的源码内容到TSP(代码库)失败:"skynet_packageid is null,该怎么解决
    43
  • 8
    DataWorks操作报错合集之DataWorks在同步mysql时报错Code:[Framework-02],mysql里面有个json类型字段,是什么原因导致的
    68
  • 9
    DataWorks操作报错合集之DataWorks集成实例绑定到同一个vpc下面,也添加了RDS的IP白名单报错:数据源配置有误,请检查,该怎么处理
    44
  • 10
    DataWorks操作报错合集之在 DataWorks 中运行了一个 Hologres 表的任务并完成了执行,但是在 Hologres 表中没有看到数据,该怎么解决
    45