~/talk

Practical Pipelines: A Houseplant Alerting System with ksqlDB.

Talkat Scale By the Bay 2023 · 2023-11-13..11-15· [data-engineering]
slides:none on file

Build uses a Raspberry Pi and cheap I2C capacitive moisture sensors feeding Avro-encoded readings into a managed Apache Kafka cluster, with ksqlDB doing stateful joins and windowed aggregates and Kafka Connect pushing Telegram messages. Sampling runs every 30 seconds for ~40–50 plants, but sensors’ I2C sensors limited to four addresses forces a mapping workaround; ksqlDB counts low readings over non-overlapping six-hour windows and requires 120 low samples before alerting, using emit final windowing to avoid repeated pings — alerts arrive via Telegram and the pipeline works end-to-end.

AI-written summary · about

  1. 0:00Introduction and motivation
  2. 3:54What is Apache Kafka
  3. 5:40Hardware setup and sensors
  4. 7:45Defining data schemas
  5. 9:51Producing data to Kafka
  6. 11:57Storing metadata in Kafka
  7. 13:01Using Telegram for data entry
  8. 16:09Dynamic sensor mapping
  9. 17:56Consuming sensor mappings
  10. 20:25Stream processing options
  11. 21:48Setting up ksqlDB tables
  12. 23:13Joining data streams
  13. 25:19Alert logic with windows
  14. 28:32Sending alerts via Kafka Connect
  15. 29:55Key takeaways and resources
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.