Add way to disables statistics on a per column basis
- Langage dominant
- Java
- Étoiles
- 3.1k
- Forks
- 1.6k
- Merge moyen
- 3 j 12 h
- PR mergées (30 j)
- 33
Description
When you write dataset with BINARY columns that can be fairly large (several Mbs) you can often end with an OutOfMemory error where you either have to:
- Throw more RAM
- Increase number of output files
- Play with Block size
Using a fork with increased checks frequency for row group size help but it is not enough. (PR: )
The OutOfMemory error is now caused due to the accumulation of min/max values for those columns for each BlockMetaData.
The "parquet.statistics.truncate.length" configuration is of no help because it is applied during the footer serialization whereas the OOM occurs before that.
I think it would be nice to have, like for dictionary or bloom filter, a way to disable the statistic on a per-column basis.
Could be very useful to lower memory consumption when stats of huge binary column are unnecessary.
**Reporter**: [Anthony Pessy](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=panthony) / @panthony
#### Original Issue Attachments:
- [add_config_to_opt-out_of_a_column's_statistics.patch](https://issues.apache.org/jira/secure/attachment/13011473/add_config_to_opt-out_of_a_column%27s_statistics.patch)
- [NoOpStatistics.java](https://issues.apache.org/jira/secure/attachment/13037932/NoOpStatistics.java)
**Note**: *This issue was originally created as [PARQUET-1911](https://issues.apache.org/jira/browse/PARQUET-1911). Please see the [migration documentation](https://issues.apache.org/jira/browse/PARQUET-2502) for further details.*
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez par lire les fichiers joints NoOpStatistics.java et add_config_to_opt-out_of_a_column's_statistics.patch, puis suivez la façon dont les statistiques s'accumulent dans BlockMetaData avant la sérialisation du footer. Le travail est terminé lorsqu'un moyen de désactiver les statistiques par colonne est fourni, afin que les grandes colonnes BINARY n'accumulent plus de valeurs min/max et ne provoquent plus d'erreurs OutOfMemory.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- data-engineering
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100