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]

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]

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]

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]

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]

fn close(&mut self) -> Result<FileMetaData>[src]