MaxCompute管家详解--管家助力,轻松玩转MaxCompute-阿里云开发者社区

开发者社区> 阿里巴巴大数据计算> 正文

MaxCompute管家详解--管家助力,轻松玩转MaxCompute

简介: 由于单台服务器的处理能力有限,海量数据的分析需要分布式的计算模型,然而分布式的计算模型对数据分析人员要求较高且不易维护。MaxCompute(原ODPS)是一项大数据计算服务,它能提供快速、完全托管的PB级数据仓库解决方案,使用户可以经济并高效的分析处理海量数据,而MaxCompute管家可以帮助用户更好地进行管理和维护。

精彩视频回顾请点击:MaxCompute管家详解
以下是直播内容精华整理,主要包括以下四个方面:
1.背景速览;
2.功能介绍;
3.案例讲解;
4.新功能预告。

 

一、背景速览

MaxCompute(原ODPS)是一项大数据计算服务,它能提供快速、完全托管的PB级数据仓库解决方案,使用户可以经济并高效的分析处理海量数据。在购买了MaxCompute之后会有相当多而繁琐的管理和维护工作,比如如何对项目进行更精细化的管理、如何将项目与配额进行关联等等,而MaxCompute管家可以帮助用户更好地完成这些工作,它是一个为用户提供作业信息查看、资源消耗查看(涵盖CU资源和存储资源)、项目查看及调整、配额组增删改查等涉及日常MaxCompute运维能力的管理平台。
目前,全球包括美国、英国、德国、印度、日本、新加坡在内的18个国家或地区(详情见官网)购买了数加并购买MaxCompute”包年包月“的用户(后期也会支持购买MaxCompute“按量付费“的用户)可以使用MaxCompute管家功能,且已经支持英文界面。MaxCompute管家的入口有两个:(1)管理控制台(图1)和(2)数加控制台(图2)。需要注意的是从管理控制台和数加控制台进入MaxCompute管家页面时候需要先选择正确的MaxCompute对应区域。

image.png

图 1 MaxCompute管家入口1:管理控制台

image.png

图 2 MaxCompute管家入口1:管理控制台

二、功能介绍

当前,管家主要针对MaxCompute中项目、配额以及作业三个核心模块来提供相应的支持。
(一)项目
在项目列表页面可查看当前用户具备的预付费project的所有相关信息,包括项目名称、所属dataworks工作空间、账号、配额组、已用存储、project默认预付费quota组调整,如图3所示。这里需要注意项目名称和所属dataworks工作空间是两个概念,不要混淆了。在项目列表页面点击项目名称会跳转到存储使用趋势的页面来查看项目存储使用的相关情况,并且支持按时段搜索,在存储水位曲线中还可以查看具体到某一个时段的详情(最近1小时、最近6小时、最近12小时、最近1天、最近1周,存储量每1个小时采集一次);账号是指项目所属的一个访问身份;点击配额组可以查看相应的配额使用情况,在后面会重点进行介绍。除了以上操作之外,管家还提供了一个对项目配额组进行修改的操作,用户可以对项目所属的配额组进行修改,更加方便管理。在将项目迁移到新的配额组之后,如果原来的配额组没有被删除,那么项目会沿用原来的配额组进行作业,如果已经被删除,就会使用新的配额组进行作业,以此来达到资源的最大化利用。
image.png

图 3 项目列表页面

(二)配额
配额管理是MaxCompute的资源管理中的重点也是难点,面对不同的业务需求,用户也有不同的配额管理方式。配额组有4个比较重要的配置参数,具体如下:
(1)预留CU最小配额:单个quota组分配资源的下限。
(2)预留CU最大配额:单个quota组分配资源的上限。
(3)非预留CU最大配额:单个quota组可使用弹性资源的上限。
(4)配额组标签:标签主要是用于指定作业的配额组,如果您的包年包月资源组设置多个二级Quota组,可以在提交作业的时候,指定作业运行的Quota组,可以与project所属Quota组不同。这样设置,能够更加灵活的设置和使用您的计算资源。大家也可以根据具体情况灵活设置标签。
在配额列表页面,可查看当前用户具备的预付费project的相关信息,包括配额组、CU最小配额、CU最大配额、弹性CU最大配额、配额组标签、涵盖项目个数、最近一次配额组操作状态等,如图4所示。

image.png

图 4 配额列表页面

点击配额组中的某一配额组名称,会跳转到相应的页面,里面可以查看对应的资源使用情况,比如预留CU资源使用趋势和非预留CU资源使用趋势,如图5所示,我们也可以查看不同时段的资源使用情况。除此之外,还可以查看该配额组所包含的项目列表,该处项目列表的详情如上文中图3所示的一样,也可以进行相应的操作。

image.png

图 5 配额组详情

对配额组的操作主要有新建配额组、修改配额组和删除配额组。
(1)新建配额组
在新建配额组的是时候修改预留CU最小配额、预留CU最大配额、非预留CU最大配额以及标签,单击执行,完成修改即可。这里我们可以根据自己业务的需求来给配额组设置相应的名称。
(2)修改配额组
修改配额组的时候可以修改预留CU最小配额、预留CU最大配额、非预留CU最大配额以及标签,然后单击执行,即可完成修改。需要注意的是非预留CU最大配额即为包年包月里的非预留计算资源,此功能仅中国站用户可以使用。另外,这里需要需要注意的时候,配额组的名称一旦建立就不能修改。
(3)删除配额组
删除功能相对比较简单,就是在配额组不需要的时候删除相应的配额组即可。但是需要注意,处于安全考虑,没有涵盖项目的配额组可删除,删除后的配额会归还至默认配额组,而如果配额组的涵盖项目数不为0,那么是无法删除的。
(三)作业
在作业模块中,我们支持当前的作业快照,因此在默认状态下,进入作业快照列表的时候,展示的是当前的状态。在作业列表页面,可以查看当前用户指定配额组下所有作业情况,包括InstanceID、账号、项目名称、cpu使用占比(%)、内存使用占比(%)、提交时间、等待时长、运行时长、运行状态,作业快照每2分钟采集1次。如果需要了解更多的关于作业的运行情况,可以点击InstanceID查看对应的LogView,它与作业是一对一的关系,具体的可以查看官网关于LogView的说明。一般在需要对资源使用进行详细了解以优化资源配置的时候,我们可以查看某一个作业的资源使用情况,做到心中有数,也方便对资源配置进行优化。

image.png

图 6 作业列表页面

三、案例讲解

在上文的基础上,下面通过案例来进行具体分析如何更好的使用现有的功能来分配和管理资源,让资源得到更有效的利用。首先,我们需要了解几个关于配额的规则:
(1)预留CU最大配额配置规则:单个子组的最大CU要小于等于默认资源组的最大CU;
(2)预留CU最小配额配置规则:所有子组的最小CU之和要小于等于默认资源组的最小CU;
(3)非预留CU最大配额配置规则:所有子组的弹性最大CU之和要小于等于默认资源组的弹性最大CU;
(4)配额组标签命名规则:配额组标签只允许使用字母、数字、下划线,不同配额组对应标签不要重名,否则作业指定此重名标签,将会随机调度到其中一个配额组;配额组标签调度规则:如果提交作业时设置的Quota Tag和某个配额组属性中的标签相等,这个作业就会被优先调度到这个配额组中,否则会被调度到所属Project指定的配额组中,详细信息请参见官网Quota Tag描述。
在了解清楚了以上几个规则以后,如果进行资源的分配呢?我们以两个具体的问题来了解一下。
(一)拿到资源如何配置?
首先我们要明白,配置策略跟业务是密不可分的,脱离了业务谈配置是不切实际的。一般来说,在实际配置中我们有资源独享和资源共享两种资源配置策略。资源独享更偏向于重点确保的业务,就是说那些一定要完成的和一定要保障到的业务,而资源共享就没有那么苛刻的要求了,大部分情况下我们都可以采用资源共享的形式来进行配置,这样子就可以避免前置资源的浪费。
假设我们共有预留计算资源60CU,非预留计算资源30CU,由两个部门使用,可以按照如下方式分配:
(1)资源独享方式
image.png

这么划分意味着当A组哪怕没有资源使用时,B组资源最多也只能用到20(由最大CU限制)+10(由弹性最大CU限制)的资源;反之亦然,当B组没有资源使用的时候,A组最多也只能使用30+10CU的资源。这里需要注意,默认的预付费Quota组预留最小CU和非预留最大CU最少也需要有1CU,也就是说默认的预付费Quota组是一个天然的共享型的资源池。所以在业务上只需要资源独享配额时候,就不要把项目迁移到默认的预付费Quota组,而要去做自定义的资源独享组。
(2)资源共享方式
image.png

这么划分意味着当A组和B组资源均紧张时,A组可以用到20+10的资源,B组可以用到30+10的资源。当A组没有作业时,B组最多可以用到60+10的资源;反之当B组没有资源时,A组可以用到60+10的资源。我们需要注意的是,当采用资源共享方式,如果B组没有作业,A组分配了60(预留最大CU)+10(非预留最大CU)的资源时,之后B组突然有大量作业需要申请资源,这时候需要调度器通知A组释放相应资源之后B组才能开始分配资源进行作业。
(二)作业慢或者资源不足怎么办?
在实际业务中,可能随着业务量的增加、作业的复杂度增大,我们可能会遇到作业慢或者资源不足的情况。这里我们给出了三个解决方案:
(1)优化作业代码
我们可通过快照作业的资源使用情况得到top消耗的作业,并尝试进行优化,可参考官网最佳实践来做相应调整。
(2)更换调度策略
若单个配额组资源不足,但其他配额组有足够空闲资源时,建议使用quota tag,可调度到闲置配额组内进行资源周转,或者调整内部配额组之间的资源上下限,增加资源使用的灵活性,或者通过切换project对应的quota组的方式进行重组式管理,前提是取决于业务情况。
(3)扩容
若整体资源不足,且其他待跑任务无重保诉求,建议走非预留扩容;若整体资源不足,且有重保任务持续新增时,建议走预留型扩容并已独享型模式配置或后付费采买。

四、新功能预告

本文所提到的功能只是MaxCompute管家所提供的功能中的一部分,主要是面向初级用户,后续将会有更多的功能对外开放,也会分享更多的进阶版、高级版的功能,来解决大家工作中的痛点。未来一段时间,MaxCompute管家会有一些新功能与大家见面,比如以下:
(1)资源概览页
资源概览页用来展示用户对应的”包年包月“付费模式下的整体CU使用量、CU资源使用趋势、存储资源使用趋势,方便用户更快速、更便捷的了解当前的资源使用情况。
(2)历史作业快照
历史作业快照支持按时间搜索历史作业快照,便于用户对历史作业的资源使用情况的追述。
(3)终止作业
支持作业owner小批量终止作业,同时支持终止作业历史追述。
(4)分时配额
针对于部分用户作业有时段性的要求,增加了分时配额,支持用户对不同配额组进行分时段的动态配额调整,便于用户对周期性任务调度的有效管理。

如果大家需要了解更多的关于MaxCompute管家的细节,可以通过官网 -> 大数据计算服务 · MaxCompute -> 文档&SDK -> MaxCompute管家来查看相应的说明文档,官方也会持续的进行迭代更新。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
阿里巴巴大数据计算
使用钉钉扫一扫加入圈子
+ 订阅

阿里大数据官方技术圈

官方博客
链接