pub(crate) struct RemainingRowGroups {
parquet_metadata: Arc<ParquetMetaData>,
row_groups: VecDeque<usize>,
selection: Option<RowSelection>,
row_group_reader_builder: RowGroupReaderBuilder,
}Expand description
State machine that tracks the remaining high level chunks (row groups) of Parquet data are left to read.
This is currently a row group, but the author aspires to extend the pattern to data boundaries other than RowGroups in the future.
Fields§
§parquet_metadata: Arc<ParquetMetaData>The underlying Parquet metadata
row_groups: VecDeque<usize>The row groups that have not yet been read
selection: Option<RowSelection>Remaining selection to apply to the next row groups
row_group_reader_builder: RowGroupReaderBuilderState for building the reader for the current row group
Implementations§
Source§impl RemainingRowGroups
impl RemainingRowGroups
pub fn new( parquet_metadata: Arc<ParquetMetaData>, row_groups: Vec<usize>, selection: Option<RowSelection>, row_group_reader_builder: RowGroupReaderBuilder, ) -> Self
Sourcepub fn push_data(&mut self, ranges: Vec<Range<u64>>, buffers: Vec<Bytes>)
pub fn push_data(&mut self, ranges: Vec<Range<u64>>, buffers: Vec<Bytes>)
Push new data buffers that can be used to satisfy pending requests
Sourcepub fn buffered_bytes(&self) -> u64
pub fn buffered_bytes(&self) -> u64
Return the total number of bytes buffered so far
Sourcepub fn try_next_reader(
&mut self,
) -> Result<DecodeResult<ParquetRecordBatchReader>, ParquetError>
pub fn try_next_reader( &mut self, ) -> Result<DecodeResult<ParquetRecordBatchReader>, ParquetError>
returns ParquetRecordBatchReader suitable for reading the next
group of rows from the Parquet data, or the list of data ranges still
needed to proceed
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RemainingRowGroups
impl !RefUnwindSafe for RemainingRowGroups
impl Send for RemainingRowGroups
impl !Sync for RemainingRowGroups
impl Unpin for RemainingRowGroups
impl !UnwindSafe for RemainingRowGroups
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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