parquet::arrow::buffer::dictionary_buffer

Enum DictionaryBuffer

Source
pub enum DictionaryBuffer<K: ArrowNativeType, V: OffsetSizeTrait> {
    Dict {
        keys: Vec<K>,
        values: ArrayRef,
    },
    Values {
        values: OffsetBuffer<V>,
    },
}
Expand description

An array of variable length byte arrays that are potentially dictionary encoded and can be converted into a corresponding [ArrayRef]

Variants§

§

Dict

Fields

§keys: Vec<K>
§values: ArrayRef
§

Values

Fields

§values: OffsetBuffer<V>

Implementations§

Source§

impl<K: ArrowNativeType + Ord, V: OffsetSizeTrait> DictionaryBuffer<K, V>

Source

pub fn len(&self) -> usize

Source

pub fn as_keys(&mut self, dictionary: &ArrayRef) -> Option<&mut Vec<K>>

Returns a mutable reference to a keys array

Returns None if the dictionary needs to be recomputed

§Panic

Panics if the dictionary is too large for K

Source

pub fn spill_values(&mut self) -> Result<&mut OffsetBuffer<V>>

Returns a mutable reference to a values array

If this is currently dictionary encoded, this will convert from the dictionary encoded representation

Source

pub fn into_array( self, null_buffer: Option<Buffer>, data_type: &ArrowType, ) -> Result<ArrayRef>

Converts this into an [ArrayRef] with the provided data_type and null_buffer

Trait Implementations§

Source§

impl<K: ArrowNativeType, V: OffsetSizeTrait> Default for DictionaryBuffer<K, V>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<K: ArrowNativeType, V: OffsetSizeTrait> ValuesBuffer for DictionaryBuffer<K, V>

Source§

fn pad_nulls( &mut self, read_offset: usize, values_read: usize, levels_read: usize, valid_mask: &[u8], )

If a column contains nulls, more level data may be read than value data, as null values are not encoded. Therefore, first the levels data is read, the null count determined, and then the corresponding number of values read to a ValuesBuffer. Read more

Auto Trait Implementations§

§

impl<K, V> Freeze for DictionaryBuffer<K, V>

§

impl<K, V> !RefUnwindSafe for DictionaryBuffer<K, V>

§

impl<K, V> Send for DictionaryBuffer<K, V>

§

impl<K, V> Sync for DictionaryBuffer<K, V>

§

impl<K, V> Unpin for DictionaryBuffer<K, V>
where K: Unpin, V: Unpin,

§

impl<K, V> !UnwindSafe for DictionaryBuffer<K, V>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> MaybeSendSync for T