snowflake-cloud-data-platform - Snowflake PUT 命令,AUTO_COMPRESS vs gzip 压缩文件性能
问题描述
有人可以建议使用 PUT 命令执行以下哪个选项更高效:
- 使用 AUTO_COMPRESS=true 上传文件。
- 上传压缩文件 (gzip) AUTO_COMPRESS=false。
解决方案
离开并没有什么坏处,AUTO_COMPRESS=true
因为如果一个文件已经被压缩,PUT 命令不会尝试双重压缩它。不过,有一个重要的警告需要注意。如果文件已压缩,则必须以支持的压缩方法对其进行压缩。您可以在此处获取支持的方法列表:https ://docs.snowflake.com/en/sql-reference/sql/put.html
建议使用 before 或 auto_compress 压缩,因为它会减少网络传输时间和带宽消耗。这将使用服务器上的 CPU 和 IO 执行 PUT 操作。如果执行 PUT 的服务器已用尽(例如,我在超额订阅的系统上看到了一些 VM 案例),最好在发送到执行 PUT 的机器之前执行压缩。这是因为 PUT 操作中已经有很多 CPU 和 IO,因为它在上传之前对文件进行了加密。