apache / apache/arrow-java

[Java] Enhancements for Java Dataset API

Ouverte
#154 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Java
Étoiles
94
Forks
152
Merge moyen
3 j 16 h
PR mergées (30 j)
11

Description

### Describe the enhancement requested

Some important changes are suggested in the list below to improve the developer experience with the Dataset API of java/arrow. Most of these suggestions if implemented will lead to consistency with the [pyarrow dataset API](https://arrow.apache.org/docs/python/generated/pyarrow.dataset.dataset.html#pyarrow.dataset.dataset).

1. Support for providing Filesystem options like access_key etc. programmatically. Currently only env vars are supported.
2. Support for globbed paths and directories
3. Excluding invalid files
4. Additional documentation for already implemented functionality
1. Reading and writing to remote/ cloud stores (HDFS, S3, GCS ...)
2. Clarification of behaviour when reading multiple files. Why 2 or more files supplied, they may have different schema. Currently, only the schema of the last files is shown by `.inspect()` and this is not documented anywhere. This behaviour is the same in pyarrow. Maybe it's a good idea to allow users to provide a strategy like Error, Merge, LastFile etc.
3. Reading and writing partitioned datasets
4. Difference between `FileSystemDatasetFactory.inspect()` and `FileSystemDatasetFactory.finish().newScan(...).schema()`. Which one to use in which case?
5. Env vars for Filesystem are not documented

Please let me know if the above make sense, I can help with PRs for the same.

### Component(s)

Java

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par les points d’entrée de la Java Dataset API mentionnés dans l’issue, en particulier FileSystemDatasetFactory.inspect() et finish().newScan(...).schema(). Divisez les demandes générales en changements délimités séparément pour les options du système de fichiers, les chemins, les fichiers invalides, le comportement du schéma, les Datasets partitionnés et la documentation. Done doit être défini par un sous-ensemble convenu, accompagné de l’implémentation ou de la documentation correspondante et de la validation.

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

Évaluation

Stack technique
java
Domaine
data
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.