#[non_exhaustive]pub enum DataType {
Show 36 variants
Null,
Boolean,
Int8,
Int16,
Int32,
Int64,
UInt8,
UInt16,
UInt32,
UInt64,
Float16,
Float32,
Float64,
Utf8,
LargeUtf8,
Utf8View,
Binary,
LargeBinary,
BinaryView,
FixedSizeBinary(i32),
Date32,
Date64,
Timestamp(TimeUnit, Option<String>),
Time32(TimeUnit),
Time64(TimeUnit),
Duration(TimeUnit),
Interval(IntervalUnit),
Decimal128(u8, i8),
Struct(Vec<Field>),
List(Box<Field>),
LargeList(Box<Field>),
FixedSizeList(Box<Field>, i32),
Map(Box<Field>, bool),
Dictionary(Box<DataType>, Box<DataType>),
RunEndEncoded(Box<Field>, Box<Field>),
Union(Vec<(i8, Field)>, UnionMode),
}Expand description
Data types of array
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Null
Data type for fields without data
Boolean
bool values stored as bitmaps
Int8
i8 stored as a contiguous array
Int16
i16 stored as a contiguous array
Int32
i32 stored as a contiguous array
Int64
i64 stored as a contiguous array
UInt8
u8 stored as a contiguous array
UInt16
u16 stored as a contiguous array
UInt32
u32 stored as a contiguous array
UInt64
u64 stored as a contiguous array
Float16
f16 stored as a contiguous array
Float32
f32 stored as a contiguous array
Float64
f64 stored as a contiguous array
Utf8
Strings stored with i32 offsets
LargeUtf8
Strings stored with i64 offsets
Utf8View
Strings stored with i32 offsets or inline for small strings
Binary
Byte arrays stored with i32 offsets
LargeBinary
Byte arrays stored with i64 offsets
BinaryView
Bytes stored with u32 offsets or inline for small values
FixedSizeBinary(i32)
Byte arrays with fixed length
Date32
Dates as the number of days since the epoch stored as i32 (e.g., "2022-10-11")
Date64
Dates as the number of seconds since the epoch stored as i64 (e.g., "2022-10-11")
Timestamp(TimeUnit, Option<String>)
A UTC timestamps stored as i64 with the specified unit and an optional timezone
Time32(TimeUnit)
Times as an offset from midnight stored as i32 with the given unit
Time64(TimeUnit)
Times as an offset from midnight stored as i64 with the given unit
Duration(TimeUnit)
Durations stored as i64 with the given unit
Interval(IntervalUnit)
Calendar intervals with different layouts depending on the given unit
Decimal128(u8, i8)
Fixed point values stored with the given precision and scale
Struct(Vec<Field>)
Structs
List(Box<Field>)
Lists with i32 offsets
LargeList(Box<Field>)
Lists with i64 offsets
FixedSizeList(Box<Field>, i32)
Lists with a fixed number of element with i32 offsets
Map(Box<Field>, bool)
Maps
The field should be a struct field with two children for the keys and values.
Dictionary(Box<DataType>, Box<DataType>)
Deduplicated values
The children are Dictionary(indices, values)
RunEndEncoded(Box<Field>, Box<Field>)
Deduplicated values that continuously repeat
The children are RunEndEncoded(indices, values)
Union(Vec<(i8, Field)>, UnionMode)
Union o different types
Trait Implementations§
Source§impl<'de> Deserialize<'de> for DataType
impl<'de> Deserialize<'de> for DataType
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
§impl TryFrom<&DataType> for DataType
Converison from arrow data types (requires one of the arrow-{version} features)
impl TryFrom<&DataType> for DataType
Converison from arrow data types (requires one of the arrow-{version} features)
§impl TryFrom<&DataType> for DataType
Converison to arrow data types (requires one of the arrow-{version} features)
impl TryFrom<&DataType> for DataType
Converison to arrow data types (requires one of the arrow-{version} features)
§impl TryFrom<&DataType> for DataType
Conversion from arrow2 data types (requires one of the arrow2-{version} features)
impl TryFrom<&DataType> for DataType
Conversion from arrow2 data types (requires one of the arrow2-{version} features)
§impl TryFrom<&DataType> for DataType
Conversion to arrow2 data types (requires one of the arrow2-{version} features)
impl TryFrom<&DataType> for DataType
Conversion to arrow2 data types (requires one of the arrow2-{version} features)
impl Eq for DataType
impl StructuralPartialEq for DataType
Auto Trait Implementations§
impl Freeze for DataType
impl RefUnwindSafe for DataType
impl Send for DataType
impl Sync for DataType
impl Unpin for DataType
impl UnsafeUnpin for DataType
impl UnwindSafe for DataType
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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