Struct parquet::encoding::DeltaBitPackEncoder[][src]

pub struct DeltaBitPackEncoder<T: DataType> { /* fields omitted */ }

Delta bit packed encoder. Consists of a header followed by blocks of delta encoded values binary packed.

Delta-binary-packing:

  [page-header] [block 1], [block 2], ... [block N]

Each page header consists of:

  [block size] [number of miniblocks in a block] [total value count] [first value]

Each block consists of:

  [min delta] [list of bitwidths of miniblocks] [miniblocks]

Current implementation writes values in put method, multiple calls to put to existing block or start new block if block size is exceeded. Calling flush_buffer writes out all data and resets internal state, including page header.

Supports only INT32 and INT64.

Methods

impl<T: DataType> DeltaBitPackEncoder<T>
[src]

Creates new delta bit packed encoder.

Trait Implementations

impl<T: DataType> Encoder<T> for DeltaBitPackEncoder<T>
[src]

Encodes data from values.

Returns the encoding type of this encoder.

Flushes the underlying byte buffer that's being processed by this encoder, and return the immutable copy of it. This will also reset the internal state. Read more

Auto Trait Implementations

impl<T> Send for DeltaBitPackEncoder<T> where
    T: Send

impl<T> Sync for DeltaBitPackEncoder<T> where
    T: Sync