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

本文涉及的产品
对象存储 OSS,20GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
对象存储 OSS,内容安全 1000 次 1年
简介: 阿里云-数仓 数据开发神器-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版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
4天前
|
存储 人工智能 OLAP
AI Agent越用越笨?阿里云AnalyticDB「AI上下文工程」一招破解!
AI 上下文工程是管理大模型输入信息的系统化框架,解决提示工程中的幻觉、上下文溢出与信息冲突等问题。通过上下文的采集、存储、加工与调度,提升AI推理准确性与交互体验。AnalyticDB PostgreSQL 版提供增强 RAG、长记忆、Supabase 等能力,助力企业构建高效、稳定的 AI 应用。
|
3月前
|
运维 算法 机器人
阿里云AnalyticDB具身智能方案:破解机器人仿真数据、算力与运维之困
本文将介绍阿里云瑶池旗下的云原生数据仓库AnalyticDB MySQL推出的全托管云上仿真解决方案,方案采用云原生架构,为开发者提供从开发环境、仿真计算到数据管理的全链路支持。
|
3月前
|
存储 分布式计算 大数据
【赵渝强老师】阿里云大数据存储计算服务:MaxCompute
阿里云MaxCompute是快速、全托管的TB/PB级数据仓库解决方案,提供海量数据存储与计算服务。支持多种计算模型,适用于大规模离线数据分析,具备高安全性、低成本、易用性强等特点,助力企业高效处理大数据。
177 0
|
1月前
|
存储 分布式计算 资源调度
【赵渝强老师】阿里云大数据MaxCompute的体系架构
阿里云MaxCompute是快速、全托管的EB级数据仓库解决方案,适用于离线计算场景。它由计算与存储层、逻辑层、接入层和客户端四部分组成,支持多种计算任务的统一调度与管理。
152 1
|
1月前
|
存储 人工智能 关系型数据库
阿里云AnalyticDB for PostgreSQL 入选VLDB 2025:统一架构破局HTAP,Beam+Laser引擎赋能Data+AI融合新范式
在数据驱动与人工智能深度融合的时代,企业对数据仓库的需求早已超越“查得快”这一基础能力。面对传统数仓挑战,阿里云瑶池数据库AnalyticDB for PostgreSQL(简称ADB-PG)创新性地构建了统一架构下的Shared-Nothing与Shared-Storage双模融合体系,并自主研发Beam混合存储引擎与Laser向量化执行引擎,全面解决HTAP场景下性能、弹性、成本与实时性的矛盾。 近日,相关研究成果发表于在英国伦敦召开的数据库领域顶级会议 VLDB 2025,标志着中国自研云数仓技术再次登上国际舞台。
232 0
|
2月前
|
存储 人工智能 分布式计算
数据不用搬,AI直接炼!阿里云AnalyticDB AI数据湖仓一站式融合AI+BI
阿里云瑶池旗下的云原生数据仓库AnalyticDB MySQL版(以下简称ADB)诞生于高性能实时数仓时代,实现了PB级结构化数据的高效处理和分析。在前几年,为拥抱大数据的浪潮,ADB从传统数仓拓展到数据湖仓,支持Paimon/Iceberg/Delta Lake/Hudi湖格式,为开放的数据湖提供数据库级别的性能、可靠性和管理能力,从而更好地服务以SQL为核心的大规模数据处理和BI分析,奠定了坚实的湖仓一体基础。
|
3月前
|
存储 人工智能 关系型数据库
从“听指令”到“当参谋”,阿里云AnalyticDB GraphRAG如何让AI开窍
阿里云瑶池旗下的云原生数据仓库 AnalyticDB PostgreSQL 版 GraphRAG 技术,创新融合知识图谱动态推理+向量语义检索,通过实体关系映射与多跳路径优化,构建可应对复杂场景的决策引擎。本文将通过家电故障诊断和医疗预问诊两大高价值场景,解析其如何实现从“被动应答”到“主动决策”的跨越。
|
4月前
|
存储 缓存 分布式计算
OSS大数据分析集成:MaxCompute直读OSS外部表优化查询性能(减少数据迁移的ETL成本)
MaxCompute直读OSS外部表优化方案,解决传统ETL架构中数据同步延迟高、传输成本大、维护复杂等问题。通过存储格式优化(ORC/Parquet)、分区剪枝、谓词下推与元数据缓存等技术,显著提升查询性能并降低成本。结合冷热数据分层与并发控制策略,实现高效数据分析。
113 2
|
3月前
|
存储 SQL 分布式计算
MaxCompute x 聚水潭:基于近实时数仓解决方案构建统一增全量一体化数据链路
聚水潭作为中国领先的电商SaaS ERP服务商,致力于为88,400+客户提供全链路数字化解决方案。其核心ERP产品助力企业实现数据驱动的智能决策。为应对业务扩展带来的数据处理挑战,聚水潭采用MaxCompute近实时数仓Delta Table方案,有效提升数据新鲜度和计算效率,提效比例超200%,资源消耗显著降低。未来,聚水潭将进一步优化数据链路,结合MaxQA实现实时分析,赋能商家快速响应市场变化。
168 0

热门文章

最新文章