[][src]Module parquet::compression

Contains codec interface and supported codec implementations.

See Compression enum for all available compression algorithms.

Example

use parquet::basic::Compression;
use parquet::compression::create_codec;

let mut codec = match create_codec(Compression::SNAPPY) {
  Ok(Some(codec)) => codec,
  _ => panic!()
};

let data = vec![b'p', b'a', b'r', b'q', b'u', b'e', b't'];
let mut compressed = vec![];
codec.compress(&data[..], &mut compressed).unwrap();

let mut output = vec![];
codec.decompress(&compressed[..], &mut output).unwrap();

assert_eq!(output, data);

Structs

BrotliCodec

Codec for Brotli compression algorithm.

GZipCodec

Codec for GZIP compression algorithm.

LZ4Codec

Codec for LZ4 compression algorithm.

SnappyCodec

Codec for Snappy compression format.

ZSTDCodec

Codec for Zstandard compression algorithm.

Traits

Codec

Parquet compression codec interface.

Functions

create_codec

Given the compression type codec, returns a codec used to compress and decompress bytes for the compression type. This returns None if the codec type is UNCOMPRESSED.