apache / apache/parquet-java

Error in reading a list type data in hive which was generated through pig

Offen
#1,490 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Component: Java Component: Parquet Priority: Major Type: bug
Vorherrschende Sprache
Java
Sterne
3.1k
Forks
1.6k
Ø Merge
3 T. 12 Std.
Gemergte PRs (30 T.)
33

Beschreibung

ArrayWritableGroupConverter in Parquet-Hive binding expects that any array field contains either 1 or 2 fields. However, the schema which PigSchemaConverter generates, doesn't honour this condition. It can be reproduced through following code

```
MessageType messageType = new PigSchemaConverter().convert(ThriftToPig.toSchema(Requestlist.class));
DataWritableGroupConverter converter = new DataWritableGroupConverter(messageType, messageType);
```

Requestlist is a thrift class
```
struct Request {
1: required string id,
2: i64 time,
3: required string source
}

struct Requestlist {
1: optional list requests
}
```

**Environment**: Parquet-Pig - 1.3.2
Hive - 0.13.1
Elephant-Bird - 4.4
**Reporter**: [Abhishek Agarwal](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=abhishek.agarwal) / @abhishekagarwal87

**Note**: *This issue was originally created as [PARQUET-53](https://issues.apache.org/jira/browse/PARQUET-53). Please see the [migration documentation](https://issues.apache.org/jira/browse/PARQUET-2502) for further details.*

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne mit ArrayWritableGroupConverter im Parquet-Hive binding und PigSchemaConverter und reproduziere anschließend das Problem mithilfe des Requestlist schema und des DataWritableGroupConverter snippet aus dem Bericht. Verfolge das generierte Listenschema im Vergleich zur Erwartung des Converters von einem oder zwei Feldern; als erledigt gilt die Aufgabe, wenn das generierte Schema ohne diesen Konvertierungsfehler gelesen werden kann.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
data-engineering
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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