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