Struct RecordBatch
pub struct RecordBatch<'a> {
pub _tab: Table<'a>,
}
Expand description
A data header describing the shared memory layout of a “record” or “row” batch. Some systems call this a “row batch” internally and others a “record batch”.
Fields§
§_tab: Table<'a>
Implementations§
§impl<'a> RecordBatch<'a>
impl<'a> RecordBatch<'a>
pub const VT_LENGTH: u16 = 4u16
pub const VT_NODES: u16 = 6u16
pub const VT_BUFFERS: u16 = 8u16
pub const VT_COMPRESSION: u16 = 10u16
pub const VT_VARIADICBUFFERCOUNTS: u16 = 12u16
pub unsafe fn init_from_table(table: Table<'a>) -> RecordBatch<'a>
pub fn create<'bldr, 'args, 'mut_bldr, A>(
_fbb: &'mut_bldr mut FlatBufferBuilder<'bldr, A>,
args: &'args RecordBatchArgs<'args>,
) -> WIPOffset<RecordBatch<'bldr>>where
'bldr: 'args,
'args: 'mut_bldr,
A: Allocator + 'bldr,
pub fn length(&self) -> i64
pub fn length(&self) -> i64
number of records / rows. The arrays in the batch should all have this length
pub fn nodes(&self) -> Option<Vector<'a, FieldNode>>
pub fn nodes(&self) -> Option<Vector<'a, FieldNode>>
Nodes correspond to the pre-ordered flattened logical schema
pub fn buffers(&self) -> Option<Vector<'a, Buffer>>
pub fn buffers(&self) -> Option<Vector<'a, Buffer>>
Buffers correspond to the pre-ordered flattened buffer tree
The number of buffers appended to this list depends on the schema. For example, most primitive arrays will have 2 buffers, 1 for the validity bitmap and 1 for the values. For struct arrays, there will only be a single buffer for the validity (nulls) bitmap
pub fn compression(&self) -> Option<BodyCompression<'a>>
pub fn compression(&self) -> Option<BodyCompression<'a>>
Optional compression of the message body
pub fn variadicBufferCounts(&self) -> Option<Vector<'a, i64>>
pub fn variadicBufferCounts(&self) -> Option<Vector<'a, i64>>
Some types such as Utf8View are represented using a variable number of buffers. For each such Field in the pre-ordered flattened logical schema, there will be an entry in variadicBufferCounts to indicate the number of number of variadic buffers which belong to that Field in the current RecordBatch.
For example, the schema
col1: Struct<alpha: Int32, beta: BinaryView, gamma: Float64>
col2: Utf8View
contains two Fields with variadic buffers so variadicBufferCounts will have
two entries, the first counting the variadic buffers of col1.beta
and the
second counting col2
’s.
This field may be omitted if and only if the schema contains no Fields with a variable number of buffers, such as BinaryView and Utf8View.
Trait Implementations§
§impl<'a> Clone for RecordBatch<'a>
impl<'a> Clone for RecordBatch<'a>
§fn clone(&self) -> RecordBatch<'a>
fn clone(&self) -> RecordBatch<'a>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for RecordBatch<'_>
impl Debug for RecordBatch<'_>
§impl<'a> Follow<'a> for RecordBatch<'a>
impl<'a> Follow<'a> for RecordBatch<'a>
type Inner = RecordBatch<'a>
§impl<'a> PartialEq for RecordBatch<'a>
impl<'a> PartialEq for RecordBatch<'a>
§impl Verifiable for RecordBatch<'_>
impl Verifiable for RecordBatch<'_>
§fn run_verifier(
v: &mut Verifier<'_, '_>,
pos: usize,
) -> Result<(), InvalidFlatbuffer>
fn run_verifier( v: &mut Verifier<'_, '_>, pos: usize, ) -> Result<(), InvalidFlatbuffer>
pos
in the verifier’s buffer.
Should not need to be called directly.impl<'a> Copy for RecordBatch<'a>
impl<'a> StructuralPartialEq for RecordBatch<'a>
Auto Trait Implementations§
impl<'a> Freeze for RecordBatch<'a>
impl<'a> RefUnwindSafe for RecordBatch<'a>
impl<'a> Send for RecordBatch<'a>
impl<'a> Sync for RecordBatch<'a>
impl<'a> Unpin for RecordBatch<'a>
impl<'a> UnwindSafe for RecordBatch<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request