pub(crate) struct InMemoryRowGroup<'a> {
pub(crate) offset_index: Option<&'a [OffsetIndexMetaData]>,
pub(crate) column_chunks: Vec<Option<Arc<ColumnChunkData>>>,
pub(crate) row_count: usize,
pub(crate) row_group_idx: usize,
pub(crate) metadata: &'a ParquetMetaData,
}Expand description
An in-memory collection of column chunks
Fields§
§offset_index: Option<&'a [OffsetIndexMetaData]>§column_chunks: Vec<Option<Arc<ColumnChunkData>>>Column chunks for this row group
row_count: usize§row_group_idx: usize§metadata: &'a ParquetMetaDataImplementations§
Source§impl InMemoryRowGroup<'_>
impl InMemoryRowGroup<'_>
Sourcepub(crate) async fn fetch<T: AsyncFileReader + Send>(
&mut self,
input: &mut T,
projection: &ProjectionMask,
selection: Option<&RowSelection>,
batch_size: usize,
cache_mask: Option<&ProjectionMask>,
) -> Result<()>
pub(crate) async fn fetch<T: AsyncFileReader + Send>( &mut self, input: &mut T, projection: &ProjectionMask, selection: Option<&RowSelection>, batch_size: usize, cache_mask: Option<&ProjectionMask>, ) -> Result<()>
Fetches any additional column data specified in projection that is not already
present in self.column_chunks.
If selection is provided, only the pages required for the selection
are fetched. Otherwise, all pages are fetched.
Source§impl InMemoryRowGroup<'_>
impl InMemoryRowGroup<'_>
Sourcepub(crate) fn fetch_ranges(
&self,
projection: &ProjectionMask,
selection: Option<&RowSelection>,
batch_size: usize,
cache_mask: Option<&ProjectionMask>,
) -> FetchRanges
pub(crate) fn fetch_ranges( &self, projection: &ProjectionMask, selection: Option<&RowSelection>, batch_size: usize, cache_mask: Option<&ProjectionMask>, ) -> FetchRanges
Returns the byte ranges to fetch for the columns specified in
projection and selection.
cache_mask indicates which columns, if any, are being cached by
RowGroupCache.
The selection for Cached columns is expanded to batch boundaries to simplify
accounting for what data is cached.
Sourcepub(crate) fn fill_column_chunks<I>(
&mut self,
projection: &ProjectionMask,
page_start_offsets: Option<Vec<Vec<u64>>>,
chunk_data: I,
)where
I: IntoIterator<Item = Bytes>,
pub(crate) fn fill_column_chunks<I>(
&mut self,
projection: &ProjectionMask,
page_start_offsets: Option<Vec<Vec<u64>>>,
chunk_data: I,
)where
I: IntoIterator<Item = Bytes>,
Fills in self.column_chunks with the data fetched from chunk_data.
This function must be called with the data from the ranges returned by
fetch_ranges and the corresponding page_start_offsets, with the exact same and selection.
Trait Implementations§
Source§impl<'a> Debug for InMemoryRowGroup<'a>
impl<'a> Debug for InMemoryRowGroup<'a>
Source§impl RowGroups for InMemoryRowGroup<'_>
impl RowGroups for InMemoryRowGroup<'_>
Auto Trait Implementations§
impl<'a> Freeze for InMemoryRowGroup<'a>
impl<'a> !RefUnwindSafe for InMemoryRowGroup<'a>
impl<'a> Send for InMemoryRowGroup<'a>
impl<'a> Sync for InMemoryRowGroup<'a>
impl<'a> Unpin for InMemoryRowGroup<'a>
impl<'a> !UnwindSafe for InMemoryRowGroup<'a>
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> 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