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

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> { ... } }
Expand description

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<()>[src]

Encodes data from values.

fn encoding(&self) -> Encoding[src]

Returns the encoding type of this encoder.

fn estimated_data_encoded_size(&self) -> usize[src]

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

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

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.

Provided methods

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

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

Returns the number of non-null values encoded.

Implementors

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

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

fn encoding(&self) -> Encoding[src]

fn estimated_data_encoded_size(&self) -> usize[src]

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

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

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

fn encoding(&self) -> Encoding[src]

fn estimated_data_encoded_size(&self) -> usize[src]

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

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

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

fn encoding(&self) -> Encoding[src]

fn estimated_data_encoded_size(&self) -> usize[src]

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

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

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

fn encoding(&self) -> Encoding[src]

fn estimated_data_encoded_size(&self) -> usize[src]

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

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

fn encoding(&self) -> Encoding[src]

fn estimated_data_encoded_size(&self) -> usize[src]

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

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

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

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

fn encoding(&self) -> Encoding[src]

fn estimated_data_encoded_size(&self) -> usize[src]

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