Parquet export fails on struct and list columns
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- java
- Domínio
- data-engineering
Direção de pesquisa
Start in ParquetExporter.addColumn (ParquetExporter.java around line 179-180), where the STRUCT/LIST/MAP check throws, and trace how exportParquet (line 125) builds the schema for each column; the CLI path is ExportCommand.runParquet. Map the List, struct and Map types from the issue to Parquet group types, with Variant needing its own decision. Done means the four Raincloud datasets round-trip Parquet to Vortex to Parquet, or, as a smaller first step, the error becomes a VortexException naming the column.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
ParquetExporter (and so vortex export x.vortex out.parquet) refuses any Struct, List/FixedSizeList or Map column:
java.lang.UnsupportedOperationException: unsupported column type for Parquet export (STRUCT/LIST/MAP not yet supported): List[elementType=Primitive[ptype=F32, nullable=true], nullable=true] (column: emb)
at io.github.dfa1.vortex.parquet.ParquetExporter.addColumn(ParquetExporter.java:179)
at io.github.dfa1.vortex.parquet.ParquetExporter.exportParquet(ParquetExporter.java:125)
at io.github.dfa1.vortex.cli.ExportCommand.runParquet(ExportCommand.java:102)
Found with the released 0.19.1 CLI, exporting Vortex files imported from Raincloud Parquet: 4 of 10 public datasets fail, and the code on main is the same (ParquetExporter.java:180).
| Raincloud slug | Column | Type |
|---|---|---|
cohere-wikipedia-simple-embed |
emb |
fixed_size_list<float>[1024] (read as List<F32>) |
coig |
conversations |
list<struct<question: string, answer: string>> |
countries-of-the-world |
data |
struct<metadata: binary, value: binary> (Parquet Variant) |
mnist |
image |
struct<bytes: binary, path: string> |
Repro: vortex import <slug>.parquet x.vortex && vortex export x.vortex x.parquet. The import of the same Parquet works, so a Parquet → Vortex → Parquet round trip is lossy only for these types.
Expected: nested columns export as Parquet groups (LIST / plain group / MAP logical types), so that round trip holds. Until then the failure should be a VortexException naming the column, not an UnsupportedOperationException.
- Linguagem predominante
- Java
- Estrelas
- 3
- Forks
- 2
- Merge médio
- 9h 19min
- PRs com merge (30d)
- 154
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de dfa1/vortex-java
-
good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
dfa1/vortex-java#738 ·
Mantenedores costumam responder em até 1 dia
-
good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
dfa1/vortex-java#737 ·
Mantenedores costumam responder em até 1 dia
-
good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
dfa1/vortex-java#736 ·
Mantenedores costumam responder em até 1 dia
-
help wanted project
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
dfa1/vortex-java#729 ·
Mantenedores costumam responder em até 1 dia
-
enhancement good first issue
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 72/100
dfa1/vortex-java#728 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de dfa1/vortex-java
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 80/100
finos/fluxnova-bpm-platform#387 ·
Mantenedores costumam responder em até 4 dias
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
-
Dificuldade 2/5 Menos de uma hora Facilidade para iniciantes 84/100
cpp-best-practices/project_validator#251 ·
Mantenedores costumam responder em até 1 dia
-
backend enhancement
Dificuldade 2/5 Meio dia Facilidade para iniciantes 70/100
damodharg6/payledger#16 ·
-
[Bug]: An initiative list with no current entry logs an error on every changeTalvez já em andamento @dwizard0 assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia