apache / apache/arrow

[Python][C++] Add controls to disable metadata caching in datasets

Open
#33,888 1 comment 1 reaction 0 assignees View on GitHub
Component: C++ good-second-issue Type: enhancement
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 13h
Merged PRs (30d)
88

Description

### Describe the enhancement requested

Currently, when scanning a dataset, in `ParquetFileFragment`, we save the metadata (and statistics I think) as we scan. The idea is that this will make repeated scans of the dataset faster.

However, in some cases, this metadata can be quite large (or there can be a lot of files), and this caching ends up using too much memory. We should have some kind of option or flag that allows us to disable this caching of metadata (it could be at the dataset level and doesn't have to be parquet specific although parquet would be the only format with a special implementation) to improve memory usage in these cases.

### Component(s)

C++

Contributor guide

Open the contributing guide

Research direction

Start at ParquetFileFragment and trace the dataset scanning path where metadata and statistics are retained. Determine the appropriate dataset-level or Parquet-specific control and identify the relevant scan tests; done means callers can disable metadata caching and the behavior is covered without regressing normal repeated scans.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, python
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.