使用数据压缩 - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用数据压缩

使用 Hive 在不同数据源之间复制数据时,可以请求动态数据压缩。Hive 提供多个压缩编解码器。可以在 Hive 会话期间选择一个。执行此操作时,数据将以指定的格式进行压缩。

下面的示例使用 Lempel-Ziv-Oberhumer (LZO) 算法压缩数据。

SET hive.exec.compress.output=true; SET io.seqfile.compression.type=BLOCK; SET mapred.output.compression.codec = com.hadoop.compression.lzo.LzopCodec; CREATE EXTERNAL TABLE lzo_compression_table (line STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' LOCATION 's3://bucketname/path/subpath/'; INSERT OVERWRITE TABLE lzo_compression_table SELECT * FROM hiveTableName;

Amazon S3 中的生成文件将具有系统生成的名称,末尾为 .lzo(如 8d436957-57ba-4af7-840c-96c2fc7bb6f5-000000.lzo)。

可用的压缩编解码器包括:

  • org.apache.hadoop.io.compress.GzipCodec

  • org.apache.hadoop.io.compress.DefaultCodec

  • com.hadoop.compression.lzo.LzoCodec

  • com.hadoop.compression.lzo.LzopCodec

  • org.apache.hadoop.io.compress.BZip2Codec

  • org.apache.hadoop.io.compress.SnappyCodec