Trait parquet::file::writer::FileWriter [−][src]
pub trait FileWriter { fn next_row_group(&mut self) -> Result<Box<dyn RowGroupWriter>>; fn close_row_group(
&mut self,
row_group_writer: Box<dyn RowGroupWriter>
) -> Result<()>; fn close(&mut self) -> Result<FileMetaData>; }
Expand description
Parquet file writer API. Provides methods to write row groups sequentially.
The main workflow should be as following:
- Create file writer, this will open a new file and potentially write some metadata.
- Request a new row group writer by calling
next_row_group
. - Once finished writing row group, close row group writer by passing it into
close_row_group
method - this will finalise row group metadata and update metrics. - Write subsequent row groups, if necessary.
- After all row groups have been written, close the file writer using
close
method.
Required methods
fn next_row_group(&mut self) -> Result<Box<dyn RowGroupWriter>>
[src]
fn next_row_group(&mut self) -> Result<Box<dyn RowGroupWriter>>
[src]Creates new row group from this file writer.
In case of IO error or Thrift error, returns Err
.
There is no limit on a number of row groups in a file; however, row groups have
to be written sequentially. Every time the next row group is requested, the
previous row group must be finalised and closed using close_row_group
method.
fn close_row_group(
&mut self,
row_group_writer: Box<dyn RowGroupWriter>
) -> Result<()>
[src]
fn close_row_group(
&mut self,
row_group_writer: Box<dyn RowGroupWriter>
) -> Result<()>
[src]Finalises and closes row group that was created using next_row_group
method.
After calling this method, the next row group is available for writes.
fn close(&mut self) -> Result<FileMetaData>
[src]
fn close(&mut self) -> Result<FileMetaData>
[src]Closes and finalises file writer, returning the file metadata.
All row groups must be appended before this method is called. No writes are allowed after this point.
Can be called multiple times. It is up to implementation to either result in
no-op, or return an Err
for subsequent calls.
Implementors
impl<W: 'static + ParquetWriter> FileWriter for SerializedFileWriter<W>
[src]
impl<W: 'static + ParquetWriter> FileWriter for SerializedFileWriter<W>
[src]fn next_row_group(&mut self) -> Result<Box<dyn RowGroupWriter>>
[src]
fn close_row_group(
&mut self,
row_group_writer: Box<dyn RowGroupWriter>
) -> Result<()>
[src]
&mut self,
row_group_writer: Box<dyn RowGroupWriter>
) -> Result<()>