Struct arrow::datatypes::Schema[][src]

pub struct Schema { /* fields omitted */ }
Expand description

Describes the meta-data of an ordered sequence of relative types.

Note that this information is only part of the meta-data and not part of the physical memory layout.

Implementations

Creates an empty Schema

Creates a new Schema from a sequence of Field values.

Example
let field_a = Field::new("a", DataType::Int64, false);
let field_b = Field::new("b", DataType::Boolean, false);

let schema = Schema::new(vec![field_a, field_b]);

Creates a new Schema from a sequence of Field values and adds additional metadata in form of key value pairs.

Example
let field_a = Field::new("a", DataType::Int64, false);
let field_b = Field::new("b", DataType::Boolean, false);

let mut metadata: HashMap<String, String> = HashMap::new();
metadata.insert("row_count".to_string(), "100".to_string());

let schema = Schema::new_with_metadata(vec![field_a, field_b], metadata);

Returns a new schema with only the specified columns in the new schema This carries metadata from the parent schema over as well

Merge schema into self if it is compatible. Struct fields will be merged recursively.

Example:

use arrow::datatypes::*;

let merged = Schema::try_merge(vec![
    Schema::new(vec![
        Field::new("c1", DataType::Int64, false),
        Field::new("c2", DataType::Utf8, false),
    ]),
    Schema::new(vec![
        Field::new("c1", DataType::Int64, true),
        Field::new("c2", DataType::Utf8, false),
        Field::new("c3", DataType::Utf8, false),
    ]),
]).unwrap();

assert_eq!(
    merged,
    Schema::new(vec![
        Field::new("c1", DataType::Int64, true),
        Field::new("c2", DataType::Utf8, false),
        Field::new("c3", DataType::Utf8, false),
    ]),
);

Returns an immutable reference of the vector of Field instances.

Returns an immutable reference of a specific Field instance selected using an offset within the internal fields vector.

Returns an immutable reference of a specific Field instance selected by name.

Returns a vector of immutable references to all Field instances selected by the dictionary ID they use.

Find the index of the column with the given name.

Returns an immutable reference to the Map of custom metadata key-value pairs.

Look up a column by name and return a immutable reference to the column along with its index.

Generate a JSON representation of the Schema.

Parse a Schema definition from a JSON representation.

Check to see if self is a superset of other schema. Here are the comparison rules:

  • self and other should contain the same number of fields
  • for every field f in other, the field in self with corresponding index should be a superset of f.
  • self.metadata is a superset of other.metadata

In other words, any record conforms to other should also conform to self.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Deserialize this value from the given Serde deserializer. Read more

Formats the value using the given formatter. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Serialize this value into the given Serde serializer. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Compare self to key and return true if they are equal.

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.