Struct parquet_format_safe::SchemaElement
source · [−]pub struct SchemaElement {
pub type_: Option<Type>,
pub type_length: Option<i32>,
pub repetition_type: Option<FieldRepetitionType>,
pub name: String,
pub num_children: Option<i32>,
pub converted_type: Option<ConvertedType>,
pub scale: Option<i32>,
pub precision: Option<i32>,
pub field_id: Option<i32>,
pub logical_type: Option<LogicalType>,
}
Expand description
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>
DEPRECATED: When the schema is the result of a conversion from another model. Used to record the original type to help with cross conversion.
This is superseded by logicalType.
scale: Option<i32>
DEPRECATED: Used when this column contains decimal data. See the DECIMAL converted type for more details.
This is superseded by using the DecimalType annotation in logicalType.
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
sourceimpl SchemaElement
impl SchemaElement
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>>,
pub fn read_from_in_protocol<T: TInputProtocol>(
i_prot: &mut T
) -> Result<SchemaElement>
pub fn write_to_out_protocol<T: TOutputProtocol>(
&self,
o_prot: &mut T
) -> Result<usize>
Trait Implementations
sourceimpl Clone for SchemaElement
impl Clone for SchemaElement
sourcefn clone(&self) -> SchemaElement
fn clone(&self) -> SchemaElement
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for SchemaElement
impl Debug for SchemaElement
sourceimpl Hash for SchemaElement
impl Hash for SchemaElement
sourceimpl Ord for SchemaElement
impl Ord for SchemaElement
sourcefn cmp(&self, other: &SchemaElement) -> Ordering
fn cmp(&self, other: &SchemaElement) -> Ordering
1.21.0 · sourcefn max(self, other: Self) -> Self
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
1.21.0 · sourcefn min(self, other: Self) -> Self
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Self where
Self: PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Self where
Self: PartialOrd<Self>,
Restrict a value to a certain interval. Read more
sourceimpl PartialEq<SchemaElement> for SchemaElement
impl PartialEq<SchemaElement> for SchemaElement
sourcefn eq(&self, other: &SchemaElement) -> bool
fn eq(&self, other: &SchemaElement) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &SchemaElement) -> bool
fn ne(&self, other: &SchemaElement) -> bool
This method tests for !=
.
sourceimpl PartialOrd<SchemaElement> for SchemaElement
impl PartialOrd<SchemaElement> for SchemaElement
sourcefn partial_cmp(&self, other: &SchemaElement) -> Option<Ordering>
fn partial_cmp(&self, other: &SchemaElement) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
sourceimpl ReadThrift for SchemaElement
impl ReadThrift for SchemaElement
fn read_from_in_protocol<T: TInputProtocol>(
i_prot: &mut T
) -> Result<SchemaElement>
impl Eq for SchemaElement
impl StructuralEq for SchemaElement
impl StructuralPartialEq for SchemaElement
Auto Trait Implementations
impl RefUnwindSafe for SchemaElement
impl Send for SchemaElement
impl Sync for SchemaElement
impl Unpin for SchemaElement
impl UnwindSafe for SchemaElement
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