基于阿里云大数据平台开发大数据应用(二):MaxCompute 初体验

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 本文是基于阿里云大数据平台开发大数据应用系列文章的第二篇,主要谈谈阿里云MaxCompute作为大数据项目开发的平台的特点与优点。

阿里云的MaxCompute是一种大数据数据仓库平台,一个综合性的数据服务平台。它不同于普通的mysql,oracle这样的关系型数据库,一大区别是它不能在毫秒级甚至秒级返回查询结果。

一般来说,在MaxCompute平台上,一条MaxCompute命令的执行通常需要经过如下流程:

当用户提交一个MaxCompute作业时:

  • 客户端提交一个SQL语句,发送 RESTful 请求给HTTP服务器
  • HTTP 服务器做用户认证。认证通过后,请求就会发送给 Worker。
  • Worker判断该请求作业是否需要启动后台Job。如果不需要,本地执行并返回结果。如果需要,则生成一个 instance, 发送给 Scheduler。
  • Scheduler把instance信息进行注册,并将其状态置成 Running。Scheduler 把 instance 添加到 instance 队列。
  • Worker把 Instance ID返回给客户端。

MaxCompute运行一个作业的流程如下:

  • Scheduler把instance拆成多个Task,并生成任务流DAG图,并把可运行的Task 放入到优先级队列TaskPool中。
  • Scheduler 的后台线程定时对TaskPool 中的任务进行排序,并定时查询计算集群的资源状况。Executor在资源未满的情况下,轮询TaskPool,请求Task。同时,Scheduler判断计算资源,若集群有资源,就将该Task发给Executor。
  • Executor调用SQL Parse Planner,生成SQL Plan。Executor 将 SQL Plan 转换成计算层的 Job 描述文件,并将该描述文件提交给计算层运行,同时定期查询 Task 执行状态。Task 执行完成后,Executor更新 Task信息,并汇报给Schedler。
  • Scheduler 判断 instance 结束,更新 instance 信息,置为 Terminated。

MaxCompute客户端接收到返回的 Instance ID 后,可以通过 Instance ID 来查询作业状态:

  • 客户端发送另一个 REST 的请求,查询作业状态。
  • HTTP 服务器根据配置信息做用户认证。用户认证通过后,把查询的请求发送给 Worker。
  • Worker 根据 InstanceID 查询该作业的执行状态。Worker 将查询到的执行状态返回给客户端。

在MaxCompute中,用户可以用SQL语句进行编程。MaxCompute SQL与普通关系型数据库的SQL大体类似,不同在于MaxCompute不支持如事务、主键约束、索引等,可以看成标准SQL的子集。由于MaxCompute专注于大数据领域,操作的数据量通常很大,所以分区字段需要特别关注。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
2月前
|
SQL 存储 分布式计算
ODPS技术架构深度剖析与实战指南——从零开始掌握阿里巴巴大数据处理平台的核心要义与应用技巧
【10月更文挑战第9天】ODPS是阿里巴巴推出的大数据处理平台,支持海量数据的存储与计算,适用于数据仓库、数据挖掘等场景。其核心组件涵盖数据存储、计算引擎、任务调度、资源管理和用户界面,确保数据处理的稳定、安全与高效。通过创建项目、上传数据、编写SQL或MapReduce程序,用户可轻松完成复杂的数据处理任务。示例展示了如何使用ODPS SQL查询每个用户的最早登录时间。
98 1
|
4月前
|
分布式计算 搜索推荐 物联网
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决
|
4月前
|
人工智能 分布式计算 架构师
大数据及AI典型场景实践问题之基于MaxCompute构建Noxmobi全球化精准营销系统如何解决
大数据及AI典型场景实践问题之基于MaxCompute构建Noxmobi全球化精准营销系统如何解决
|
3月前
|
SQL 分布式计算 大数据
代码编码原则和规范大数据开发
此文档详细规定了SQL代码的编写规范,包括代码的清晰度,执行效率,以及注释的必要性。它强调所有SQL关键字需统一使用大写或小写,并禁止使用select *操作。此外,还规定了代码头部的信息模板,字段排列方式,INSERT, SELECT子句的格式,运算符的使用,CASE语句编写规则,查询嵌套规范,表别名定义,以及SQL注释的添加方法。这些规则有助于提升代码的可读性和可维护性。
50 0
|
3月前
|
SQL 分布式计算 大数据
大数据开发SQL代码编码原则和规范
这段SQL编码原则强调代码的功能完整性、清晰度、执行效率及可读性,通过统一关键词大小写、缩进量以及禁止使用模糊操作如select *等手段提升代码质量。此外,SQL编码规范还详细规定了代码头部信息、字段与子句排列、运算符前后间隔、CASE语句编写、查询嵌套、表别名定义以及SQL注释的具体要求,确保代码的一致性和维护性。
99 0
|
4月前
|
SQL 存储 分布式计算
MaxCompute 入门:大数据处理的第一步
【8月更文第31天】在当今数字化转型的时代,企业和组织每天都在产生大量的数据。有效地管理和分析这些数据变得至关重要。阿里云的 MaxCompute(原名 ODPS)是一个用于处理海量数据的大规模分布式计算服务。它提供了强大的存储能力以及丰富的数据处理功能,让开发者能够快速构建数据仓库、实时报表系统、数据挖掘等应用。本文将介绍 MaxCompute 的基本概念、架构,并演示如何开始使用这一大数据处理平台。
586 0
|
2月前
|
存储 机器学习/深度学习 分布式计算
大数据技术——解锁数据的力量,引领未来趋势
【10月更文挑战第5天】大数据技术——解锁数据的力量,引领未来趋势
|
14天前
|
存储 分布式计算 数据挖掘
数据架构 ODPS 是什么?
数据架构 ODPS 是什么?
108 7
|
14天前
|
存储 分布式计算 大数据
大数据 优化数据读取
【11月更文挑战第4天】
30 2
|
27天前
|
数据采集 监控 数据管理
数据治理之道:大数据平台的搭建与数据质量管理
【10月更文挑战第26天】随着信息技术的发展,数据成为企业核心资源。本文探讨大数据平台的搭建与数据质量管理,包括选择合适架构、数据处理与分析能力、数据质量标准与监控机制、数据清洗与校验及元数据管理,为企业数据治理提供参考。
69 1