Codecs

Codecs

Kinetic supports multiple serialization formats for encoding and decoding events. Sources use decoders to parse incoming data, while sinks use encoders to serialize outgoing data.

Available Codecs

Encoders (for Sinks)

CodecDescriptionSink Usage
JSONJSON and NDJSON outputencoding: { codec: json }
Arrow IPCApache Arrow IPC formatencoding: { codec: arrow }
AvroApache Avro binary formatencoding: { codec: avro }
ParquetApache Parquet columnar formatencoding: { codec: parquet }
ProtobufProtocol Buffersencoding: { codec: protobuf }
OCSFOpen Cybersecurity Schema Frameworkencoding: { codec: ocsf }

Decoders (for Sources)

CodecDescriptionSource Usage
JSONJSON and NDJSON inputdecoding: { codec: json }
Arrow IPCApache Arrow IPC formatdecoding: { codec: arrow }
AvroApache Avro binary formatdecoding: { codec: avro }
ParquetApache Parquet columnar formatdecoding: { codec: parquet }
ProtobufProtocol Buffersdecoding: { codec: protobuf }
OCSFOpen Cybersecurity Schema Frameworkdecoding: { codec: ocsf }

Configuration Pattern

Both encoders and decoders use a tagged enum pattern with a codec field:

# Source with decoder
sources:
  my_kafka:
    type: kafka
    bootstrap_servers: localhost:9092
    group_id: my-group
    topics: [events]
    decoding:
      codec: json
      batch_size: 1024

# Sink with encoder
sinks:
  my_s3:
    type: s3
    bucket: my-bucket
    prefix: logs/
    encoding:
      codec: parquet
      compression: zstd

Codec Selection Guide

Ocsf

Configuration for the OCSF Encoder.