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 [RecordBatch
]es 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
Underlying writer to use to write bytes
started: bool
Has the writer output any records yet?
finished: bool
Is the writer finished?
format: F
Determines how the byte stream is formatted
options: EncoderOptions
Controls how JSON should be encoded, e.g. whether to write explicit nulls or skip them
Implementations§
Source§impl<W, F> Writer<W, F>where
W: Write,
F: JsonFormat,
impl<W, F> Writer<W, F>where
W: Write,
F: JsonFormat,
Sourcepub fn write(&mut self, batch: &RecordBatch) -> Result<(), ArrowError>
pub fn write(&mut self, batch: &RecordBatch) -> Result<(), ArrowError>
Serialize batch
to JSON output
Sourcepub fn write_batches(
&mut self,
batches: &[&RecordBatch],
) -> Result<(), ArrowError>
pub fn write_batches( &mut self, batches: &[&RecordBatch], ) -> Result<(), ArrowError>
Serialize batches
to JSON output
Sourcepub 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.
Sourcepub fn into_inner(self) -> W
pub fn into_inner(self) -> W
Unwraps this Writer<W>
, returning the underlying writer