Duplication between `ParquetFormat` and `ParquetReadOptions` is confusing
- Lingua principale
- Rust
- Stelle
- 9.3k
- Fork
- 2.4k
- Merge medio
- 3g 11h
- PR unite (30g)
- 360
Descrizione
**Is your feature request related to a problem or challenge? Please describe what you are trying to do.**
While working on https://github.com/apache/arrow-datafusion/pull/2985 I noticed I had to repeat the `skip_metadata` configuration option on both `ParquetReadOptions` (public API) and the `ParquetFormat`.
It also looks like the 'metadata_hint' size option was not added to the public API.
I believe the split is due to the fact that some of the values on `ParquetReadOptions` are used to make a `ListingOptions` and some are used on the actual `ParquetFormat` itself.
**Describe the solution you'd like**
I would like to have the options in a single place and avoid the redundancy
Oneapproach might be to pull the options that are shared into its own sub-struct shared by `ParquetReadOptions` and `ParquetFormat, but since those fields are pub that would be backwards incompatible
**Describe alternatives you've considered**
Another approach would be to add a `ParquetReadOptions` field to the `ParquetFormat` but this has issues that then several of these fields will be ignored.
**Additional context**
Add any other context or screenshots about the feature request here.
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia individuando le definizioni e gli utilizzi di ParquetReadOptions e ParquetFormat, quindi confronta i relativi campi e il modo in cui viene costruito ListingOptions. Il lavoro è completato quando la configurazione condivisa ha una rappresentazione coerente, skip_metadata non è duplicato e metadata_hint è esposto tramite l'API pubblica senza che i campi vengano ignorati silenziosamente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- rust
- Ambito
- backend-api-design
- Tipo di issue
- Refactoring
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100