资源组是对 Spark 标准引擎计算资源的二级队列划分,资源组隶属于父级标准引擎且同一引擎下的资源组彼此资源共享。DLC Spark 标准引擎的计算单元(CU)可按需被划分到多个资源组中,并设置每个资源组可使用CU数量的最小值和上限、启停策略、并发数和动静态参数等,从而满足多租户、多任务等复杂场景下的计算资源隔离与工作负载的高效管理。
例如,您可为一个 Spark 标准引擎创建报表资源组、数仓资源组、历史补录资源组,设定每个资源组的计算单元 CU 上下限,并在业务中将相关报表、数仓等SQL任务或作业提交到对应的资源组中,实现不同类别任务间的资源隔离,避免个别大查询将资源长期抢占。
功能特性
资源组隔离
使用资源组可实现对 Spark 标准引擎的资源隔离。您可对不同用户、不同查询分配相应的资源组,从而起到资源隔离的作用,避免单个用户或大查询独占大部分计算引擎资源。
资源组弹性
配置资源组 Executor 个数为动态分配,资源组会根据负载动态调整 SQL 任务或作业占用的资源,有效提高资源利用率。
动态分配配置如下图所示:
任务01和任务02均设置动态分配,在 TimeA 各占8CU资源量执行,执行到 TimeB 任务01只需要4CU,释放4CU空闲资源給任务02使用,提高了整体资源利用率。如下图所示:
使用限制
资源组名称全局唯一,名称推荐使用全英文名称。
相关术语
术语 | 说明 | 图例 |
默认资源组 (系统默认创建) | 引擎创建时便存在,以 default-rg-xxx 命名。 默认资源组,初始状态为挂起,设置自动启动, 自动挂起。 默认资源组支持修改资源配置。 默认资源组支持设置启停策略,设置并发数和动静态参数。 默认资源组不可以删除。 | |
自定义资源组 (用户手动创建) | 自定义资源组支持修改资源配置。 自定义资源组支持设置启停策略,设置并发数和动静态参数。 自定义资源组支持删除。 | - |