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

0

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

profile picture
专家
已提问 5 个月前15 查看次数
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
专家
已回答 5 个月前

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

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

回答问题的准则