运行 个连接查询中的 space 个

Running out of space in join queries

我在 Redshift 中有一个星型模式,为了某些 BI 目的,我试图通过将事实 table 与维度 table 连接起来来创建平面 table。 table 都很大,事实 table 大约 1TB,维度 table 大约 10GB。

当我 运行 加入查询时,查询失败,即使我可以确认 redshift 集群中有 space。为了暂时完成这个过程,我 运行 通过一次添加一列来连接。

据我了解,虽然连接查询是 运行,但 space 要求相当高,一旦连接完成,space 就会下降。

谁能建议一种有效的方法来完成这种连接?

您可以通过将 wlm_query_slot_count (http://docs.aws.amazon.com/redshift/latest/dg/r_wlm_query_slot_count.html) 设置为更高的值来为查询分配更多内存。

还要检查是否有必要将维度 table 复制到所有节点 DIST_ALL (http://docs.aws.amazon.com/redshift/latest/dg/c_choosing_dist_sort.html)。这将占用更多磁盘 space,但会加快连接查询的速度。

另一种选择是将大维度展平为事实 table,就像您在其他 DWH 模式中所做的那样