[−][src]Struct arrow::datatypes::Schema
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
[src]
pub fn empty() -> Self
[src]
Creates an empty Schema
pub fn new(fields: Vec<Field>) -> Self
[src]
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 fn new_with_metadata(
fields: Vec<Field>,
metadata: HashMap<String, String>
) -> Self
[src]
fields: Vec<Field>,
metadata: HashMap<String, String>
) -> Self
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: &[Self]) -> Result<Self>
[src]
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), ]), );
pub fn fields(&self) -> &Vec<Field>
[src]
Returns an immutable reference of the vector of Field
instances
pub fn field(&self, i: usize) -> &Field
[src]
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>
[src]
Returns an immutable reference of a specific Field
instance selected by name
pub fn index_of(&self, name: &str) -> Result<usize>
[src]
Find the index of the column with the given name
pub fn metadata(&self) -> &HashMap<String, String>
[src]
Returns an immutable reference to the Map of custom metadata key-value pairs.
pub fn column_with_name(&self, name: &str) -> Option<(usize, &Field)>
[src]
Look up a column by name and return a immutable reference to the column along with it's index
pub fn to_json(&self) -> Value
[src]
Generate a JSON representation of the Schema
pub fn from(json: &Value) -> Result<Self>
[src]
Parse a Schema
definition from a JSON representation
Trait Implementations
impl Clone for Schema
[src]
impl Debug for Schema
[src]
impl<'de> Deserialize<'de> for Schema
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl Display for Schema
[src]
impl Eq for Schema
[src]
impl PartialEq<Schema> for Schema
[src]
impl Serialize for Schema
[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl StructuralEq for Schema
[src]
impl StructuralPartialEq for Schema
[src]
Auto Trait Implementations
impl RefUnwindSafe for Schema
impl Send for Schema
impl Sync for Schema
impl Unpin for Schema
impl UnwindSafe for Schema
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
fn equivalent(&self, key: &K) -> bool
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,