Uso de la compresión de datos
Cuando utilice Hive para copiar datos entre orígenes de datos diferentes, puede solicitar la compresión de datos sobre la marcha. Hive proporciona varios códecs de compresión. Puede elegir uno de ellos durante la sesión de Hive. Si lo hace, los datos se comprimirán en el formato especificado.
El siguiente ejemplo comprime los datos utilizando el algoritmo 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 TABLElzo_compression_table
SELECT * FROMhiveTableName
;
El archivo resultante de Amazon S3 tendrá un nombre generado por el sistema con la extensión .lzo
(por ejemplo, 8d436957-57ba-4af7-840c-96c2fc7bb6f5-000000.lzo
).
Los códecs de compresión disponibles son:
-
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