Spark DataSource backed by a DataFusion TableProvider over ADBC
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
Línea de trabajo
Comienza con la implementación referenciada en #111 y compárala después con el alcance indicado en este issue: adbc-datafusion DataSourceV2, pushdowns, lecturas particionadas, executor connection pooling y cobertura de PySpark. Ejecuta la cobertura end-to-end mencionada en el issue y verifica que cada capacidad enumerada esté representada y funcione.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Is your feature request related to a problem or challenge?
Spark users want to read data from a DataFusion TableProvider as a native Spark DataSourceV2. Today there is no first-class path; options are either a bespoke per-operation JNI surface (more native surface to maintain) or copying data out of process.
Describe the solution you'd like
A Spark DataSourceV2 connector that places the native boundary at a standard ADBC driver. Spark talks to the upstream arrow-adbc Java driver manager (adbc-core + adbc-driver-jni), which loads a native DataFusion ADBC cdylib and returns arrow-java ArrowReaders consumed zero-copy as ArrowColumnVectors on the cluster-provided Arrow. This reuses the upstream ADBC bindings rather than reproducing them.
Scope:
adbc-datafusionformat registered as aDataSourceV2; schema probed on the driver.- Projection / filter / limit pushdown via Substrait, with a SQL fallback.
- Multi-partition reads (
executePartitioned/readPartition) and atarget_partitionsoption. - Per-executor connection pool to amortize driver/database setup across task slots.
- An example DataFusion ADBC driver cdylib plus end-to-end (PySpark) coverage.
Describe alternatives you've considered
A plain-C scan ABI + hand-written JNI shim (discussed on #103 / #104). The ADBC approach reuses standard, separately-reviewed bindings and a stable driver contract instead.
Additional context
Implemented in #111.
- Lenguaje dominante
- Java
- Estrellas
- 32
- Forks
- 12
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de apache/datafusion-java
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
apache/datafusion-java#116 ·
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 42/100
apache/datafusion-java#96 ·
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 38/100
apache/datafusion-java#95 ·
-
Create first release Abiertoenhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
apache/datafusion-java#86 · 3 comentarios ·
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 45/100
apache/datafusion-java#68 ·
Todos los issues de apache/datafusion-java
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
elastic/gradle-plugins#157 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
cryptomator/hub#497 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
johanhaleby/occurrent#1120 ·