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

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

图 2 MaxCompute管家入口1:管理控制台
二、功能介绍
当前,管家主要针对MaxCompute中项目、配额以及作业三个核心模块来提供相应的支持。
(一)项目
在项目列表页面可查看当前用户具备的预付费project的所有相关信息,包括项目名称、所属dataworks工作空间、账号、配额组、已用存储、project默认预付费quota组调整,如图3所示。这里需要注意项目名称和所属dataworks工作空间是两个概念,不要混淆了。在项目列表页面点击项目名称会跳转到存储使用趋势的页面来查看项目存储使用的相关情况,并且支持按时段搜索,在存储水位曲线中还可以查看具体到某一个时段的详情(最近1小时、最近6小时、最近12小时、最近1天、最近1周,存储量每1个小时采集一次);账号是指项目所属的一个访问身份;点击配额组可以查看相应的配额使用情况,在后面会重点进行介绍。除了以上操作之外,管家还提供了一个对项目配额组进行修改的操作,用户可以对项目所属的配额组进行修改,更加方便管理。在将项目迁移到新的配额组之后,如果原来的配额组没有被删除,那么项目会沿用原来的配额组进行作业,如果已经被删除,就会使用新的配额组进行作业,以此来达到资源的最大化利用。
图 3 项目列表页面
(二)配额
配额管理是MaxCompute的资源管理中的重点也是难点,面对不同的业务需求,用户也有不同的配额管理方式。配额组有4个比较重要的配置参数,具体如下:
(1)预留CU最小配额:单个quota组分配资源的下限。
(2)预留CU最大配额:单个quota组分配资源的上限。
(3)非预留CU最大配额:单个quota组可使用弹性资源的上限。
(4)配额组标签:标签主要是用于指定作业的配额组,如果您的包年包月资源组设置多个二级Quota组,可以在提交作业的时候,指定作业运行的Quota组,可以与project所属Quota组不同。这样设置,能够更加灵活的设置和使用您的计算资源。大家也可以根据具体情况灵活设置标签。
在配额列表页面,可查看当前用户具备的预付费project的相关信息,包括配额组、CU最小配额、CU最大配额、弹性CU最大配额、配额组标签、涵盖项目个数、最近一次配额组操作状态等,如图4所示。

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

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

图 6 作业列表页面
三、案例讲解
在上文的基础上,下面通过案例来进行具体分析如何更好的使用现有的功能来分配和管理资源,让资源得到更有效的利用。首先,我们需要了解几个关于配额的规则:
(1)预留CU最大配额配置规则:单个子组的最大CU要小于等于默认资源组的最大CU;
(2)预留CU最小配额配置规则:所有子组的最小CU之和要小于等于默认资源组的最小CU;
(3)非预留CU最大配额配置规则:所有子组的弹性最大CU之和要小于等于默认资源组的弹性最大CU;
(4)配额组标签命名规则:配额组标签只允许使用字母、数字、下划线,不同配额组对应标签不要重名,否则作业指定此重名标签,将会随机调度到其中一个配额组;配额组标签调度规则:如果提交作业时设置的Quota Tag和某个配额组属性中的标签相等,这个作业就会被优先调度到这个配额组中,否则会被调度到所属Project指定的配额组中,详细信息请参见官网Quota Tag描述。
在了解清楚了以上几个规则以后,如果进行资源的分配呢?我们以两个具体的问题来了解一下。
(一)拿到资源如何配置?
首先我们要明白,配置策略跟业务是密不可分的,脱离了业务谈配置是不切实际的。一般来说,在实际配置中我们有资源独享和资源共享两种资源配置策略。资源独享更偏向于重点确保的业务,就是说那些一定要完成的和一定要保障到的业务,而资源共享就没有那么苛刻的要求了,大部分情况下我们都可以采用资源共享的形式来进行配置,这样子就可以避免前置资源的浪费。
假设我们共有预留计算资源60CU,非预留计算资源30CU,由两个部门使用,可以按照如下方式分配:
(1)资源独享方式
这么划分意味着当A组哪怕没有资源使用时,B组资源最多也只能用到20(由最大CU限制)+10(由弹性最大CU限制)的资源;反之亦然,当B组没有资源使用的时候,A组最多也只能使用30+10CU的资源。这里需要注意,默认的预付费Quota组预留最小CU和非预留最大CU最少也需要有1CU,也就是说默认的预付费Quota组是一个天然的共享型的资源池。所以在业务上只需要资源独享配额时候,就不要把项目迁移到默认的预付费Quota组,而要去做自定义的资源独享组。
(2)资源共享方式
这么划分意味着当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管家来查看相应的说明文档,官方也会持续的进行迭代更新。
MaxCompute管家详解--管家助力,轻松玩转MaxCompute的更多相关文章
- (转载)完成端口(CompletionPort)详解 - 手把手教你玩转网络编程系列之三
转自:http://blog.csdn.net/piggyxp/article/details/6922277 前 言 本系列里完成端口的代码在两年前就已经写好了,但是由于许久没有写东西了,不知该如何 ...
- Cinder 组件详解 - 每天5分钟玩转 OpenStack(47)
本节我们将详细讲解 Cinder 的各个子服务. cinder-api cinder-api 是整个 Cinder 组件的门户,所有 cinder 的请求都首先由 nova-api 处理.cinder ...
- Nova 组件详解 - 每天5分钟玩转 OpenStack(26)
本节开始,我们将详细讲解 Nova 的各个子服务. 前面架构概览一节知道 Nova 有若干 nova-* 的子服务,下面我们将依次学习最重要的几个.今天先讨论 nova-api 和 nova-cond ...
- nova-compute 部署 instance 详解 - 每天5分钟玩转 OpenStack(28)
本节讨论 nova-compute,并详细分析 instance 部署的全过程. 先给大家道个歉:今天这篇文章的篇幅比以往要多一些,本来想分两次发,但考虑到文章的完整和系统性,还是一次发了出来,这次可 ...
- Launch和Shut Off操作详解 - 每天5分钟玩转 OpenStack(30)
本节详细分析 instance launch 和 shut off 操作,以及如何在日志中快速定位有用信息的技巧. Launch Launch instance 应该算 Nova 最重要的操作. 仔细 ...
- Start Instance 操作详解 - 每天5分钟玩转 OpenStack(31)
本节通过日志文件详细分析 instance start 操作. 下面是 start instance 的流程图 向 nova-api 发送请求 nova-api 发送消息 nova-compute 执 ...
- Terminate Instance 操作详解 - 每天5分钟玩转 OpenStack(33)
本节通过日志详细分析 Nova Terminate 操作. Terminate 操作就是删除 instance,下面是 terminate instance 的流程图 向 nova-api 发送请求 ...
- Pause/Resume Instance 操作详解 - 每天5分钟玩转 OpenStack(34)
本节通过日志详细分析 Nova Pause/Resume 操作. 有时需要短时间暂停 instance,可以通过 Pause 操作将 instance 的状态保存到宿主机的内存中.当需要恢复的时候,执 ...
- Nova Suspend/Rescue 操作详解 - 每天5分钟玩转 OpenStack(35)
本节我们讨论 Suspend/Resume 和 Rescue/Unrescue 这两组操作. Suspend/Resume 有时需要长时间暂停 instance,可以通过 Suspend 操作将 in ...
- Snapshot Instance 操作详解 - 每天5分钟玩转 OpenStack(36)
本节我们通过日志详细讨论 instance 的 snapshot 操作. 有时候操作系统损坏得很严重,通过 Rescue 操作无法修复,那么我们就得考虑通过备份恢复了.当然前提是我们之前对instan ...
随机推荐
- Atom安装插件的几种方式
界面安装 打开Atom->File->Settings->Install 输入你想要安装的插件名/Theme名 命令行安装 打开cmd命令行程序 切换到.atom/package目录 ...
- 曲线艺术编程第一章 coding curves
原作:Keith Peters 原文:https://www.bit-101.com/blog/2022/11/coding-curves/ 译者:池中物王二狗(sheldon) blog: http ...
- electron 中如何安装或更新 vuejs-devtool 最新稳定版
手上正在开发的项目是vue3.0 通过添加 vue-cli-plugin-electron-builder 插件生成 electron 项目,项目在开发过程中发现 beta版的 vuejs-devto ...
- 调试3D渲染和3D可视化的五个好处
建筑和建筑环境是我们日常生活中不可避免的一部分,直接影响我们和我们的福祉.它可以是我们的家.办公室.附近的教堂或城市的商业综合体;所有这一切的设计和规划都是建筑.然而,具有讽刺意味的是,建筑的交流往往 ...
- python面向对象(基础)
一 面向对象介绍 面向过程: 核心是:"过程"二字 过程的终极奥义就是将程序流程化 过程是"流水化",用来分步骤解决问题的 面向对象: 核心是"对象& ...
- Asp-Net-Core开发笔记:实现动态审计日志功能
前言 最近一直在写 Go 和 Python ,好久没写 C# ,重新回来写 C# 代码时竟有一种亲切感~ 说回正题. 在当今这个数字化迅速发展的时代,每一个操作都可能对业务产生深远的影响,无论是对数据 ...
- FTP上传中文文件,内容乱码
记录一下: spring boot 程序 ftp上传中文文件,内容乱码. 1.刚开始程序部署在Windows平台上测试,发现上传后的文件内容是乱码,查看文件编码格式是ANSI(Windows下文本文件 ...
- linux安装jdk压缩包版
1.下载压缩包可以选择国内大厂的jdk镜像网站下载速度很快, 比如华为的:https://repo.huaweicloud.com/java/jdk/ 2.查看Linux系统是否有自带的jdk: 输入 ...
- KingbaseES V8R6 运维案例 --ksql访问动态库问题
KingbaseES V8R6数据库运维案例之---ksql访问动态库问题 案例说明: CentOS环境下,在安装和初始化数据库实例后,启动数据库服务,通过ksql连接访问时出现以下故障: 经检查,是 ...
- KingbaseES checkpoint_timeout参数对wal日志量的影响
前言 在KingbaseESV8R6数据库中,必须先将更改写入WAL日志(老版本称为 xlog),然后才能将这些更改从内存shared_buffer 写入到磁盘. 前两天有个同事遇到一个问题,wal日 ...