apache / apache/parquet-java

Create a jackson integration module for pojo support

Ouverte
#1,514 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Component: Java Component: Parquet Priority: Minor Type: enhancement
Langage dominant
Java
Étoiles
3.1k
Forks
1.6k
Merge moyen
3 j 12 h
PR mergées (30 j)
33

Description

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

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par examiner la pull request existante de prise en charge de POJO liée dans l’issue ainsi que la proposition d’utiliser Jackson pour la conversion de Parquet en arbre. Définissez le périmètre du module d’intégration autour de l’arbre Jackson et du mapping de POJOs définis par l’utilisateur, puis identifiez les tests d’interopérabilité et de mapping nécessaires pour montrer que les données Parquet peuvent être consommées via Jackson.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
backend
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.