[][src]Trait parquet::encoding::Encoder

pub trait Encoder<T: DataType> {
    fn put(&mut self, values: &[T::T]) -> Result<()>;
fn encoding(&self) -> Encoding;
fn estimated_data_encoded_size(&self) -> usize;
fn flush_buffer(&mut self) -> Result<ByteBufferPtr>; fn put_spaced(
        &mut self,
        values: &[T::T],
        valid_bits: &[u8]
    ) -> Result<usize> { ... } }

An Parquet encoder for the data type T.

Currently this allocates internal buffers for the encoded values. After done putting values, caller should call flush_buffer() to get an immutable buffer pointer.

Required methods

fn put(&mut self, values: &[T::T]) -> Result<()>

Encodes data from values.

fn encoding(&self) -> Encoding

Returns the encoding type of this encoder.

fn estimated_data_encoded_size(&self) -> usize

Returns an estimate of the encoded data, in bytes. Method call must be O(1).

fn flush_buffer(&mut self) -> Result<ByteBufferPtr>

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.

Loading content...

Provided methods

fn put_spaced(&mut self, values: &[T::T], valid_bits: &[u8]) -> Result<usize>

Encodes data from values, which contains spaces for null values, that is identified by valid_bits.

Returns the number of non-null values encoded.

Loading content...

Implementors

impl Encoder<BoolType> for PlainEncoder<BoolType>[src]

impl Encoder<BoolType> for RleValueEncoder<BoolType>[src]

impl Encoder<ByteArrayType> for DeltaByteArrayEncoder<ByteArrayType>[src]

impl Encoder<ByteArrayType> for DeltaLengthByteArrayEncoder<ByteArrayType>[src]

impl Encoder<ByteArrayType> for PlainEncoder<ByteArrayType>[src]

impl Encoder<FixedLenByteArrayType> for DeltaByteArrayEncoder<FixedLenByteArrayType>[src]

impl Encoder<FixedLenByteArrayType> for PlainEncoder<FixedLenByteArrayType>[src]

impl Encoder<Int96Type> for PlainEncoder<Int96Type>[src]

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

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

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

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

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

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

Loading content...