featured.png

Provisioning a local data platform usually means fighting dependency conflicts, port clashes, and brittle Docker Compose files. odctl is a small CLI that turns Kafka, Flink, Spark, Trino, Iceberg, Airflow, and a full MLOps and observability suite into a cohesive stack you can launch with a single command. Now available on PyPI.

featured.gif

In Part 1, we built a contextual bandit prototype using Python and Mab2Rec. While effective for testing algorithms locally, a monolithic script cannot handle production scale. Real-world recommendation systems require low-latency inference for users and high-throughput training for model updates.

This post demonstrates how to decouple these concerns using an event-driven architecture with Apache Flink, Kafka, and Valkey.