apache / apache/parquet-java

Create a jackson integration module for pojo support

Aperta
#1,514 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Component: Java Component: Parquet Priority: Minor Type: enhancement
Lingua principale
Java
Stelle
3.1k
Fork
1.6k
Merge medio
3g 12h
PR unite (30g)
33

Descrizione

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.*

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia esaminando la pull request esistente per il supporto ai POJO collegata nell’issue e la proposta di usare Jackson per la conversione da Parquet a un albero. Definisci l’ambito del modulo di integrazione attorno all’albero Jackson e al mapping di POJO definiti dall’utente, quindi individua i test di interoperabilità e di mapping necessari per dimostrare che i dati Parquet possono essere consumati tramite Jackson.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
backend
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.