pub struct ContainerDecoder { /* private fields */ }Expand description
Decodes a sequence of Avro or ORC files against one shape.
Implementations§
Source§impl ContainerDecoder
impl ContainerDecoder
Sourcepub fn new(
format: FileFormat,
opts: &FormatOptions,
) -> Result<Self, FaucetError>
pub fn new( format: FileFormat, opts: &FormatOptions, ) -> Result<Self, FaucetError>
A decoder for format, which must be FileFormat::Avro or
FileFormat::Orc in a build with the matching feature.
Sourcepub fn format(&self) -> FileFormat
pub fn format(&self) -> FileFormat
The format this decoder reads.
Sourcepub fn decode_all(
&mut self,
name: &str,
input: FileInput,
) -> Result<Vec<Value>, FaucetError>
pub fn decode_all( &mut self, name: &str, input: FileInput, ) -> Result<Vec<Value>, FaucetError>
Decode one whole file into its records.
Sourcepub fn decode_batches(
&mut self,
name: &str,
input: FileInput,
batch_size: usize,
) -> Result<(SchemaRef, Vec<RecordBatch>), FaucetError>
Available on crate feature arrow only.
pub fn decode_batches( &mut self, name: &str, input: FileInput, batch_size: usize, ) -> Result<(SchemaRef, Vec<RecordBatch>), FaucetError>
arrow only.Decode one whole file into Arrow batches of at most batch_size rows.
Sourcepub fn records(
&mut self,
name: &str,
input: FileInput,
chunk: usize,
f: &mut dyn FnMut(Vec<Value>) -> Result<(), FaucetError>,
) -> Result<(), FaucetError>
pub fn records( &mut self, name: &str, input: FileInput, chunk: usize, f: &mut dyn FnMut(Vec<Value>) -> Result<(), FaucetError>, ) -> Result<(), FaucetError>
Decode one file’s records in chunks of chunk (0 = the whole file
as one chunk), calling f per chunk.
Sourcepub fn batches(
&mut self,
name: &str,
input: FileInput,
batch_size: usize,
f: &mut dyn FnMut(RecordBatch) -> Result<(), FaucetError>,
) -> Result<SchemaRef, FaucetError>
Available on crate feature arrow only.
pub fn batches( &mut self, name: &str, input: FileInput, batch_size: usize, f: &mut dyn FnMut(RecordBatch) -> Result<(), FaucetError>, ) -> Result<SchemaRef, FaucetError>
arrow only.Decode one file as Arrow batches of at most batch_size rows (0 =
the reader’s natural size), calling f per batch. Returns the file’s
Arrow schema, identical for every file this decoder accepts.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ContainerDecoder
impl RefUnwindSafe for ContainerDecoder
impl Send for ContainerDecoder
impl Sync for ContainerDecoder
impl Unpin for ContainerDecoder
impl UnsafeUnpin for ContainerDecoder
impl UnwindSafe for ContainerDecoder
Blanket Implementations§
impl<T> Allocation for T
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
Mutably borrows from an owned value. Read more
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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> ⓘ
Converts
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> ⓘ
Converts
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>
Wrap the input message
T in a tonic::Request