计算
弹性云服务器 ECS
Flexus云服务
裸金属服务器 BMS
弹性伸缩 AS
镜像服务 IMS
专属主机 DeH
函数工作流 FunctionGraph
云手机服务器 CPH
Huawei Cloud EulerOS
网络
虚拟私有云 VPC
弹性公网IP EIP
虚拟专用网络 VPN
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
VPC终端节点 VPCEP
云连接 CC
企业路由器 ER
企业交换机 ESW
全球加速 GA
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
边缘安全 EdgeSec
威胁检测服务 MTD
CDN与智能边缘
内容分发网络 CDN
CloudPond云服务
智能边缘云 IEC
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
迁移中心 MGC
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
云搜索服务 CSS
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
数据治理中心 DataArts Studio
数据可视化 DLV
数据湖工厂 DLF
湖仓构建 LakeFormation
企业应用
云桌面 Workspace
应用与数据集成平台 ROMA Connect
云解析服务 DNS
专属云
专属计算集群 DCC
IoT物联网
IoT物联网
设备接入 IoTDA
智能边缘平台 IEF
用户服务
账号中心
费用中心
成本中心
资源中心
企业管理
工单管理
国际站常见问题
ICP备案
我的凭证
支持计划
客户运营能力
合作伙伴支持计划
专业服务
区块链
区块链服务 BCS
Web3节点引擎服务 NES
解决方案
SAP
高性能计算 HPC
视频
视频直播 Live
视频点播 VOD
媒体处理 MPC
实时音视频 SparkRTC
数字内容生产线 MetaStudio
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
存储容灾服务 SDRS
高性能弹性文件服务 SFS Turbo
弹性文件服务 SFS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
专属分布式存储服务 DSS
容器
云容器引擎 CCE
容器镜像服务 SWR
应用服务网格 ASM
华为云UCS
云容器实例 CCI
管理与监管
云监控服务 CES
统一身份认证服务 IAM
资源编排服务 RFS
云审计服务 CTS
标签管理服务 TMS
云日志服务 LTS
配置审计 Config
资源访问管理 RAM
消息通知服务 SMN
应用运维管理 AOM
应用性能管理 APM
组织 Organizations
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
应用身份管理服务 OneAccess
数据库
云数据库 RDS
文档数据库服务 DDS
数据管理服务 DAS
数据复制服务 DRS
云数据库 GeminiDB
云数据库 GaussDB
分布式数据库中间件 DDM
数据库和应用迁移 UGO
云数据库 TaurusDB
人工智能
人脸识别服务 FRS
图引擎服务 GES
图像识别 Image
内容审核 Moderation
文字识别 OCR
AI开发平台ModelArts
图像搜索 ImageSearch
对话机器人服务 CBS
华为HiLens
视频智能分析服务 VIAS
语音交互服务 SIS
应用中间件
分布式缓存服务 DCS
API网关 APIG
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
多活高可用服务 MAS
事件网格 EG
企业协同
华为云会议 Meeting
云通信
消息&短信 MSGSMS
云生态
合作伙伴中心
云商店
开发者工具
SDK开发指南
API签名指南
Terraform
华为云命令行工具服务 KooCLI
其他
产品价格详情
系统权限
管理控制台
客户关联华为云合作伙伴须知
消息中心
公共问题
开发与运维
应用管理与运维平台 ServiceStage
软件开发生产线 CodeArts
需求管理 CodeArts Req
部署 CodeArts Deploy
性能测试 CodeArts PerfTest
编译构建 CodeArts Build
流水线 CodeArts Pipeline
制品仓库 CodeArts Artifact
测试计划 CodeArts TestPlan
代码检查 CodeArts Check
代码托管 CodeArts Repo
云应用引擎 CAE
开天aPaaS
云消息服务 KooMessage
云手机服务 KooPhone
云空间服务 KooDrive

DLI弹性资源池与队列简介

更新时间:2025-02-17 GMT+08:00

DLI的计算资源是执行作业的基础,本节内容介绍DLI计算资源的模式和队列类型。

什么是弹性资源池和队列?

在了解DLI计算资源模式前首先了解弹性资源池和队列的基本概念。

  • 弹性资源池是DLI计算资源的一种池化管理模式,可以看做DLI计算资源的集合。DLI支持在弹性资源池中创建多个队列,且这些队列可以共享弹性资源池中的资源。
  • 队列是DLI中被实际使用和分配的基本单元,即队列是执行作业所需的具体的计算资源。您可以为不同的作业或数据处理任务创建不同的队列,并按需对这些队列分配和调整资源。了解DLI的队列类型请参考DLI队列类型
说明:

DLI弹性资源池之间为物理集群隔离,同一个弹性资源池中的队列之间为逻辑隔离。

建议您对测试业务场景和生产业务场景分别创建弹性资源池,通过资源物理隔离的方式,保障资源管理的独立性和安全性。

DLI计算资源模式

DLI提供了三种计算资源的管理模式,每一种模式都有独特的优势和适用场景。

图1 DLI计算资源模式
  • 弹性资源池模式:计算资源的池化管理模式,提供计算资源的动态扩缩容能力,同一弹性资源池中的队列共享计算资源。通过合理设置队列的计算资源分配策略,可以提高计算资源利用率,应对业务高峰期的资源需求。
    • 适用场景:适合业务量有明显波动的场合,如周期性的数据批处理任务或实时数据处理需求。
    • 支持的队列类型:SQL队列(Spark)、SQL队列(HetuEngine)、通用队列。了解DLI的队列类型请参考DLI队列类型
      说明:

      弹性资源池模式的通用队列和SQL队列不支持跨可用区。

    • 使用方法:先创建弹性资源池,然后在弹性资源池中创建队列并分配计算资源,队列关联到具体的作业和数据处理任务。

      购买弹性资源池并在弹性资源池中添加队列的具体操作步骤请参考创建弹性资源池并添加队列

  • 全局共享模式:

    全局共享模式是一种根据SQL查询中实际扫描的数据量来分配计算资源的模式,不支持指定或预留计算资源。

    DLI服务预置的“default”队列即为全局共享模式的计算资源,资源的大小是按需分配的。在不确定数据量大小或偶尔需要进行数据处理的用户,可以使用default队列执行作业。

    • 适用场景:适用于测试作业或资源消耗不高的情况。
    • 支持的队列类型:仅DLI预置的default队列为全局共享模式的计算资源。

      “default”队列只用于用户体验DLI,是所有人共享的公共资源,使用时可能会出现用户间抢占资源的情况,不能保证每次都可以得到资源执行相关操作。建议使用自建队列执行生产作业。

    • 使用方法:default队列仅适用于提交SQL作业,在DLI管理控制台提交SQL作业时选择"default队列"即可。
  • 非弹性资源池模式(废弃,不推荐使用)

    DLI的上一代计算资源管理方式,因缺乏灵活性,目前已不推荐使用。

    非弹性资源池模式提供固定规格的计算资源,购买后独占资源,无法根据需求动态调整,可能会导致资源浪费或在需求高峰期资源不足。

表1 DLI计算资源模式与支持的队列类型

DLI计算资源模式

支持的队列类型

资源特点

适用场景

弹性资源池模式

SQL队列(Spark)

SQL队列(HetuEngine)

通用队列

单用户多队列共享资源

资源动态分配,灵活调整

适合业务需求波动较大,需要灵活调整资源以应对波峰波谷的业务场景。

全局共享模式

default队列

多用户多队列共享资源

按量付费,不支持预留资源

适合不确定数据量大小或仅需要偶尔进行数据处理的临时或测试项目场景。

非弹性资源池模式

(废弃,不推荐使用)

SQL队列

通用队列

单用户单队列独享资源

无法动态调整,资源可能会闲置

废弃,不推荐使用

为了方便您理解DLI不同计算资源模式的适用场景,我们把购买DLI计算资源比作用车服务:

  • 弹性资源池模式可以比作“租车”,您可以根据实际需求动态调整资源的规模。

    这种模式适合于业务需求波动较大的场景,灵活地根据业务峰谷来调整资源,优化成本。

  • 全局共享模式可以比作“打车”,您只需为实际使用的数据量付费。

    这种模式适合于不确定数据量大小或仅需要偶尔进行数据处理的场景,按需使用资源,无需预先购买或预留资源。

弹性资源池扩缩容

当弹性资源池中添加队列、删除队列时,会触发弹性资源扩缩容。

而弹性资源池缩容可能会触发缩容含有shuffle数据的节点,会导致Spark Task重算,引起Spark作业和SQL作业内部自动重试,当作业重试超过限制会导致作业执行失败,需用户重新执行作业。

说明:
  • Spark2.3版本作业需要升级作业版本后才能支持运行中动态缩容功能。
  • Spark Streaming作业、Flink作业在运行过程中所在节点无法缩容,需要暂停作业或迁移作业至其他弹性资源池后才能完成缩容。

DLI队列类型

DLI分为三种队列类型: default队列、SQL队列、通用队列,您可以根据业务场景和作业特性选择最合适的队列类型。

  • default队列:

    DLI服务预置的队列,所有用户共享。

    不支持指定default队列资源大小,资源在执行作业时按需分配,并按实际扫描的数据量计费。

    由于default队列是共享资源,在使用时可能会出现资源抢占的情况,不能保证每次都能获得资源来执行作业。

    default队列适用小规模或临时的数据处理需求。对于重要的或需要保证资源的作业,建议购买弹性资源池并在弹性资源池中创建队列来执行作业。

  • SQL队列:

    SQL队列是用于执行SQL作业的队列,支持指定引擎类型包括Spark和HetuEngine。

    SQL队列适用于需要快速数据查询和分析,以及需要定期清理缓存或重置环境的业务。

  • 通用队列:

    通用队列用于执行Spark作业、Flink OpenSource SQL作业和Flink Jar作业的队列。

    适合适用于复杂数据处理、实时数据流处理或批量数据处理的场景。

弹性资源池使用场景

推荐使用弹性资源池队列,提高资源使用的灵活性和资源利用效率。本节介绍常见的弹性资源池的使用场景。

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

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

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

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

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

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

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

我们使用cookie来确保您的高速浏览体验。继续浏览本站,即表示您同意我们使用cookie。 详情

文档反馈

文档反馈

意见反馈

0/500

标记内容

同时提交标记内容