Provide a ByteBuffer based write path
- Langage dominant
- Java
- Étoiles
- 3.1k
- Forks
- 1.6k
- Merge moyen
- 3 j 12 h
- PR mergées (30 j)
- 33
Description
Similar to the effort to use a ByteBuffer in the read path, we should provide a path to use a ByteBuffer in the write path.
The proposed idea is to provide an allocator in the writer that is passed down to CapacityByteArrayOutputStream and is used to allocate a ByteBuffer instead of the byte array that it currently uses.
I've attached a patch based on the 1.5 release that does that. There are two implementations of the allocator - one for Heap memory and one for Direct memory. In addition, the allocator interface allows for a 'release' method so that reference counted memory allocators like Netty's ByteBuf can be used to provide an allocator.
**Reporter**: [Parth Chandra](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=parthc) / @parthchandra
#### Related issues:
- [Move off of Parquet fork](https://issues.apache.org/jira/browse/DRILL-1410) (is depended upon by)
**Note**: *This issue was originally created as [PARQUET-78](https://issues.apache.org/jira/browse/PARQUET-78). 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 comparer le chemin de lecture existant basé sur ByteBuffer avec le writer et le CapacityByteArrayOutputStream mentionnés dans l’issue. Suivez la manière dont l’allocator proposé fournirait des buffers heap ou direct et dont leur libération serait gérée, puis vérifiez que le chemin d’écriture prend en charge les deux implémentations de l’allocator ainsi que la mémoire comptée par référence.
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
- 45/100