Struct polars::datatypes::ArrowSchema [−]
pub struct ArrowSchema { /* 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
impl Schema
impl 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]);
pub const fn new_with_metadata(
fields: Vec<Field, Global>,
metadata: HashMap<String, String, RandomState>
) -> Schema
pub const fn new_with_metadata(
fields: Vec<Field, Global>,
metadata: HashMap<String, String, RandomState>
) -> Schema
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);
pub fn try_merge(
schemas: impl IntoIterator<Item = Schema>
) -> Result<Schema, ArrowError>
pub fn try_merge(
schemas: impl IntoIterator<Item = Schema>
) -> Result<Schema, ArrowError>
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.
pub fn field_with_name(&self, name: &str) -> Result<&Field, ArrowError>
pub fn field_with_name(&self, name: &str) -> Result<&Field, ArrowError>
Returns an immutable reference of a specific Field
instance selected by name.
pub fn fields_with_dict_id(&self, dict_id: i64) -> Vec<&Field, Global>
pub fn fields_with_dict_id(&self, dict_id: i64) -> Vec<&Field, Global>
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.
pub const fn metadata(&self) -> &HashMap<String, String, RandomState>
pub const fn metadata(&self) -> &HashMap<String, String, RandomState>
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 comparision rules:
self
andother
should contain the same number of fields- for every field
f
inother
, the field inself
with 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
impl<'de> Deserialize<'de> for Schema
impl<'de> Deserialize<'de> for Schema
pub fn deserialize<__D>(
__deserializer: __D
) -> Result<Schema, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
pub fn deserialize<__D>(
__deserializer: __D
) -> Result<Schema, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralEq for Schema
impl StructuralPartialEq for Schema
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.
pub fn vzip(self) -> V