Struct TypedDictionaryArray
pub struct TypedDictionaryArray<'a, K, V>where
K: ArrowDictionaryKeyType,{
dictionary: &'a DictionaryArray<K>,
values: &'a V,
}
Expand description
A DictionaryArray
typed on its child values array
Implements ArrayAccessor
allowing fast access to its elements
use arrow_array::{DictionaryArray, StringArray, types::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)
}
Fields§
§dictionary: &'a DictionaryArray<K>
§values: &'a V
Implementations§
§impl<'a, K, V> TypedDictionaryArray<'a, K, V>where
K: ArrowDictionaryKeyType,
impl<'a, K, V> TypedDictionaryArray<'a, K, V>where
K: ArrowDictionaryKeyType,
pub fn keys(&self) -> &'a PrimitiveArray<K>
pub fn keys(&self) -> &'a PrimitiveArray<K>
Returns the keys of this TypedDictionaryArray
pub fn values(&self) -> &'a V
pub fn values(&self) -> &'a V
Returns the values of this TypedDictionaryArray
Trait Implementations§
§impl<K, V> Array for TypedDictionaryArray<'_, K, V>where
K: ArrowDictionaryKeyType,
V: Sync,
impl<K, V> Array for TypedDictionaryArray<'_, K, V>where
K: ArrowDictionaryKeyType,
V: Sync,
§fn slice(&self, offset: usize, length: usize) -> Arc<dyn Array>
fn slice(&self, offset: usize, length: usize) -> Arc<dyn Array>
Returns a zero-copy slice of this array with the indicated offset and length. Read more
§fn 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§fn nulls(&self) -> Option<&NullBuffer>
fn nulls(&self) -> Option<&NullBuffer>
Returns the null buffer of this array if any. Read more
§fn logical_nulls(&self) -> Option<NullBuffer>
fn logical_nulls(&self) -> Option<NullBuffer>
Returns a potentially computed
NullBuffer
that represents the logical
null values of this array, if any. Read more§fn logical_null_count(&self) -> usize
fn logical_null_count(&self) -> usize
Returns the total number of logical null values in this array. Read more
§fn is_nullable(&self) -> bool
fn is_nullable(&self) -> bool
Returns
false
if the array is guaranteed to not contain any logical nulls Read more§fn 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.
Note that this does not always correspond to the exact memory usage of an array,
since multiple arrays can share the same buffers or slices thereof.
§fn 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.§fn null_count(&self) -> usize
fn null_count(&self) -> usize
Returns the total number of physical null values in this array. Read more
§impl<'a, K, V> ArrayAccessor for TypedDictionaryArray<'a, K, V>where
K: ArrowDictionaryKeyType,
V: Sync + Send,
&'a V: ArrayAccessor,
<&'a V as ArrayAccessor>::Item: Default,
impl<'a, K, V> ArrayAccessor for TypedDictionaryArray<'a, K, V>where
K: ArrowDictionaryKeyType,
V: Sync + Send,
&'a V: ArrayAccessor,
<&'a V as ArrayAccessor>::Item: Default,
§type Item = <&'a V as ArrayAccessor>::Item
type Item = <&'a V as ArrayAccessor>::Item
The Arrow type of the element being accessed.
§fn value(
&self,
index: usize,
) -> <TypedDictionaryArray<'a, K, V> as ArrayAccessor>::Item
fn value( &self, index: usize, ) -> <TypedDictionaryArray<'a, K, V> as ArrayAccessor>::Item
Returns the element at index
i
Read more§unsafe fn value_unchecked(
&self,
index: usize,
) -> <TypedDictionaryArray<'a, K, V> as ArrayAccessor>::Item
unsafe fn value_unchecked( &self, index: usize, ) -> <TypedDictionaryArray<'a, K, V> as ArrayAccessor>::Item
Returns the element at index
i
Read more§impl<K, V> Clone for TypedDictionaryArray<'_, K, V>where
K: ArrowDictionaryKeyType,
impl<K, V> Clone for TypedDictionaryArray<'_, K, V>where
K: ArrowDictionaryKeyType,
§fn clone(&self) -> TypedDictionaryArray<'_, K, V>
fn clone(&self) -> TypedDictionaryArray<'_, K, V>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more§impl<K, V> Debug for TypedDictionaryArray<'_, K, V>where
K: ArrowDictionaryKeyType,
impl<K, V> Debug for TypedDictionaryArray<'_, K, V>where
K: ArrowDictionaryKeyType,
§impl<K, V> IntoIterator for TypedDictionaryArray<'_, K, V>
impl<K, V> IntoIterator for TypedDictionaryArray<'_, K, V>
§type Item = Option<<TypedDictionaryArray<'_, K, V> as ArrayAccessor>::Item>
type Item = Option<<TypedDictionaryArray<'_, K, V> as ArrayAccessor>::Item>
The type of the elements being iterated over.
§type IntoIter = ArrayIter<TypedDictionaryArray<'_, K, V>>
type IntoIter = ArrayIter<TypedDictionaryArray<'_, K, V>>
Which kind of iterator are we turning this into?
§fn into_iter(self) -> <TypedDictionaryArray<'_, K, V> as IntoIterator>::IntoIter
fn into_iter(self) -> <TypedDictionaryArray<'_, K, V> as IntoIterator>::IntoIter
Creates an iterator from a value. Read more
impl<K, V> Copy for TypedDictionaryArray<'_, K, V>where
K: ArrowDictionaryKeyType,
Auto Trait Implementations§
impl<'a, K, V> Freeze for TypedDictionaryArray<'a, K, V>
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§
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
Mutably borrows from an owned value. Read more