
# 队列属性设置
#### 操作场景
DLI支持在队列创建完成后设置队列的属性。
当前支持设置：
- 设置队列的Spark driver的相关参数：通过设置队列的Spark driver，以提升队列资源的调度效率。
- 配置作业结果保存桶：设置是否开启队列的作业查询结果保存至DLI作业桶。
- 开启Spark Native算子优化：开启Spark Native引擎特性，可以提升Spark SQL的作业性能，减少CPU和内存的消耗。
本节操作介绍在管理控制台设置队列属性的操作步骤。
#### 约束与限制
- 仅标准版弹性资源池的Spark引擎的SQL队列支持配置队列属性。
- 不支持批量设置队列属性。
- 不同队列属性的约束限制请参考[表1]
   表1队列属性的约束限制 
  | 属性                 | 支持设置该属性的阶段                                                                                                                                                                                 | 约束限制                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | 相关操作链接                                                                                |
  |:---|:---|:---|:---|
  | 设置队列的Spark driver  | 仅支持队列创建完成后设置队列属性                                                                                                                                                                           | 弹性资源池中的队列，当队列的最小CUs小于16CUs时，在队列属性中设置的"最大spark driver实例数"和"最大预拉起spark driver实例数"不生效。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | [设置队列属性操作步骤]                                      |
  | 配置作业结果保存桶          | 仅支持队列创建完成后设置队列属性                                                                                                                                                                           | 开启"作业结果保存策略"，即配置作业结果保存至DLI作业桶后，请务必在提交SQL作业前配置DLI作业桶信息，否则SQL作业可能会提交失败。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | [配置作业结果保存桶](https://support.huaweicloud.com/usermanual-dli/dli_01_0703.html)          |
  | 开启Spark Native算子优化 | - 在弹性资源池中添加队列时  - 队列创建完成后设置队列属性   | 已经创建的队列通过DLI管理控制台或API修改Spark Native开关需要重启队列才会生效。 - 弹性资源池队列开启Spark Native引擎特性需同时满足以下条件： - 弹性资源池规格："标准版"。  - 队列类型："SQL队列"。  - Spark引擎版本：Spark 3.3.1及以上版本    - default队列当使用Spark 3.3.1及以上版本时，默认不开启Spark Native。  - 支持作业级别关闭Spark Native特性，可以通过在SQL作业的参数设置中配置spark.gluten.enabled=false来实现作业级别关闭Spark Native。   | [开启Spark Native算子优化](https://support.huaweicloud.com/usermanual-dli/dli_01_0685.html) |
     
  
 
 #### 设置队列属性操作步骤
1. 登录[DLI管理控制台](https://console.huaweicloud.com/dli/)。
2. 在左侧导航栏，单击"资源管理 \> 队列管理"。
3. 在对应队列的"操作"列，选择"更多 \> 属性设置"。
4. 进入队列属性设置页面，设置对应的属性值。属性值相关参数说明请参考[表2]
    表2队列属性 
   | 属性类型               | 属性名称                 | API参数名称                           | 说明                                                                                                                                                                                                                 | 取值范围                                                                                                                                                                                                                                                                                                   |
   |:---|:---|:---|:---|:---|
   | spark driver类型     | 最大spark driver实例数    | computeEngine.maxInstance         | 队列能启动的最大spark driver数量。包含预先启动的spark driver和运行作业的spark driver。                                                                                                                                                      | - 当队列为16CUs时范围：2  - 当队列大于16CUs时范围：2-（CU数/16）  - 队列最小CUs小于16CUs时，该配置项不生效。      |
   | spark driver类型     | 最大预拉起spark driver实例数 | computeEngine.maxPrefetchInstance | 队列预先启动的最大spark driver数量。当运行作业的spark driver任务数超过"单spark driver实例最大并发数"的值时，作业将会分配到预先启动的spark driver上面。                                                                                                               | - 当队列为16CUs时范围：0-1  - 当队列大于16CUs时范围：2-（CU数/16）  - 队列最小CUs小于16CUs时，该配置项不生效。   |
   | spark driver类型     | 单spark driver实例最大并发数 | job.maxConcurrent                 | 单个spark driver能同时运行的最大任务数量。当任务超过此值时，作业将会分配给其它spark driver运行。                                                                                                                                                       | 1-32                                                                                                                                                                                                                                                                                                   |
   | 作业结果保存策略           | 结果保存策略设置             | job.saveJobResultToJobBucket      | 设置是否开启队列的作业查询结果保存至DLI作业桶。 推荐您开启作业结果保存至DLI作业桶，以便更好地管理和存储SQL作业的查询结果。 了解更多请参考[配置作业结果保存桶](https://support.huaweicloud.com/usermanual-dli/dli_01_0703.html)。 | 不涉及                                                                                                                                                                                                                                                                                                    |
   | 开启Spark Native算子优化 | DLI Spark Native加速   | computeEngine.spark.nativeEnabled | 开启Spark Native引擎特性，可以提升Spark SQL的作业性能，减少CPU和内存的消耗。 了解更多[开启Spark Native算子优化](https://support.huaweicloud.com/usermanual-dli/dli_01_0685.html)。                                       | 开启或关闭                                                                                                                                                                                                                                                                                                  |
      
   
5. 单击"确定"完成队列属性的设置。
 
