如何在 Amazon Redshift 集群中创建查询队列并确定其优先级?

1 分钟阅读
0

我想在 Amazon Redshift 中创建特定查询队列并确定其优先级。

简短描述

在 Amazon Redshift 中,您可以创建提取、转换、加载(ETL)查询,然后根据优先级将其分入不同队列。您可以根据用户组查询组查询分配规则确定查询的优先级。

如需确定查询的优先级,请使用 Amazon Redshift 工作负载管理(WLM)。Amazon Redshift 支持自动 WLM手动 WLM 配置。

与手动 WLM 不同,您可以使用自动 WLM 设置查询优先级值来表明工作负载的相对优先级。对于自动和手动 WLM,都可以创建单独的查询队列。如需确定查询的优先级,请选择您的用例最适合的 WLM 配置。

解决方法

自动 WLM

**注意:**最佳做法是在将配置迁移到生产环境之前,在现有查询或工作负载上测试自动 WLM。

如需使用自动 WLM 在 Amazon Redshift 中确定工作负载的优先级,请完成以下步骤:

  1. 登录到 AWS 管理控制台。
  2. 打开 Amazon Redshift 控制台
  3. 在导航窗格中,选择配置
  4. 选择工作负载管理
  5. 选择要修改的参数组。
  6. 选择工作负载管理选项卡,查看当前 WLM 配置。
  7. (可选)更新您的 WLM 参数组。如果您的 WLM 参数组设置为自动 WLM 模式,则无需更新。如果您的 WLM 参数组设置为手动 WLM 模式,则修改参数组的 WLM 配置。选择编辑工作负载队列以编辑 WLM 配置。然后,选择切换 WLM 模式,切换到自动 WLM
  8. 选择添加队列,添加更多工作负载队列。您最多可以为每个工作负载创建八个队列,并将队列与用户组或查询组关联起来。
  9. 为队列配置优先级状态。默认情况下,每个队列都将分配一个“正常”优先级状态。
    **注意:**超级用户可以应用“关键”最高优先级状态。如果工作负载被标记为“关键”优先级,则每次仅可运行其中一个查询。
  10. (可选)创建 WLM 查询监控规则,用于划定查询和队列的性能界限,例如时间限制或并发级别。例如,您可以设置查询监控规则,以便在正在运行的查询超过 40 秒时更改查询的优先级状态。
  11. 选择保存
  12. 创建和定义队列分配规则,并将查询分配给队列
    **注意:**根据用户或查询组分配查询。未分配的查询将在默认队列中执行。

手动 WLM

如果要管理多个 WLM 队列,则可以配置工作负载管理(WLM)队列以改进查询处理

如需使用手动 WLM 在 Amazon Redshift 中确定工作负载的优先级,请完成以下步骤:

  1. 登录到 AWS 管理控制台。
  2. 打开 Amazon Redshift 控制台
  3. 在导航菜单中,选择配置
  4. 选择工作负载管理
  5. 选择要修改的参数组。
  6. 选择工作负载管理选项卡,查看当前 WLM 配置。
  7. (可选)更新您的 WLM 参数组。如果您的 WLM 参数组设置为手动 WLM 模式,则无需更新。如果您的 WLM 参数组设置为自动 WLM 模式,则修改参数组的 WLM 配置。选择编辑工作负载队列以编辑 WLM 配置。然后,选择切换 WLM 模式以切换到手动 WLM
  8. 选择添加队列,添加工作负载队列。您最多可以为每个工作负载创建八个队列,并将队列与用户组或查询组关联。
  9. 使用 WLM 动态内存分配来配置分配给每个队列的内存大小。WLM 动态内存配置可帮助您根据内存使用情况确定工作负载的优先级。
  10. (可选)创建并定义查询监控规则以管理达到指标边界的查询。例如,您可以使用查询监控规则来跳过或取消执行时间过长的查询。
  11. 选择保存
  12. 创建和定义队列分配规则,并将查询分配给队列
    **注意:**根据用户或查询组分配查询。未分配的查询将在默认队列中执行。

相关信息

WLM 系统表和视图

STV_WLM_QUERY_QUEUE_STATE

STV_WLM_QUERY_STATE

STV_WLM_SERVICE_CLASS_CONFIG

AWS 官方
AWS 官方已更新 4 个月前