pub struct Encoding(pub i32);
Expand description
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.
Tuple Fields§
§0: i32
Implementations§
Source§impl Encoding
impl Encoding
Sourcepub const PLAIN: Encoding
pub const PLAIN: Encoding
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.
Sourcepub const PLAIN_DICTIONARY: Encoding
pub const PLAIN_DICTIONARY: Encoding
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
Sourcepub const RLE: Encoding
pub const RLE: Encoding
Group packed run length encoding. Usable for definition/repetition levels encoding and Booleans (on one bit: 0 is false; 1 is true.)
Sourcepub const BIT_PACKED: Encoding
pub const BIT_PACKED: Encoding
Bit packed encoding. This can only be used if the data has a known max width. Usable for definition/repetition levels encoding.
Sourcepub const DELTA_BINARY_PACKED: Encoding
pub const DELTA_BINARY_PACKED: Encoding
Delta encoding for integers. This can be used for int columns and works best on sorted data
Sourcepub const DELTA_LENGTH_BYTE_ARRAY: Encoding
pub const DELTA_LENGTH_BYTE_ARRAY: Encoding
Encoding for byte arrays to separate the length values and the data. The lengths are encoded using DELTA_BINARY_PACKED
Sourcepub const DELTA_BYTE_ARRAY: Encoding
pub const DELTA_BYTE_ARRAY: Encoding
Incremental-encoded byte array. Prefix lengths are encoded using DELTA_BINARY_PACKED. Suffixes are stored as delta length byte arrays.
Sourcepub const RLE_DICTIONARY: Encoding
pub const RLE_DICTIONARY: Encoding
Dictionary encoding: the ids are encoded using the RLE encoding
Sourcepub const BYTE_STREAM_SPLIT: Encoding
pub const BYTE_STREAM_SPLIT: Encoding
Encoding for fixed-width data (FLOAT, DOUBLE, INT32, INT64, FIXED_LEN_BYTE_ARRAY). K byte-streams are created where K is the size in bytes of the data type. The individual bytes of a 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.
Added in 2.8 for FLOAT and DOUBLE. Support for INT32, INT64 and FIXED_LEN_BYTE_ARRAY added in 2.11.
pub const ENUM_VALUES: &'static [Self]
Trait Implementations§
Source§impl Ord for Encoding
impl Ord for Encoding
Source§impl PartialOrd for Encoding
impl PartialOrd for Encoding
Source§impl TSerializable for Encoding
impl TSerializable for Encoding
Source§fn write_to_out_protocol<T: TOutputProtocol>(
&self,
o_prot: &mut T,
) -> Result<()>
fn write_to_out_protocol<T: TOutputProtocol>( &self, o_prot: &mut T, ) -> Result<()>
Source§fn read_from_in_protocol<T: TInputProtocol>(i_prot: &mut T) -> Result<Encoding>
fn read_from_in_protocol<T: TInputProtocol>(i_prot: &mut T) -> Result<Encoding>
impl Copy for Encoding
impl Eq for Encoding
impl StructuralPartialEq for Encoding
Auto Trait Implementations§
impl Freeze for Encoding
impl RefUnwindSafe for Encoding
impl Send for Encoding
impl Sync for Encoding
impl Unpin for Encoding
impl UnwindSafe for Encoding
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more