Task representing a data file and its corresponding delete files.
More...
#include <table_scan.h>
|
| | FileScanTask (std::shared_ptr< DataFile > data_file, std::vector< std::shared_ptr< DataFile > > delete_files={}, std::shared_ptr< Expression > filter=nullptr) |
| | Construct with data file, delete files, and residual filter.
|
| |
|
int64_t | start () const |
| | The inclusive byte offset where this task starts, or zero for a whole file.
|
| |
|
int64_t | length () const |
| | The byte length of this task, or the size of a whole file.
|
| |
|
bool | is_split () const |
| | Whether this task reads a proper subset of its data file.
|
| |
|
const std::shared_ptr< DataFile > & | data_file () const |
| | The data file that should be read by this scan task.
|
| |
|
const std::vector< std::shared_ptr< DataFile > > & | delete_files () const |
| | Delete files that apply to this data file.
|
| |
|
const std::shared_ptr< Expression > & | residual_filter () const |
| | Residual filter to apply after reading.
|
| |
| Kind | kind () const override |
| | The kind of scan task.
|
| |
| int64_t | size_bytes () const override |
| | The number of bytes that should be read by this scan task.
|
| |
| int32_t | files_count () const override |
| | The number of files that should be read by this scan task.
|
| |
| int64_t | estimated_row_count () const override |
| | The estimated number of rows in this task, prorated by byte range. For valid, non-overlapping splits covering a file with unchanged metadata, the estimates sum to the file's record_count.
|
| |
|
| enum class | Kind : uint8_t { kFileScanTask
, kChangelogScanTask
} |
| |
Task representing a data file and its corresponding delete files.
◆ FileScanTask()
| iceberg::FileScanTask::FileScanTask |
( |
std::shared_ptr< DataFile > |
data_file, |
|
|
std::vector< std::shared_ptr< DataFile > > |
delete_files = {}, |
|
|
std::shared_ptr< Expression > |
filter = nullptr |
|
) |
| |
|
explicit |
Construct with data file, delete files, and residual filter.
- Parameters
-
| data_file | The data file to read. |
| delete_files | Delete files that apply to this data file. |
| filter | Optional residual filter to apply after reading. |
- Note
- The shared data file, delete files, and residual filter must remain unchanged for this task's lifetime. Metadata changes require rebuilding tasks.
◆ estimated_row_count()
| int64_t iceberg::FileScanTask::estimated_row_count |
( |
| ) |
const |
|
overridevirtual |
The estimated number of rows in this task, prorated by byte range. For valid, non-overlapping splits covering a file with unchanged metadata, the estimates sum to the file's record_count.
Implements iceberg::ScanTask.
◆ files_count()
| int32_t iceberg::FileScanTask::files_count |
( |
| ) |
const |
|
overridevirtual |
The number of files that should be read by this scan task.
Implements iceberg::ScanTask.
◆ kind()
| Kind iceberg::FileScanTask::kind |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ MakeSplit()
| static Result< std::shared_ptr< FileScanTask > > iceberg::FileScanTask::MakeSplit |
( |
std::shared_ptr< DataFile > |
data_file, |
|
|
int64_t |
start, |
|
|
int64_t |
length, |
|
|
std::vector< std::shared_ptr< DataFile > > |
delete_files = {}, |
|
|
std::shared_ptr< Expression > |
filter = nullptr |
|
) |
| |
|
static |
Make a task for a validated half-open byte range [start, start + length).
A range covering the entire file is represented as a whole-file task. An empty range is valid only for an empty whole file. The data file, delete files, and residual filter are shared with the resulting task and must remain unchanged for its lifetime. Metadata changes require rebuilding tasks.
◆ size_bytes()
| int64_t iceberg::FileScanTask::size_bytes |
( |
| ) |
const |
|
overridevirtual |
The number of bytes that should be read by this scan task.
Implements iceberg::ScanTask.
The documentation for this class was generated from the following file: