Java Streams & Arrow

Kafka Streams 4.x compatible engine with columnar Arrow operators and schema serdes via krabka-streams-java.

Full Javadoc API Reference

krabka-streams-java is the Java client library for stream processing with Krabka. It exports the Kafka Streams API and adds native support for Confluent Schema Registry and Apache Arrow direct-memory processing. Minimum Java version is JDK 17.

Dependency Coordinates

Gradle / Maven
// Gradle Kotlin DSL
implementation("io.krabka:krabka-streams:1.3.0")
implementation("io.krabka:krabka-streams-columnar:1.3.0")
implementation("io.krabka:krabka-streams-schema-serde:1.3.0")

Published Modules

Artifact Purpose
io.krabka:krabka-streamsApache Kafka Streams API and Krabka defaults
io.krabka:krabka-streams-schema-serdeAvro, Protobuf, and JSON Schema serdes with non-blocking cache
io.krabka:krabka-streams-columnarApache Arrow direct memory batch processing & operators
io.krabka:krabka-streams-columnar-schemaAvro and Protobuf Arrow memory bridges
io.krabka:krabka-streams-test-utilsColumnarTestDriver and SchemaRegistryStub helpers
io.krabka:krabka-streams-bomBill of Materials dependency constraints

Direct Buffer JVM Requirement

Apache Arrow 19 requires this JVM option when accessing direct off-heap buffers:

--add-opens=java.base/java.nio=ALL-UNNAMED

Automatic Javadoc & Maven CI Publishing

The complete interactive Javadoc reference is built with Bazel/Gradle and published automatically on every release to GitHub Pages: