更新时间:2024-07-18 GMT+08:00

DLI弹性资源池与队列简介

DLI队列分为弹性资源池队列、普通队列和default队列:

  • 弹性资源池队列:

    弹性资源池为DLI作业运行提供所需的计算资源(CPU和内存),用于灵活应对业务对计算资源变化的需求。

    创建弹性资源池后,您可以在弹性资源池中创建多个队列,队列关联到具体的作业和数据处理任务,是资源池中资源被实际使用和分配的基本单元,即队列是执行作业所需的具体的计算资源。

    同一弹性资源池中,队列之间的计算资源支持共享。 通过合理设置队列的计算资源分配策略,可以提高计算资源利用率。

    购买弹性资源池并在弹性资源池中添加队列请参考创建弹性资源池在弹性资源池中添加队列

  • 普通队列(废弃,不推荐使用):DLI的上一代计算资源管理方式,按使用需求购买和释放资源,需要预先估计资源使用需求再进行购买。
  • default队列:
    • DLI服务预置了名为“default”的队列,资源的大小是按需分配的。用户在不确定所需队列容量或没有可创建队列空间的情况下,可以使用该队列执行作业。
    • “default”队列只用于用户体验,所有人共用,用户间可能会出现抢占资源的情况,不能保证每次都可以得到资源执行相关操作。建议使用自建队列执行作业。

优先推荐使用弹性资源池队列,提高资源使用的灵活性和资源利用效率。

弹性资源池使用场景

场景一:固定资源造成资源浪费和资源不足的场景

在每天的不同时段,作业任务对资源的请求量也会发生变化,如果采用固定资源规格则会导致资源浪费或者资源不足的问题。例如,如下图图1示例可以看出:

  • 大约在凌晨4点到7点这个数据段,ETL作业任务结束后没有其他作业,因为资源固定一直占用,导致严重的资源浪费。
  • 上午9点到12点以及下午14点16点的两个时段,ETL报表和作业查询的请求量很高,因为当前固定资源不够,导致作业任务排队,任务一直排队。
    图1 固定资源场景

场景二:资源相互隔离,没有共享,造成资源浪费的场景

某公司下有两个部门,两个部门的不同作业运行在DLI的两个队列上。部门A在上午8点到12点业务比较空闲,资源有剩余,部门B在这个时间段业务请求量大,原有资源规格满足不了,需要扩容时,请求不了部门A的队列资源,造成资源浪费。
图2 资源隔离造成的资源浪费

弹性资源池通过“分时按需弹性”功能,支持按照不同时间段对资源进行动态的扩缩容,保证资源的利用率和应对资源洪峰等诉求。

弹性资源池对后端资源统一进行管理和调度,多个队列绑定弹性资源池后,资源池内资源共享,资源利用率高,解决了场景二的问题。