apache / apache/arrow-java

[Java] Port Row Set abstraction from Drill to Arrow

Aberta
#372 2 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

Arrow is a great way to exchange data between systems. Somewhere in the process, however, data must be load into, and read out of the Arrow vectors.

Arrow's vector code started with similar code in Apache Drill. The Drill project created a "Row Set" abstraction that:
- Provides a simple way to define the schema for a set of batches.
- Loads data into vectors from row-oriented inputs.
- Reads data out of vectors in row-oriented output.
- Controls memory consumed by the record batch when loading data into vectors.
- Ensures maximum usage of the allocated vector space when loading data Into vectors.
- Optionally handles projection when reading data from an input file into a set of vectors.
- Optionally handles data conversion from input to vector formats.

This mechanism is handy for any Java developer who produces or consumes Arrow vectors.

Detailed information is available in [this wiki](https://github.com/paul-rogers/arrow/wiki), including a more detailed description of the motivation for this project, and an analysis of the work required to do the Drill-to-Arrow port.

The code is in Java simply because Drill is written in Java. The same mechanisms can be ported to other languages if useful. Those ports would be separate future projects.

The code will be placed in a new Java module which can be imported by projects that wish to use the code. Changes may be needed to expose items from the `vector` module; we'll tackle those issues if/when they occur.

**Reporter**: [Paul Rogers](https://issues.apache.org/jira/browse/ARROW-3164)

**Note**: *This issue was originally created as [ARROW-3164](https://issues.apache.org/jira/browse/ARROW-3164). 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 pelo wiki do Arrow indicado, especialmente pela motivação e pela análise do port de Drill-to-Arrow. Revise como o novo módulo Java proposto deve interagir com o módulo de vetores existente e identifique quaisquer alterações necessárias de exposição. Considera-se concluído quando a abstração Row Set estiver portada para um módulo Java importável com os recursos descritos de esquema, carregamento, leitura, memória, projeção e conversão.

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

Avaliação

Stack de tecnologia
java
Domínio
data
Tipo de issue
Funcionalidade
Dificuldade
5/5
Tempo estimado
Mais de uma semana
Status de atividade
Estagnada
Clareza
Precisa de esclarecimento
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.