Struct arrow::array::TypedDictionaryArray
source · [−]pub struct TypedDictionaryArray<'a, K: ArrowPrimitiveType, V> { /* private fields */ }
Expand description
A strongly-typed wrapper around a DictionaryArray
that implements ArrayAccessor
allowing fast access to its elements
use arrow::array::{ArrayIter, DictionaryArray, StringArray};
use arrow::datatypes::Int32Type;
let orig = ["a", "b", "a", "b"];
let dictionary = DictionaryArray::<Int32Type>::from_iter(orig);
// `TypedDictionaryArray` allows you to access the values directly
let typed = dictionary.downcast_dict::<StringArray>().unwrap();
for (maybe_val, orig) in typed.into_iter().zip(orig) {
assert_eq!(maybe_val.unwrap(), orig)
}
Implementations
sourceimpl<'a, K: ArrowPrimitiveType, V> TypedDictionaryArray<'a, K, V>
impl<'a, K: ArrowPrimitiveType, V> TypedDictionaryArray<'a, K, V>
sourcepub fn keys(&self) -> &'a PrimitiveArray<K>
pub fn keys(&self) -> &'a PrimitiveArray<K>
Returns the keys of this TypedDictionaryArray
sourcepub fn values(&self) -> &'a V
pub fn values(&self) -> &'a V
Returns the values of this TypedDictionaryArray
Trait Implementations
sourceimpl<'a, K: ArrowPrimitiveType, V: Sync> Array for TypedDictionaryArray<'a, K, V>
impl<'a, K: ArrowPrimitiveType, V: Sync> Array for TypedDictionaryArray<'a, K, V>
sourcefn data_ref(&self) -> &ArrayData
fn data_ref(&self) -> &ArrayData
Returns a reference-counted pointer to the underlying data of this array.
sourcefn slice(&self, offset: usize, length: usize) -> ArrayRef
fn slice(&self, offset: usize, length: usize) -> ArrayRef
Returns a zero-copy slice of this array with the indicated offset and length. Read more
sourcefn offset(&self) -> usize
fn offset(&self) -> usize
Returns the offset into the underlying data used by this array(-slice).
Note that the underlying data can be shared by many arrays.
This defaults to 0
. Read more
sourcefn is_null(&self, index: usize) -> bool
fn is_null(&self, index: usize) -> bool
Returns whether the element at index
is null.
When using this function on a slice, the index is relative to the slice. Read more
sourcefn is_valid(&self, index: usize) -> bool
fn is_valid(&self, index: usize) -> bool
Returns whether the element at index
is not null.
When using this function on a slice, the index is relative to the slice. Read more
sourcefn null_count(&self) -> usize
fn null_count(&self) -> usize
Returns the total number of null values in this array. Read more
sourcefn get_buffer_memory_size(&self) -> usize
fn get_buffer_memory_size(&self) -> usize
Returns the total number of bytes of memory pointed to by this array. The buffers store bytes in the Arrow memory format, and include the data as well as the validity map. Read more
sourcefn get_array_memory_size(&self) -> usize
fn get_array_memory_size(&self) -> usize
Returns the total number of bytes of memory occupied physically by this array.
This value will always be greater than returned by get_buffer_memory_size()
and
includes the overhead of the data structures that contain the pointers to the various buffers. Read more
sourceimpl<'a, K, V> ArrayAccessor for TypedDictionaryArray<'a, K, V> where
K: ArrowPrimitiveType,
V: Sync + Send,
&'a V: ArrayAccessor,
impl<'a, K, V> ArrayAccessor for TypedDictionaryArray<'a, K, V> where
K: ArrowPrimitiveType,
V: Sync + Send,
&'a V: ArrayAccessor,
sourceimpl<'a, K: ArrowPrimitiveType, V> Clone for TypedDictionaryArray<'a, K, V>
impl<'a, K: ArrowPrimitiveType, V> Clone for TypedDictionaryArray<'a, K, V>
sourceimpl<'a, K: ArrowPrimitiveType, V> Debug for TypedDictionaryArray<'a, K, V>
impl<'a, K: ArrowPrimitiveType, V> Debug for TypedDictionaryArray<'a, K, V>
sourceimpl<'a, K, V> IntoIterator for TypedDictionaryArray<'a, K, V> where
K: ArrowPrimitiveType,
V: Sync + Send,
&'a V: ArrayAccessor,
impl<'a, K, V> IntoIterator for TypedDictionaryArray<'a, K, V> where
K: ArrowPrimitiveType,
V: Sync + Send,
&'a V: ArrayAccessor,
type Item = Option<<TypedDictionaryArray<'a, K, V> as ArrayAccessor>::Item>
type Item = Option<<TypedDictionaryArray<'a, K, V> as ArrayAccessor>::Item>
The type of the elements being iterated over.
type IntoIter = ArrayIter<TypedDictionaryArray<'a, K, V>>
type IntoIter = ArrayIter<TypedDictionaryArray<'a, K, V>>
Which kind of iterator are we turning this into?
impl<'a, K: ArrowPrimitiveType, V> Copy for TypedDictionaryArray<'a, K, V>
Auto Trait Implementations
impl<'a, K, V> !RefUnwindSafe for TypedDictionaryArray<'a, K, V>
impl<'a, K, V> Send for TypedDictionaryArray<'a, K, V> where
V: Sync,
impl<'a, K, V> Sync for TypedDictionaryArray<'a, K, V> where
V: Sync,
impl<'a, K, V> Unpin for TypedDictionaryArray<'a, K, V>
impl<'a, K, V> !UnwindSafe for TypedDictionaryArray<'a, K, V>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more