Redshift COPY自动压缩
Redshift COPY automatic compression
我不清楚在 Redshift 中使用 COPY 命令时自动压缩是如何工作的。
文档说:
By default, the COPY command applies automatic compression whenever you run the COPY command with an empty target table and all of the table columns either have RAW encoding or no encoding.
这是否意味着对于我的主要 table,在持续复制原始数据的情况下,数据只会在该 table 第一次发生 COPY 时被压缩,并且永远不会再次为以后的时间?好像我误解了一些没有意义的东西会这样工作。
感谢
基本上在创建table时需要为每一列设置一个编码(压缩)类型。但是有一个例外,正如您从 AWS 文档中引用的那样,当数据被复制到空 table 时,Redshift 会自动分析并设置
对所有列以及复制数据的最佳编码。然后后续数据将使用设置的编码进行压缩。
因此,您问题的答案是"No"。通过任一方式设置编码(压缩)后,后续项目将被压缩。
我确认 Masashi 的回答。但请注意:
Automatic compression analysis requires enough rows in the load data (at > least 100,000 rows per slice) to allow sampling to take place.
如果您 运行 复制小批量,您的 table 将被设置为无编码。所有后续的 COPY 调用都不会改变这一点。您稍后可以通过 运行 复制您的 table.
来解决这个问题
我不清楚在 Redshift 中使用 COPY 命令时自动压缩是如何工作的。
文档说:
By default, the COPY command applies automatic compression whenever you run the COPY command with an empty target table and all of the table columns either have RAW encoding or no encoding.
这是否意味着对于我的主要 table,在持续复制原始数据的情况下,数据只会在该 table 第一次发生 COPY 时被压缩,并且永远不会再次为以后的时间?好像我误解了一些没有意义的东西会这样工作。
感谢
基本上在创建table时需要为每一列设置一个编码(压缩)类型。但是有一个例外,正如您从 AWS 文档中引用的那样,当数据被复制到空 table 时,Redshift 会自动分析并设置 对所有列以及复制数据的最佳编码。然后后续数据将使用设置的编码进行压缩。
因此,您问题的答案是"No"。通过任一方式设置编码(压缩)后,后续项目将被压缩。
我确认 Masashi 的回答。但请注意:
Automatic compression analysis requires enough rows in the load data (at > least 100,000 rows per slice) to allow sampling to take place.
如果您 运行 复制小批量,您的 table 将被设置为无编码。所有后续的 COPY 调用都不会改变这一点。您稍后可以通过 运行 复制您的 table.
来解决这个问题