阿里大数据平台MaxCompute初窥

如下内容大多来自官方手册、论坛等。

这个产品解决了什么问题

概况

MaxCompute,旧名ODPS,是阿里的一款离线计算引擎。
底层基于阿里飞天、伏羲等阿里云基础套件,MaxCompute专注于离线计算部分。
对标产品:hadoop、spark等。
目前看,发展方向应该和很多公司用spark一致,主推以丰富的SQL来解决问题。毕竟sql相比MR等有较多的用户需求。以前的No SQL产品,近两年也大多都在增厚SQL解析这一层。而很多新增需求的设计和开发,也考虑了传统数据库用户的使用习惯。

产品的功能

导入导出

支持批量方式,将全量数据导入,使用tunnel。tunnel提供sdk,可以基于java开发自己的数据导入导出工具。但只能全量,基于表或者某个分区。不支持覆盖性写入,所以在用tunnel进行数据导入的时候,数据是以追加的方式入库的。tunnel上传数据的时候,支持断点续传(因为tunnel是先传输数据到一个临时位置,最后通过一次commit,将数据拷贝到目的库)。
支持实时,增量的方式导入数据,使用DataHub。

计算方式

支持的计算方式:
- SQL
- MapReduce

SQL

建议以SQL来进行计算,SQL语法中也刻意增加了MapReduce相关的部分。
支持常见的DDL、DML操作。
可以把项目空间等同于数据库,把表等同于表。不过没有主键、索引概念,不支持update、delete。
删除数据只能:按分区删除(drop分区表再新建),按表删除(无分区表支持truncate)。
支持join、group by、order by、like操作,能够支撑常规的分析计算类SQL操作,但阿里自研的SQL标准多少都有一些限制(譬如V0.9版本以前的ADS…),但总体看,MaxCompute的SQL支撑很完整。
有常见内置函数(数学、窗口、聚合等),也支持自定义函数。
自定义函数的写法和常规数据库不一致,要先用java或python完成函数的主体功能,上传到MaxCompute成为资源,然后通过SQL语句再封装一下,形成函数。
支持ACL授权(grant/revoke),支持项目空间、表两级的ACL授权。虽然官方提到支持列级别授权,但列级别授权是通过安全策略实现的:LabelSecurity。

总体来说,你把MaxCompute当做一个常规数据库来用,可以。因为很多SQL语句屏蔽掉了底层的计算机制(task、worker)。在文档中看到的实例、资源、任务等概念,都和底层计算相关,在进行性能优化和深入进阶前不用考虑。

我认为什么人适合用SQL:
1. 常规数仓用户,不过重关注计算时效性的
2. 有较多的使用者,使用者技术能力参差不齐的群体
3. 传统数据库转型过来,还未深入使用的
4. 玩的很溜,有很丰富的自定义资源函数,用SQL来串起来使用的

MapReduce

MaxCompute支持3中MapReduce
1. 早期MR
2. MRv2
3. 基本兼容hadoop平台的MR

MR只是实现自定义函数的一种方式,是一种计算思路。更多的是用MR来实现自己的功能函数,包括一些积累的算法、计算逻辑等的使用和封装。

SDK

大公司的产品,开发套件做的就是好。有丰富的SDK。idea、eclipse等IDE支撑很好。
有java、python sdk,包括函数开发、数据导入导出等。
通过maven进行SDK版本控制,上手很快。

思考

MaxCompute是经历过阿里内部一些计算场景试炼的,找到合适的场景,用起来特别顺手。
主推公有云,所以在安全上做的很好,隔离、policy、acl等做的都很完善。
分区嘛,有些吐槽,以后再细聊吧,毕竟今天头一篇。

MaxCompute除了上面一些常规的功能价值外,我认为比较重要的是,他在阿里生态中,占据了重要的位置,周边配套很完善(tunnel、datahub、dataworks、studio等)。
大数据是解决一个领域的全链路问题的,不能简单地针对几个问题去选择产品。

稍后扔一份从阿里资料里提炼的,类规格的东西出来。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
阿里大数据计算服务MaxCompute是阿里云提供的一种分布式大数据计算平台,主要用于数据仓库、数据分析和机器学习场景。以下是MaxCompute的入门指南。 1. 注册阿里云账号并开通MaxCompute服务。登录阿里云官网,在控制台页面选择MaxCompute服务,按照提示操作开通MaxCompute。 2. 创建项目。在MaxCompute控制台页面,点击“项目列表”,然后选择“创建项目”。输入项目名称、项目所在地域和项目描述等信息,并提交创建。 3. 创建表。在项目详情页面,选择“开发指导”中的“数据表”选项,点击“新建表”按钮。填写表名、表结构等详细信息,并提交创建。 4. 导入数据。可以通过多种方式将数据导入MaxCompute,如使用MaxCompute客户端上传数据文件,或者通过数据集成服务将数据从其他数据库导入MaxCompute。 5. 执行SQL查询。在MaxCompute控制台的“开发指导”中,选择“数据开发”选项,点击“新建文件”按钮。在文件编辑器中编写SQL查询语句,然后点击“执行”按钮。结果会在页面下方显示。 6. 运行作业。MaxCompute支持通过编写MapReduce、Graph、UDF等作业来进行复杂的数据处理和计算。在“数据开发”中选择“任务编辑”选项,点击“新建任务”按钮。填写任务名称和作业类型,然后编写作业代码并提交运行。 7. 监控和调优。MaxCompute提供丰富的监控指标和可视化界面,用于监控作业的执行情况和资源使用情况。可以根据监控指标进行性能调优,提升作业执行效率。 8. 安全管理。MaxCompute提供访问控制、密钥管理等安全功能,保障数据的安全性和隐私性。可以配置ACL权限、加密存储等安全策略。 通过上述入门指南,用户可以快速上手阿里大数据计算服务MaxCompute,并利用其强大的数据处理能力进行数据分析、数据挖掘和机器学习等任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值