[Java] Improving Arrow Vector Reading performance
- Vorherrschende Sprache
- Java
- Sterne
- 94
- Forks
- 152
- Ø Merge
- 3 T. 16 Std.
- Gemergte PRs (30 T.)
- 11
Beschreibung
Currently the read interface of Java Arrow Vector is quite slow because the access operation has to go through validity bit check and boundary check before it can actually load the data. Such a safety check incurs unnecessary overhead in actually computation.
The Arrow Vector and ArrowBuf should expose unsafe methods for advanced users to directly access underlying data without null check and boundary check.
**Reporter**: [Yurui Zhou](https://issues.apache.org/jira/browse/ARROW-5197) / @yuruiz
#### Subtasks:
- [ ] [[Java] Add hasNull flag to Vectors](https://github.com/apache/arrow-java/issues/415)
- [X] [[Java] Add unsafe access method to ArrowBuf](https://github.com/apache/arrow/issues/21674)
#### Related issues:
- [[Java] Add accessor methods for data buffers that skip null checking](https://github.com/apache/arrow/issues/15627) (relates to)
- [[Java] Provide light-weight arrow APIs](https://github.com/apache/arrow/issues/21675) (is related to)
#### PRs and other links:
- [GitHub Pull Request apache/arrow#4199](https://github.com/apache/arrow/pull/4199)
**Note**: *This issue was originally created as [ARROW-5197](https://issues.apache.org/jira/browse/ARROW-5197). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*
Beitragsleitfaden
Rechercherichtung
Beginne mit der Durchsicht der Zugriffs-Interfaces von Java Arrow Vector und ArrowBuf und untersuche anschließend die abgeschlossene ArrowBuf-Arbeit und den PR apache/arrow#4199. Das Issue ist abgeschlossen, wenn Methoden für den unsicheren Zugriff direkte Lesevorgänge ohne Null- und Bereichsprüfungen unterstützen und die zugehörige Vector-Arbeit sowie das Leistungsverhalten berücksichtigt sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- data-engineering
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 20/100