finds.dev← search

// the find

housepower/clickhouse_sinker

★ 533 · Go · Apache-2.0 · updated Mar 2026

Easily load data from kafka to ClickHouse

clickhouse_sinker is a Go daemon that consumes Kafka topics and bulk-inserts the messages into ClickHouse. It handles JSON, CSV, and Prometheus metric formats, supports dynamic schema inference, and manages consumer group offsets itself rather than delegating to Kafka. Aimed at teams running ClickHouse as a time-series or analytics sink who want something purpose-built instead of a generic Kafka Connect pipeline.

Batch-insert design is the right call for ClickHouse — it accumulates messages and flushes in bulk, which is exactly how ClickHouse wants data. Dynamic schema detection (auto_schema) is genuinely useful when producers change column shapes without coordinating. Nacos-based config hot-reload means you can adjust task configs without restarting the process. The included Grafana dashboard JSON is a nice touch — you get lag and throughput visibility out of the box.

Config is HJSON files that get published to Nacos — if you're not running Nacos you're working against the grain of the tool; there's no simple flat-file mode that feels first-class. Offset management is custom rather than using Kafka's native consumer group commits, which is a correctness risk if you need to interoperate with other consumers or tooling. At 533 stars this is a niche project and the commit cadence has slowed; the last meaningful activity was months before the March 2026 push, so you're betting on a small maintainer pool. No support for Avro or Protobuf — if your Kafka topics aren't JSON/CSV/Prom you need to add a parser yourself.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →