Read manifest entries from a manifest file.
More...
#include <manifest_reader.h>
|
| static bool | ShouldDropStats (const std::vector< std::string > &columns) |
| | Determine whether stats should be dropped based on selected columns.
|
| |
| static Result< std::unique_ptr< ManifestReader > > | Make (const ManifestFile &manifest, std::shared_ptr< FileIO > file_io, std::shared_ptr< Schema > schema, std::shared_ptr< PartitionSpec > spec) |
| | Creates a reader for a manifest file.
|
| |
| static Result< std::unique_ptr< ManifestReader > > | Make (std::string_view manifest_location, std::optional< int64_t > manifest_length, std::shared_ptr< FileIO > file_io, std::shared_ptr< Schema > schema, std::shared_ptr< PartitionSpec > spec, std::unique_ptr< InheritableMetadata > inheritable_metadata, std::optional< int64_t > first_row_id=std::nullopt) |
| | Creates a reader for a manifest file.
|
| |
|
static std::vector< std::string > | WithStatsColumns (const std::vector< std::string > &columns) |
| | Add stats columns to the column list if needed.
|
| |
Read manifest entries from a manifest file.
◆ CaseSensitive()
| virtual ManifestReader & iceberg::ManifestReader::CaseSensitive |
( |
bool |
case_sensitive | ) |
|
|
pure virtual |
◆ Entries()
| virtual Result< std::vector< ManifestEntry > > iceberg::ManifestReader::Entries |
( |
| ) |
|
|
pure virtual |
Read all manifest entries in the manifest file.
TODO(gangwu): provide a lazy-evaluated iterator interface for better performance.
Implemented in iceberg::ManifestReaderImpl.
◆ FilterPartitions() [1/2]
◆ FilterPartitions() [2/2]
Filter manifest entries by partition filter.
- Note
- Unlike the Java implementation, this method does not combine new expressions with existing ones. Each call replaces the previous partition filter.
Implemented in iceberg::ManifestReaderImpl.
◆ FilterRows()
Filter manifest entries by row-level filter.
- Note
- Unlike the Java implementation, this method does not combine new expressions with existing ones. Each call replaces the previous row filter.
Implemented in iceberg::ManifestReaderImpl.
◆ LiveEntries()
| virtual Result< std::vector< ManifestEntry > > iceberg::ManifestReader::LiveEntries |
( |
| ) |
|
|
pure virtual |
◆ Make() [1/2]
Creates a reader for a manifest file.
- Parameters
-
| manifest | A ManifestFile object containing metadata about the manifest. |
| file_io | File IO implementation to use. |
| schema | Schema used to bind the partition type. |
| spec | Partition spec used for this manifest file. |
- Returns
- A Result containing the reader or an error.
◆ Make() [2/2]
| Result< std::unique_ptr< ManifestReader > > iceberg::ManifestReader::Make |
( |
std::string_view |
manifest_location, |
|
|
std::optional< int64_t > |
manifest_length, |
|
|
std::shared_ptr< FileIO > |
file_io, |
|
|
std::shared_ptr< Schema > |
schema, |
|
|
std::shared_ptr< PartitionSpec > |
spec, |
|
|
std::unique_ptr< InheritableMetadata > |
inheritable_metadata, |
|
|
std::optional< int64_t > |
first_row_id = std::nullopt |
|
) |
| |
|
static |
Creates a reader for a manifest file.
- Parameters
-
| manifest_location | Path to the manifest file. |
| manifest_length | Length of the manifest file. |
| file_io | File IO implementation to use. |
| schema | Schema used to bind the partition type. |
| spec | Partition spec used for this manifest file. |
| inheritable_metadata | Inheritable metadata. |
| first_row_id | First row ID to use for the manifest entries. |
- Returns
- A Result containing the reader or an error.
◆ Select()
| virtual ManifestReader & iceberg::ManifestReader::Select |
( |
const std::vector< std::string > & |
columns | ) |
|
|
pure virtual |
Select specific columns of data file to read from the manifest entries.
- Note
- Column names should match the names in
DataFile schema. Unmatched names will be ignored.
Implemented in iceberg::ManifestReaderImpl.
◆ ShouldDropStats()
| bool iceberg::ManifestReader::ShouldDropStats |
( |
const std::vector< std::string > & |
columns | ) |
|
|
static |
Determine whether stats should be dropped based on selected columns.
Returns true if the selected columns do not include any stats columns, or only include record_count (which is a primitive, not a large map).
◆ TryDropStats()
The documentation for this class was generated from the following files: