apache / apache/parquet-java

Create a jackson integration module for pojo support

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

Beschreibung

There's currently a PR for pojo support:
https://github.com/apache/incubator-parquet-mr/pull/21

And it occurred to me that one way we could do this without re-inventing the wheel is to use jackson. Jackson can essentially take a parse tree, either the result of parsing XML, or json, or anything (for example there's a yaml plugin), and then, there are 3 things jackson lets you do with that tree. You can either visit the nodes in the tree (they call this streaming), you can map the tree onto the datastructures built into java (essentially get a Map, or, you can map the tree onto a user defined class. The latter lets you work with a well typed class, and also lets you use jackson's annotations for controlling how the tree -> pojo mapping works (renaming fields and so on).

We could leverage all of that by creating something that goes from parquet data to the jackson parse tree, and then leave the rest of the work to jackson.

**Reporter**: [Alex Levenson](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=alexlevenson) / @isnotinvain

**Note**: *This issue was originally created as [PARQUET-65](https://issues.apache.org/jira/browse/PARQUET-65). 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

Beginnen Sie mit der Durchsicht des im Issue verlinkten bestehenden POJO-Support-Pull-Requests und des Vorschlags, Jackson für die Konvertierung von Parquet in einen Baum zu verwenden. Legen Sie den Umfang des Integrationsmoduls rund um den Jackson-Baum und das Mapping benutzerdefinierter POJOs fest, und identifizieren Sie anschließend die erforderlichen Interoperabilitäts- und Mapping-Tests, um zu zeigen, dass Parquet-Daten über Jackson konsumiert werden können.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
backend
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

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