wlm redshift 为两个队列提供 100% 的内存

Posted

技术标签:

【中文标题】wlm redshift 为两个队列提供 100% 的内存【英文标题】:wlm redshift give 100% memory to both queue 【发布时间】:2016-03-12 05:29:41 【问题描述】:

ETL 和分析师正在使用亚马逊红移。 我希望限制所有分析师能够运行查询最多 10 分钟,另一方面,我希望 ETL 任务运行的查询不会超时。

使用 wlm 似乎是个好主意。所以我创建了两个队列,一个用于 ETL 任务,一个用于分析师。但是 wlm 在两个队列之间平均分配内存。 ETL 只在夜间运行,分析师只在白天运行查询,不想这样浪费内存

【问题讨论】:

【参考方案1】:

WLM 允许您指定队列获得的内存百分比:http://docs.aws.amazon.com/redshift/latest/dg/cm-c-defining-query-queues.html

此外,它还允许您通过 API 动态更改分配:http://docs.aws.amazon.com/cli/latest/reference/redshift/modify-cluster-parameter-group.html

例如,您可以在白天拥有 Analyst 队列:(90%,5 个时隙)、ETL 队列:(10%,1 个时隙),以及 Analyst 队列:(10%,1 个时隙)、ETL 队列:( 90%,1 个时段)在夜间。

【讨论】:

这似乎很容易出错,因为任务失败或花费比平时更长的时间。

以上是关于wlm redshift 为两个队列提供 100% 的内存的主要内容,如果未能解决你的问题,请参考以下文章

Redshift WLM 配置:如何使用未分配的内存?

Redshift Auto WLM 配置、队列数和查询槽?

Redshift WLM:“最终队列可能不包含用户组或查询组”

批量插入的 Redshift 查询队列使用情况

Redshift 未登录到 STL_WLM_RULE_ACTION

双100%提交剑指 Offer 09. 用两个栈实现队列