使用 AWS re:Post 即表示您同意 AWS re:Post 使用條款

Redshift COPY命令CPU利用率为什么飙升?

0

【以下的问题经过翻译处理】 客户在将数据从S3加载到Redshift集群时,所有计算节点的CPU飙升(升至接近100%)。他们运行的是一个由2个ds2.xlarge节点组成的集群,可以并行工作的切片总数为4。 注意到这个CPU飙升后,他们在集群中添加了第三个节点,但CPU飙升的问题仍然存在。 加载的文件是csv,是压缩的GZIP格式。 有人以前见过这个问题吗?

profile picture
專家
已提問 1 年前檢視次數 28 次
1 個回答
0

【以下的回答经过翻译处理】 尽管正确分割文件是非常重要并且绝对应该做的,但它应该不会引起整个集群的CPU使用率飙升。

引起像您描述的CPU使用率飙升的原因很大可能是,加载到表中时没有使用任何压缩设置。COPY的默认设置是[COMPUPDATE](http://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-load.html#copy-compupdate)为ON。Redshift将会对传入的数据尝试所有的压缩设置,并返回适当的(最小的)压缩。

想要解决这个问题,最好确保COPY语句的目标表有压缩设置。请运行[Analyze Compression](http://docs.aws.amazon.com/redshift/latest/dg/r_ANALYZE_COMPRESSION.html)命令以确定如何压缩,并手动将其应用于DDL。对于临时表,LZO可能是一个很好的选择,因为压缩这些短暂的表比ZSTD等更快。别忘了还需要将COPY命令的COMPUPDATE设置为OFF。

profile picture
專家
已回答 1 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南