[Python][C++] Add controls to disable metadata caching in datasets
- 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
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