apache / apache/arrow-java

[Java] Improving Arrow Vector Reading performance

Aberta
#416 4 comentários 0 reações 0 responsáveis Ver no GitHub
Type: enhancement
Linguagem predominante
Java
Estrelas
94
Forks
152
Merge médio
3d 16h
PRs com merge (30d)
11

Descrição

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.*

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Comece revisando as interfaces de acesso de Java Arrow Vector e ArrowBuf e, em seguida, inspecione o trabalho concluído de ArrowBuf e o PR apache/arrow#4199. A issue estará concluída quando os métodos de acesso unsafe oferecerem suporte a leituras diretas sem verificações de null e de limites, e o trabalho relacionado aos vetores e o comportamento de desempenho tiverem sido tratados.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
java
Domínio
data-engineering
Tipo de issue
Funcionalidade
Dificuldade
5/5
Tempo estimado
Mais de uma semana
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
20/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.