[−][src]Struct parquet_format::SchemaElement
Represents a element inside a schema definition.
- if it is a group (inner node) then type is undefined and num_children is defined
- if it is a primitive type (leaf) then type is defined and num_children is undefined the nodes are listed in depth first traversal order.
Fields
type_: Option<Type>
Data type for this field. Not set if the current element is a non-leaf node
type_length: Option<i32>
If type is FIXED_LEN_BYTE_ARRAY, this is the byte length of the vales. Otherwise, if specified, this is the maximum bit length to store any of the values. (e.g. a low cardinality INT col could have this set to 3). Note that this is in the schema, and therefore fixed for the entire file.
repetition_type: Option<FieldRepetitionType>
repetition of the field. The root of the schema does not have a repetition_type. All other nodes must have one
name: String
Name of the field in the schema
num_children: Option<i32>
Nested fields. Since thrift does not support nested fields, the nesting is flattened to a single list by a depth-first traversal. The children count is used to construct the nested relationship. This field is not set when the element is a primitive type
converted_type: Option<ConvertedType>
When the schema is the result of a conversion from another model Used to record the original type to help with cross conversion.
scale: Option<i32>
Used when this column contains decimal data. See the DECIMAL converted type for more details.
precision: Option<i32>
field_id: Option<i32>
When the original schema supports field ids, this will save the original field id in the parquet schema
logical_type: Option<LogicalType>
The logical type of this SchemaElement
LogicalType replaces ConvertedType, but ConvertedType is still required for some logical types to ensure forward-compatibility in format v1.
Implementations
impl SchemaElement
[src]
pub fn new<F1, F2, F3, F5, F6, F7, F8, F9, F10>(
type_: F1,
type_length: F2,
repetition_type: F3,
name: String,
num_children: F5,
converted_type: F6,
scale: F7,
precision: F8,
field_id: F9,
logical_type: F10
) -> SchemaElement where
F1: Into<Option<Type>>,
F2: Into<Option<i32>>,
F3: Into<Option<FieldRepetitionType>>,
F5: Into<Option<i32>>,
F6: Into<Option<ConvertedType>>,
F7: Into<Option<i32>>,
F8: Into<Option<i32>>,
F9: Into<Option<i32>>,
F10: Into<Option<LogicalType>>,
[src]
type_: F1,
type_length: F2,
repetition_type: F3,
name: String,
num_children: F5,
converted_type: F6,
scale: F7,
precision: F8,
field_id: F9,
logical_type: F10
) -> SchemaElement where
F1: Into<Option<Type>>,
F2: Into<Option<i32>>,
F3: Into<Option<FieldRepetitionType>>,
F5: Into<Option<i32>>,
F6: Into<Option<ConvertedType>>,
F7: Into<Option<i32>>,
F8: Into<Option<i32>>,
F9: Into<Option<i32>>,
F10: Into<Option<LogicalType>>,
pub fn read_from_in_protocol(
i_prot: &mut dyn TInputProtocol
) -> Result<SchemaElement>
[src]
i_prot: &mut dyn TInputProtocol
) -> Result<SchemaElement>
pub fn write_to_out_protocol(
&self,
o_prot: &mut dyn TOutputProtocol
) -> Result<()>
[src]
&self,
o_prot: &mut dyn TOutputProtocol
) -> Result<()>
Trait Implementations
impl Clone for SchemaElement
[src]
pub fn clone(&self) -> SchemaElement
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for SchemaElement
[src]
impl Eq for SchemaElement
[src]
impl Hash for SchemaElement
[src]
pub fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Ord for SchemaElement
[src]
pub fn cmp(&self, other: &SchemaElement) -> Ordering
[src]
#[must_use]pub fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]
impl PartialEq<SchemaElement> for SchemaElement
[src]
pub fn eq(&self, other: &SchemaElement) -> bool
[src]
pub fn ne(&self, other: &SchemaElement) -> bool
[src]
impl PartialOrd<SchemaElement> for SchemaElement
[src]
pub fn partial_cmp(&self, other: &SchemaElement) -> Option<Ordering>
[src]
pub fn lt(&self, other: &SchemaElement) -> bool
[src]
pub fn le(&self, other: &SchemaElement) -> bool
[src]
pub fn gt(&self, other: &SchemaElement) -> bool
[src]
pub fn ge(&self, other: &SchemaElement) -> bool
[src]
impl StructuralEq for SchemaElement
[src]
impl StructuralPartialEq for SchemaElement
[src]
Auto Trait Implementations
impl RefUnwindSafe for SchemaElement
[src]
impl Send for SchemaElement
[src]
impl Sync for SchemaElement
[src]
impl Unpin for SchemaElement
[src]
impl UnwindSafe for SchemaElement
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,