feat(spark): datafusion-spark-bridge Rust SDK (2/6) by timsaucer · Pull Request #2 · timsaucer/datafusion-java · GitHub
Skip to content

feat(spark): datafusion-spark-bridge Rust SDK (2/6)#2

Closed
timsaucer wants to merge 1 commit into
split/01-workspace-foundationfrom
split/02-spark-bridge
Closed

feat(spark): datafusion-spark-bridge Rust SDK (2/6)#2
timsaucer wants to merge 1 commit into
split/01-workspace-foundationfrom
split/02-spark-bridge

Conversation

@timsaucer

Copy link
Copy Markdown
Owner

Stacked PR series — splitting the Spark DataSource V2 connector work.
Review and merge in order; each PR targets the one above it.

  1. Cargo workspace + native-common extraction
    ➤ 2. datafusion-spark-bridge Rust SDK
  2. Spark connector Java SPI
  3. Spark DataSource V2 connector (Scala)
  4. Bridge scaffold generator
  5. End-to-end examples

Purpose

Add the datafusion-spark-bridge Rust SDK — the foundation a domain connector ("bridge") builds on. Its export_bridge! macro generates the JNI entry points the JVM side calls (schema probe, scan create/execute/close), and it bundles the options decoder, scan planning/execution glue, and the Arrow type-widening layer for Spark type compatibility.

Self-contained SDK with no JVM-side coupling; depends only on native-common.

Depends on #1.

🤖 Generated with Claude Code

New `spark/bridge` workspace crate providing the `export_bridge!` macro that
generates the six JNI entry points a Spark connector bridge exposes
(providerSchemaIpc, createScan, partitionCount, executeStreamPartition,
executeStream, closeScan). Includes the options decoder, scan planning/execution
glue, and the Arrow type-widening layer (wraps any TableProvider for Spark type
compatibility).

Self-contained SDK with no Java/Scala coupling. Depends only on
datafusion-jni-common. Second of the 6-PR connector stack.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant