Struct Writer
pub struct Writer<W, F>where
W: Write,
F: JsonFormat,{
writer: W,
started: bool,
finished: bool,
format: F,
options: EncoderOptions,
}Expand description
A JSON writer which serializes RecordBatches to a stream of
u8 encoded JSON objects.
See the module level documentation for detailed usage and examples.
The specific format of the stream is controlled by the JsonFormat
type parameter.
By default the writer will skip writing keys with null values for
backward compatibility. See WriterBuilder on how to customize
this behaviour when creating a new writer.
Fields§
§writer: W§started: bool§finished: bool§format: F§options: EncoderOptionsImplementations§
§impl<W, F> Writer<W, F>where
W: Write,
F: JsonFormat,
impl<W, F> Writer<W, F>where
W: Write,
F: JsonFormat,
pub fn write(&mut self, batch: &RecordBatch) -> Result<(), ArrowError>
pub fn write(&mut self, batch: &RecordBatch) -> Result<(), ArrowError>
Serialize batch to JSON output
pub fn write_batches(
&mut self,
batches: &[&RecordBatch],
) -> Result<(), ArrowError>
pub fn write_batches( &mut self, batches: &[&RecordBatch], ) -> Result<(), ArrowError>
Serialize batches to JSON output
pub fn finish(&mut self) -> Result<(), ArrowError>
pub fn finish(&mut self) -> Result<(), ArrowError>
Finishes the output stream. This function must be called after
all record batches have been produced. (e.g. producing the final ']' if writing
arrays.
pub fn get_mut(&mut self) -> &mut W
pub fn get_mut(&mut self) -> &mut W
Gets a mutable reference to the underlying writer.
Writing to the underlying writer must be done with care to avoid corrupting the output JSON.
pub fn into_inner(self) -> W
pub fn into_inner(self) -> W
Unwraps this Writer<W>, returning the underlying writer
Trait Implementations§
§impl<W, F> RecordBatchWriter for Writer<W, F>where
W: Write,
F: JsonFormat,
impl<W, F> RecordBatchWriter for Writer<W, F>where
W: Write,
F: JsonFormat,
§fn write(&mut self, batch: &RecordBatch) -> Result<(), ArrowError>
fn write(&mut self, batch: &RecordBatch) -> Result<(), ArrowError>
§fn close(self) -> Result<(), ArrowError>
fn close(self) -> Result<(), ArrowError>
Auto Trait Implementations§
impl<W, F> Freeze for Writer<W, F>
impl<W, F> !RefUnwindSafe for Writer<W, F>
impl<W, F> Send for Writer<W, F>
impl<W, F> Sync for Writer<W, F>
impl<W, F> Unpin for Writer<W, F>
impl<W, F> !UnwindSafe for Writer<W, F>
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
§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 more