pub struct FileScanTask {
pub start: u64,
pub length: u64,
pub record_count: Option<u64>,
pub data_file_path: String,
pub data_file_format: DataFileFormat,
pub schema: SchemaRef,
pub project_field_ids: Vec<i32>,
pub predicate: Option<BoundPredicate>,
pub deletes: Vec<FileScanTaskDeleteFile>,
pub partition: Option<Struct>,
pub partition_spec: Option<Arc<PartitionSpec>>,
pub name_mapping: Option<Arc<NameMapping>>,
}Expand description
A task to scan part of file.
Fields§
§start: u64The start offset of the file to scan.
length: u64The length of the file to scan.
record_count: Option<u64>The number of records in the file to scan.
This is an optional field, and only available if we are reading the entire data file.
data_file_path: StringThe data file path corresponding to the task.
data_file_format: DataFileFormatThe format of the file to scan.
schema: SchemaRefThe schema of the file to scan.
project_field_ids: Vec<i32>The field ids to project.
predicate: Option<BoundPredicate>The predicate to filter.
deletes: Vec<FileScanTaskDeleteFile>The list of delete files that may need to be applied to this data file
partition: Option<Struct>Partition data from the manifest entry, used to identify which columns can use constant values from partition metadata vs. reading from the data file. Per the Iceberg spec, only identity-transformed partition fields should use constants.
partition_spec: Option<Arc<PartitionSpec>>The partition spec for this file, used to distinguish identity transforms (which use partition metadata constants) from non-identity transforms like bucket/truncate (which must read source columns from the data file).
name_mapping: Option<Arc<NameMapping>>Name mapping from table metadata (property: schema.name-mapping.default), used to resolve field IDs from column names when Parquet files lack field IDs or have field ID conflicts.
Implementations§
Source§impl FileScanTask
impl FileScanTask
Sourcepub fn data_file_path(&self) -> &str
pub fn data_file_path(&self) -> &str
Returns the data file path of this file scan task.
Sourcepub fn project_field_ids(&self) -> &[i32]
pub fn project_field_ids(&self) -> &[i32]
Returns the project field id of this file scan task.
Sourcepub fn predicate(&self) -> Option<&BoundPredicate>
pub fn predicate(&self) -> Option<&BoundPredicate>
Returns the predicate of this file scan task.
Sourcepub fn schema_ref(&self) -> SchemaRef
pub fn schema_ref(&self) -> SchemaRef
Returns the schema of this file scan task as a SchemaRef
Trait Implementations§
Source§impl Clone for FileScanTask
impl Clone for FileScanTask
Source§fn clone(&self) -> FileScanTask
fn clone(&self) -> FileScanTask
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FileScanTask
impl Debug for FileScanTask
Source§impl<'de> Deserialize<'de> for FileScanTask
impl<'de> Deserialize<'de> for FileScanTask
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for FileScanTask
impl PartialEq for FileScanTask
Source§impl Serialize for FileScanTask
impl Serialize for FileScanTask
impl StructuralPartialEq for FileScanTask
Auto Trait Implementations§
impl Freeze for FileScanTask
impl RefUnwindSafe for FileScanTask
impl Send for FileScanTask
impl Sync for FileScanTask
impl Unpin for FileScanTask
impl UnwindSafe for FileScanTask
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Any.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Any.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more