[][src]Struct parquet_format::SchemaElement

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>,
}

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]

pub fn read_from_in_protocol(
    i_prot: &mut dyn TInputProtocol
) -> Result<SchemaElement>
[src]

pub fn write_to_out_protocol(
    &self,
    o_prot: &mut dyn TOutputProtocol
) -> Result<()>
[src]

Trait Implementations

impl Clone for SchemaElement[src]

impl Debug for SchemaElement[src]

impl Eq for SchemaElement[src]

impl Hash for SchemaElement[src]

impl Ord for SchemaElement[src]

impl PartialEq<SchemaElement> for SchemaElement[src]

impl PartialOrd<SchemaElement> for SchemaElement[src]

impl StructuralEq for SchemaElement[src]

impl StructuralPartialEq for SchemaElement[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.