Trait parquet::file::writer::RowGroupWriter[][src]

pub trait RowGroupWriter {
    fn next_column(&mut self) -> Result<Option<ColumnWriter>>;
fn close_column(&mut self, column_writer: ColumnWriter) -> Result<()>;
fn close(&mut self) -> Result<RowGroupMetaDataPtr>; }
Expand description

Parquet row group writer API. Provides methods to access column writers in an iterator-like fashion, order is guaranteed to match the order of schema leaves (column descriptors).

All columns should be written sequentially; the main workflow is:

  • Request the next column using next_column method - this will return None if no more columns are available to write.
  • Once done writing a column, close column writer with close_column method - this will finalise column chunk metadata and update row group metrics.
  • Once all columns have been written, close row group writer with close method - it will return row group metadata and is no-op on already closed row group.

Required methods

fn next_column(&mut self) -> Result<Option<ColumnWriter>>[src]

Returns the next column writer, if available; otherwise returns None. In case of any IO error or Thrift error, or if row group writer has already been closed returns Err.

To request the next column writer, the previous one must be finalised and closed using close_column.

fn close_column(&mut self, column_writer: ColumnWriter) -> Result<()>[src]

Closes column writer that was created using next_column method. This should be called before requesting the next column writer.

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

Closes this row group writer and returns row group metadata. After calling this method row group writer must not be used.

It is recommended to call this method before requesting another row group, but it will be closed automatically before returning a new row group.

Can be called multiple times. In subsequent calls will result in no-op and return already created row group metadata.

Implementors