iceberg-cpp
Loading...
Searching...
No Matches
Public Member Functions | List of all members
iceberg::Reader Class Referenceabstract

Base reader class to read data from different file formats. More...

#include <file_reader.h>

Inheritance diagram for iceberg::Reader:
iceberg::avro::AvroReader iceberg::parquet::ParquetReader

Public Member Functions

 Reader (const Reader &)=delete
 
Reader & operator= (const Reader &)=delete
 
virtual Status Open (const ReaderOptions &options)=0
 Open the reader.
 
virtual Status Close ()=0
 Close the reader.
 
virtual Result< std::optional< ArrowArray > > Next ()=0
 Read next data from file.
 
virtual Result< ArrowSchema > Schema ()=0
 Get the schema of the data. Every batch must match this schema and the configured Arrow list width. Readers must reject unsupported list widths before emitting any batches.
 
virtual Result< std::unordered_map< std::string, std::string > > Metadata ()=0
 Get the metadata of the file.
 

Detailed Description

Base reader class to read data from different file formats.

Member Function Documentation

◆ Close()

virtual Status iceberg::Reader::Close ( )
pure virtual

Close the reader.

Implemented in iceberg::avro::AvroReader, and iceberg::parquet::ParquetReader.

◆ Metadata()

virtual Result< std::unordered_map< std::string, std::string > > iceberg::Reader::Metadata ( )
pure virtual

Get the metadata of the file.

Implemented in iceberg::avro::AvroReader, and iceberg::parquet::ParquetReader.

◆ Next()

virtual Result< std::optional< ArrowArray > > iceberg::Reader::Next ( )
pure virtual

Read next data from file.

Returns
std::nullopt if the reader has no more data, otherwise ArrowArray.

Implemented in iceberg::avro::AvroReader, and iceberg::parquet::ParquetReader.

◆ Open()

virtual Status iceberg::Reader::Open ( const ReaderOptions &  options)
pure virtual

Open the reader.

Implemented in iceberg::avro::AvroReader, and iceberg::parquet::ParquetReader.

◆ Schema()

virtual Result< ArrowSchema > iceberg::Reader::Schema ( )
pure virtual

Get the schema of the data. Every batch must match this schema and the configured Arrow list width. Readers must reject unsupported list widths before emitting any batches.

Implemented in iceberg::avro::AvroReader, and iceberg::parquet::ParquetReader.


The documentation for this class was generated from the following file: