Struct polars_io::json::RecordBatch [−][src]
pub struct RecordBatch { /* fields omitted */ }
json
only.Expand description
A two-dimensional dataset with a number of
columns (Array
) and rows and defined Schema
.
Implementation
Cloning is O(C)
where C
is the number of columns.
Implementations
Creates a RecordBatch
from a schema and columns.
Errors
This function errors iff
columns
is empty- the schema and column data types do not match
columns
have a different length
Example
let id_array = PrimitiveArray::from_slice([1i32, 2, 3, 4, 5]);
let schema = Arc::new(Schema::new(vec![
Field::new("id", DataType::Int32, false)
]));
let batch = RecordBatch::try_new(
schema,
vec![Arc::new(id_array)]
)?;
pub fn try_new_with_options(
schema: Arc<Schema>,
columns: Vec<Arc<dyn Array + 'static>, Global>,
options: &RecordBatchOptions
) -> Result<RecordBatch, ArrowError>
pub fn try_new_with_options(
schema: Arc<Schema>,
columns: Vec<Arc<dyn Array + 'static>, Global>,
options: &RecordBatchOptions
) -> Result<RecordBatch, ArrowError>
Creates a RecordBatch
from a schema and columns, with additional options,
such as whether to strictly validate field names.
See Self::try_new()
for the expected conditions.
Creates a new empty RecordBatch
.
Returns the number of columns in the record batch.
Example
let id_array = PrimitiveArray::from_slice([1i32, 2, 3, 4, 5]);
let schema = Arc::new(Schema::new(vec![
Field::new("id", DataType::Int32, false)
]));
let batch = RecordBatch::try_new(schema, vec![Arc::new(id_array)])?;
assert_eq!(batch.num_columns(), 1);
Returns the number of rows in each column.
Panics
Panics if the RecordBatch
contains no columns.
Example
let id_array = PrimitiveArray::from_slice([1i32, 2, 3, 4, 5]);
let schema = Arc::new(Schema::new(vec![
Field::new("id", DataType::Int32, false)
]));
let batch = RecordBatch::try_new(schema, vec![Arc::new(id_array)])?;
assert_eq!(batch.num_rows(), 5);
Get a reference to all columns in the record batch.
pub fn try_from_iter<I, F>(value: I) -> Result<RecordBatch, ArrowError> where
I: IntoIterator<Item = (F, Arc<dyn Array + 'static>)>,
F: AsRef<str>,
pub fn try_from_iter<I, F>(value: I) -> Result<RecordBatch, ArrowError> where
I: IntoIterator<Item = (F, Arc<dyn Array + 'static>)>,
F: AsRef<str>,
Create a RecordBatch
from an iterable list of pairs of the
form (field_name, array)
, with the same requirements on
fields and arrays as RecordBatch::try_new
. This method is
often used to create a single RecordBatch
from arrays,
e.g. for testing.
The resulting schema is marked as nullable for each column if
the array for that column is has any nulls. To explicitly
specify nullibility, use RecordBatch::try_from_iter_with_nullable
Example:
use std::sync::Arc;
use arrow2::array::*;
use arrow2::datatypes::DataType;
use arrow2::record_batch::RecordBatch;
let a: Arc<dyn Array> = Arc::new(Int32Array::from_slice(&[1, 2]));
let b: Arc<dyn Array> = Arc::new(Utf8Array::<i32>::from_slice(&["a", "b"]));
let record_batch = RecordBatch::try_from_iter(vec![
("a", a),
("b", b),
]);
pub fn try_from_iter_with_nullable<I, F>(
value: I
) -> Result<RecordBatch, ArrowError> where
I: IntoIterator<Item = (F, Arc<dyn Array + 'static>, bool)>,
F: AsRef<str>,
pub fn try_from_iter_with_nullable<I, F>(
value: I
) -> Result<RecordBatch, ArrowError> where
I: IntoIterator<Item = (F, Arc<dyn Array + 'static>, bool)>,
F: AsRef<str>,
Create a RecordBatch
from an iterable list of tuples of the
form (field_name, array, nullable)
, with the same requirements on
fields and arrays as RecordBatch::try_new
. This method is often
used to create a single RecordBatch
from arrays, e.g. for
testing.
Example:
use std::sync::Arc;
use arrow2::array::*;
use arrow2::datatypes::DataType;
use arrow2::record_batch::RecordBatch;
let a: Arc<dyn Array> = Arc::new(Int32Array::from_slice(&[1, 2]));
let b: Arc<dyn Array> = Arc::new(Utf8Array::<i32>::from_slice(&["a", "b"]));
// Note neither `a` nor `b` has any actual nulls, but we mark
// b an nullable
let record_batch = RecordBatch::try_from_iter_with_nullable(vec![
("a", a, false),
("b", b, true),
]);
Trait Implementations
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl !RefUnwindSafe for RecordBatch
impl Send for RecordBatch
impl Sync for RecordBatch
impl Unpin for RecordBatch
impl !UnwindSafe for RecordBatch
Blanket Implementations
Mutably borrows from an owned value. Read more