[][src]Enum parquet_format::Encoding

pub enum Encoding {
    Plain,
    PlainDictionary,
    Rle,
    BitPacked,
    DeltaBinaryPacked,
    DeltaLengthByteArray,
    DeltaByteArray,
    RleDictionary,
    ByteStreamSplit,
}

Encodings supported by Parquet. Not all encodings are valid for all types. These enums are also used to specify the encoding of definition and repetition levels. See the accompanying doc for the details of the more complicated encodings.

Variants

Plain

Default encoding. BOOLEAN - 1 bit per value. 0 is false; 1 is true. INT32 - 4 bytes per value. Stored as little-endian. INT64 - 8 bytes per value. Stored as little-endian. FLOAT - 4 bytes per value. IEEE. Stored as little-endian. DOUBLE - 8 bytes per value. IEEE. Stored as little-endian. BYTE_ARRAY - 4 byte length stored as little endian, followed by bytes. FIXED_LEN_BYTE_ARRAY - Just the bytes.

PlainDictionary

Deprecated: Dictionary encoding. The values in the dictionary are encoded in the plain type. in a data page use RLE_DICTIONARY instead. in a Dictionary page use PLAIN instead

Rle

Group packed run length encoding. Usable for definition/repetition levels encoding and Booleans (on one bit: 0 is false; 1 is true.)

BitPacked

Bit packed encoding. This can only be used if the data has a known max width. Usable for definition/repetition levels encoding.

DeltaBinaryPacked

Delta encoding for integers. This can be used for int columns and works best on sorted data

DeltaLengthByteArray

Encoding for byte arrays to separate the length values and the data. The lengths are encoded using DELTA_BINARY_PACKED

DeltaByteArray

Incremental-encoded byte array. Prefix lengths are encoded using DELTA_BINARY_PACKED. Suffixes are stored as delta length byte arrays.

RleDictionary

Dictionary encoding: the ids are encoded using the RLE encoding

ByteStreamSplit

Encoding for floating-point data. K byte-streams are created where K is the size in bytes of the data type. The individual bytes of an FP value are scattered to the corresponding stream and the streams are concatenated. This itself does not reduce the size of the data but can lead to better compression afterwards.

Implementations

impl Encoding[src]

pub fn write_to_out_protocol(
    &self,
    o_prot: &mut dyn TOutputProtocol
) -> Result<()>
[src]

pub fn read_from_in_protocol(
    i_prot: &mut dyn TInputProtocol
) -> Result<Encoding>
[src]

Trait Implementations

impl Clone for Encoding[src]

impl Copy for Encoding[src]

impl Debug for Encoding[src]

impl Eq for Encoding[src]

impl Hash for Encoding[src]

impl Ord for Encoding[src]

impl PartialEq<Encoding> for Encoding[src]

impl PartialOrd<Encoding> for Encoding[src]

impl StructuralEq for Encoding[src]

impl StructuralPartialEq for Encoding[src]

impl TryFrom<i32> for Encoding[src]

type Error = Error

The type returned in the event of a conversion error.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.