Skip to content

Commit a708291

Browse files
committed
Update API for nicer parquet u64s
1 parent 4dc0f9a commit a708291

File tree

5 files changed

+16
-19
lines changed

5 files changed

+16
-19
lines changed

datafusion-examples/examples/advanced_parquet_index.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -573,7 +573,7 @@ impl ParquetFileReaderFactory for CachedParquetFileReaderFactory {
573573
let object_store = Arc::clone(&self.object_store);
574574
let mut inner =
575575
ParquetObjectReader::new(object_store, file_meta.object_meta.location)
576-
.with_file_size(file_meta.object_meta.size as usize);
576+
.with_file_size(file_meta.object_meta.size);
577577

578578
if let Some(hint) = metadata_size_hint {
579579
inner = inner.with_footer_size_hint(hint)
@@ -601,15 +601,15 @@ struct ParquetReaderWithCache {
601601
impl AsyncFileReader for ParquetReaderWithCache {
602602
fn get_bytes(
603603
&mut self,
604-
range: Range<usize>,
604+
range: Range<u64>,
605605
) -> BoxFuture<'_, datafusion::parquet::errors::Result<Bytes>> {
606606
println!("get_bytes: {} Reading range {:?}", self.filename, range);
607607
self.inner.get_bytes(range)
608608
}
609609

610610
fn get_byte_ranges(
611611
&mut self,
612-
ranges: Vec<Range<usize>>,
612+
ranges: Vec<Range<u64>>,
613613
) -> BoxFuture<'_, datafusion::parquet::errors::Result<Vec<Bytes>>> {
614614
println!(
615615
"get_byte_ranges: {} Reading ranges {:?}",

datafusion/core/tests/parquet/custom_reader.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -219,11 +219,11 @@ struct ParquetFileReader {
219219
impl AsyncFileReader for ParquetFileReader {
220220
fn get_bytes(
221221
&mut self,
222-
range: Range<usize>,
222+
range: Range<u64>,
223223
) -> BoxFuture<'_, parquet::errors::Result<Bytes>> {
224-
self.metrics.bytes_scanned.add(range.end - range.start);
224+
let bytes_scanned = range.end - range.start;
225+
self.metrics.bytes_scanned.add(bytes_scanned as usize);
225226

226-
let range = range.start as u64..range.end as u64;
227227
self.store
228228
.get_range(&self.meta.location, range)
229229
.map_err(|e| {

datafusion/datasource-parquet/src/file_format.rs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -735,11 +735,7 @@ impl<'a> ObjectStoreFetch<'a> {
735735
}
736736

737737
impl MetadataFetch for ObjectStoreFetch<'_> {
738-
fn fetch(
739-
&mut self,
740-
range: Range<usize>,
741-
) -> BoxFuture<'_, Result<Bytes, ParquetError>> {
742-
let range = range.start as u64..range.end as u64;
738+
fn fetch(&mut self, range: Range<u64>) -> BoxFuture<'_, Result<Bytes, ParquetError>> {
743739
async {
744740
self.store
745741
.get_range(&self.meta.location, range)
@@ -766,7 +762,7 @@ pub async fn fetch_parquet_metadata(
766762

767763
ParquetMetaDataReader::new()
768764
.with_prefetch_hint(size_hint)
769-
.load_and_finish(fetch, file_size as usize)
765+
.load_and_finish(fetch, file_size)
770766
.await
771767
.map_err(DataFusionError::from)
772768
}

datafusion/datasource-parquet/src/reader.rs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -96,21 +96,22 @@ pub(crate) struct ParquetFileReader {
9696
impl AsyncFileReader for ParquetFileReader {
9797
fn get_bytes(
9898
&mut self,
99-
range: Range<usize>,
99+
range: Range<u64>,
100100
) -> BoxFuture<'_, parquet::errors::Result<Bytes>> {
101-
self.file_metrics.bytes_scanned.add(range.end - range.start);
101+
let bytes_scanned = range.end - range.start;
102+
self.file_metrics.bytes_scanned.add(bytes_scanned as usize);
102103
self.inner.get_bytes(range)
103104
}
104105

105106
fn get_byte_ranges(
106107
&mut self,
107-
ranges: Vec<Range<usize>>,
108+
ranges: Vec<Range<u64>>,
108109
) -> BoxFuture<'_, parquet::errors::Result<Vec<Bytes>>>
109110
where
110111
Self: Send,
111112
{
112-
let total = ranges.iter().map(|r| r.end - r.start).sum();
113-
self.file_metrics.bytes_scanned.add(total);
113+
let total: u64 = ranges.iter().map(|r| r.end - r.start).sum();
114+
self.file_metrics.bytes_scanned.add(total as usize);
114115
self.inner.get_byte_ranges(ranges)
115116
}
116117

@@ -137,7 +138,7 @@ impl ParquetFileReaderFactory for DefaultParquetFileReaderFactory {
137138
);
138139
let store = Arc::clone(&self.store);
139140
let mut inner = ParquetObjectReader::new(store, file_meta.object_meta.location)
140-
.with_file_size(file_meta.object_meta.size as usize);
141+
.with_file_size(file_meta.object_meta.size);
141142

142143
if let Some(hint) = metadata_size_hint {
143144
inner = inner.with_footer_size_hint(hint)

datafusion/datasource-parquet/src/row_group_filter.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1527,7 +1527,7 @@ mod tests {
15271527
let file_metrics =
15281528
ParquetFileMetrics::new(0, object_meta.location.as_ref(), &metrics);
15291529
let inner = ParquetObjectReader::new(Arc::new(in_memory), object_meta.location)
1530-
.with_file_size(object_meta.size as usize);
1530+
.with_file_size(object_meta.size);
15311531

15321532
let reader = ParquetFileReader {
15331533
inner,

0 commit comments

Comments
 (0)