pub struct Schema { /* private fields */ }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 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);Sets the metadata of this Schema to be metadata and returns self
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.
Parse a Schema definition from a JSON representation.
Check to see if self is a superset of other schema. Here are the comparison rules:
selfandothershould contain the same number of fields- for every field
finother, the field inselfwith corresponding index should be a superset off. - self.metadata is a superset of other.metadata
In other words, any record conforms to other should also conform to self.
Trait Implementations
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>,
Deserialize this value from the given Serde deserializer. Read more
type Error = ArrowError
type Error = ArrowError
The type returned in the event of a conversion error.
Performs the conversion.
Auto Trait Implementations
impl RefUnwindSafe for Schema
impl UnwindSafe for Schema
Blanket Implementations
Mutably borrows from an owned value. Read more
Compare self to key and return true if they are equal.