从Spectrum返回数据到Redshift集群是如何完成的?

0

【以下的问题经过翻译处理】 Spectrum查询结果如何返回到主Redshift集群的问题。这可能会影响Redshift集群节点的大小,以确保它们具有足够的处理结果的能力。换句话说,所有的结果是否都返回到主节点,还是有一些逻辑将数据映射到适当的分片中?如果是后者,数据和分片的关联如何工作?

profile picture
专家
已提问 5 个月前4 查看次数
1 回答
0

【以下的回答经过翻译处理】 参考https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/。 Spectrum层将执行它需要执行的操作(下推操作)。希望在把一小部分返回到主Redshift集群进行进一步处理之前,它能够“过滤”掉S3中大部分行。否则,一个微小的2x dc2.large集群将无法处理S3中1GB Parquet文件的100万条记录,并针对这些大型外部表执行联接操作或去重操作。每个主Redshift集群的切片可以调用每个查询的最多10个Spectrum节点。Spectrum过滤后的数据将根据执行管道中的下一步(由Redshift优化器生成)和联接/GBY列的散列值,等等发送到Redshift切片。这与在正常的Redshift表之间执行联接并使用DISTKEY分发的DISTSTYLE EVEN的另一个Redshift表没有太大区别。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则