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

0

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

profile picture
エキスパート
質問済み 6ヶ月前18ビュー
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
エキスパート
回答済み 6ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン