|
iceberg-cpp
|
Read manifest entries from a manifest file. More...
#include <manifest_reader_internal.h>
Public Member Functions | |
| ManifestReaderImpl (std::string manifest_path, 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) | |
| Construct a ManifestReaderImpl for lazy initialization. | |
| Result< std::vector< ManifestEntry > > | Entries () override |
| Read all manifest entries in the manifest file. | |
| Result< std::vector< ManifestEntry > > | LiveEntries () override |
| Read only live (non-deleted) manifest entries. | |
| ManifestReader & | Select (const std::vector< std::string > &columns) override |
| Select specific columns of data file to read from the manifest entries. | |
| ManifestReader & | FilterPartitions (std::shared_ptr< Expression > expr) override |
| Filter manifest entries by partition filter. | |
| ManifestReader & | FilterPartitions (std::shared_ptr< PartitionSet > partition_set) override |
| Filter manifest entries to a specific set of partitions. | |
| ManifestReader & | FilterRows (std::shared_ptr< Expression > expr) override |
| Filter manifest entries by row-level filter. | |
| ManifestReader & | CaseSensitive (bool case_sensitive) override |
| Set case sensitivity for column name matching. | |
| ManifestReader & | TryDropStats () override |
| Try to drop stats from returned DataFile objects. | |
Additional Inherited Members | |
Static Public Member Functions inherited from iceberg::ManifestReader | |
| 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.
This implementation supports lazy reader creation and filtering based on partition expressions, row expressions, and partition sets. Following the Java implementation pattern.
| iceberg::ManifestReaderImpl::ManifestReaderImpl | ( | std::string | manifest_path, |
| 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 | ||
| ) |
Construct a ManifestReaderImpl for lazy initialization.
| manifest_path | Path to the manifest file. |
| manifest_length | Length of the manifest file (optional). |
| file_io | File IO implementation. |
| schema | Table schema. |
| spec | Partition spec. |
| inheritable_metadata | Metadata inherited from manifest. |
| first_row_id | First row ID for V3 manifests. |
|
overridevirtual |
Set case sensitivity for column name matching.
Implements iceberg::ManifestReader.
|
overridevirtual |
Read all manifest entries in the manifest file.
TODO(gangwu): provide a lazy-evaluated iterator interface for better performance.
Implements iceberg::ManifestReader.
|
overridevirtual |
Filter manifest entries by partition filter.
Implements iceberg::ManifestReader.
|
overridevirtual |
Filter manifest entries to a specific set of partitions.
Implements iceberg::ManifestReader.
|
overridevirtual |
Filter manifest entries by row-level filter.
Implements iceberg::ManifestReader.
|
overridevirtual |
Read only live (non-deleted) manifest entries.
Implements iceberg::ManifestReader.
|
overridevirtual |
Select specific columns of data file to read from the manifest entries.
DataFile schema. Unmatched names will be ignored. Implements iceberg::ManifestReader.
|
overridevirtual |
Try to drop stats from returned DataFile objects.
Implements iceberg::ManifestReader.