使用数据压缩 - Amazon DynamoDB

使用数据压缩

使用 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