Package io.krabka.streams.columnar


package io.krabka.streams.columnar
Apache Arrow batch codecs, topology operators, runners, and state handling.

This package processes Kafka records as Arrow batches instead of one record at a time. A BatchCodec decodes a fetched partition batch into one VectorSchemaRoot, a ColumnarTopology routes whole batches through operators, and a ColumnarRunner drives fetch, process, produce, and commit cycles against plain Kafka clients. Stateful operators keep partition-local state that can be snapshotted into a ColumnarStateStore.

Example

try (var allocator = new RootAllocator()) {
  var codec = new BlobCodec(allocator);
  var topology = new ColumnarTopology(allocator);
  var source = topology.addSource("source", List.of("transactions"), codec);
  topology.addSink("sink", "processed-transactions", codec, source);
  try (var built = topology.build()) {
    var output = built.runBatch("transactions", records);
  }
}