Parquet export fails on a Decimal column

Offen
#655 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
70/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
java

Rechercherichtung

The failure is raised in ParquetExporter.addColumn at ParquetExporter.java:169, which rejects Decimal columns with a STRUCT/LIST/MAP message. Read the Parquet import side that #628 changed to see how DECIMAL is mapped to Vortex, then mirror that mapping on export. Done when exporting a Decimal[precision=15, scale=2] column writes a Parquet DECIMAL(15,2) column and re-importing it gives the same type.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

bug

Following #628 (Parquet import reads `DECIMAL` as a Vortex decimal), the export side does not write one back:

```
vortex export lineitem.vortex out.parquet
UnsupportedOperationException: unsupported column type for Parquet export (STRUCT/LIST/MAP not yet supported): Decimal[precision=15, scale=2, nullable=false] (column: l_quantity)
at ParquetExporter.addColumn(ParquetExporter.java:169)
```

Repro: import any Parquet file with a `DECIMAL` column (e.g. TPC-H sf1 `lineitem` from `tpchgen-cli`), then export the result to `.parquet`. CSV export of the same file works.

Expected: a `DECIMAL(precision, scale)` column written with the matching Parquet physical type and logical annotation, so the import to export round trip is lossless. The message also names STRUCT/LIST/MAP, which is misleading for a decimal.

Found verifying the Snappy fix (#645).

Vorherrschende Sprache
Java
Sterne
3
Forks
2
Ø Merge
9 Std. 51 Min.
Gemergte PRs (30 T.)
127

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus dfa1/vortex-java

Alle Issues in dfa1/vortex-java

Ähnliche Issues

Weitere Issues zu Java

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.