Parquet proto writer de-nest Protobuf wrapper classes
- Vorherrschende Sprache
- Java
- Sterne
- 3.1k
- Forks
- 1.6k
- Ø Merge
- 3 T. 12 Std.
- Gemergte PRs (30 T.)
- 33
Beschreibung
Existing Parquet protobuf writer support preserves the structure of any Protobuf Message objects. This works well in most cases. However, when dealing with [Protobuf wrapper messages](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/wrappers.proto), users may prefer directly writing the de-nested value into the Parquet files, for ease of querying them directly (in query engine such as Hive/Presto).
Proposal:
- Implement a control flag, e.g., enableDenestingWrappers, to control whether or not to denest Protobuf wrapper classes.
- When this flag is set to true, write the Protobuf wrapper classes as single primitive fields, based on the type of the wrapped **value** field.
|Protobuf Type|Parquet Type|
|
|-|-|-|
|BoolValue|boolean|
|
|BytesValue|binary|
|
|DoubleValue|double|
|
|FloatValue|float|
|
|Int32Value|int64 (32-bit, signed)|
|
|Int64Value|int64 (64-bit, signed)|
|
|StringValue|binary (string)|
|
|UInt32Value|int64 (32-bit, unsigned)|
|
|UInt64Value|int64 (64-bit, unsigned)|
|
**Reporter**: [Ying Xu](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=yxu-apache)
**Note**: *This issue was originally created as [PARQUET-1595](https://issues.apache.org/jira/browse/PARQUET-1595). 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 damit, die bestehende Unterstützung für den Parquet-Protobuf-Writer zu lokalisieren und zu untersuchen, wie sie Protobuf Message-Objekte auf Parquet-Felder abbildet. Definiere das Steuerungs-Flag für wrapper denesting und vergleiche dessen Ausgabe mit den aufgeführten wrapper-to-primitive mappings. Als erledigt gilt die Aufgabe, wenn das Flag steuert, ob Wrapper verschachtelt bleiben oder als einzelne primitive Felder geschrieben werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- data-engineering
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100