apache / apache/arrow-java

[Java] Enhancements for Java Dataset API

Offen
#154 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Java
Sterne
94
Forks
152
Ø Merge
3 T. 16 Std.
Gemergte PRs (30 T.)
11

Beschreibung

### 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

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginnen Sie mit den im Issue genannten Einstiegspunkten der Java Dataset API, insbesondere FileSystemDatasetFactory.inspect() und finish().newScan(...).schema(). Teilen Sie die umfassenden Anforderungen in separat abgegrenzte Änderungen für Dateisystemoptionen, Pfade, ungültige Dateien, das Schema-Verhalten, partitionierte Datasets und die Dokumentation auf. Done sollte durch eine vereinbarte Teilmenge mit entsprechender Implementierung oder Dokumentation und Validierung definiert werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
data
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.