This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-09-08
Channels
- # announcements (1)
- # beginners (21)
- # calva (27)
- # cljs-dev (25)
- # clojure (40)
- # clojure-europe (5)
- # clojure-italy (1)
- # clojure-uk (5)
- # clojurescript (9)
- # clojureverse-ops (1)
- # clojutre (1)
- # cursive (15)
- # datomic (9)
- # emacs (28)
- # fulcro (3)
- # jackdaw (5)
- # joker (3)
- # pedestal (1)
- # protorepl (6)
- # shadow-cljs (1)
- # spacemacs (3)
- # sql (1)
- # tools-deps (6)
- # vim (6)
- # yada (1)
Hi, I am playing around with Jackdaw and Willa (and new to them and Kafka) and trying to build a TimeWindowed workflow and having some troubles. How do I define an entity and topology for aggregating by a time window? Here is my attempt munging the Willa example:
(def workflow
[[:input-topic :aggregate-stream]
[:aggregate-stream :output-topic]])
(def entities
{:input-topic {::w/entity-type :topic
:topic-name "timed-readings-topic"
:replication-factor 1
:partition-count 1
:key-serde (serdes.edn/serde)
:value-serde (serdes.edn/serde)}
:aggregate-stream {::w/entity-type :ktable
:willa.core/group-by-fn (fn [[k v]] (:device-number v))
:willa.core/window (TimeWindows/of (* 2 60 1000))}
:output-topic {::w/entity-type :topic
:topic-name "timed-readings-output-topic"
:replication-factor 1
:partition-count 1
:key-serde (serdes.edn/serde)
:value-serde (serdes.edn/serde)}})
When I try to build this topology I get a No method in multimethod 'coerce-to-ktable' for dispatch value: class jackdaw.streams.interop.CljTimeWindowedKStream
exception. Am I doing this right? or on the right path?hi @U066S7PQC, that looks like a bug in Willa to me - I’ll take a look this evening if I have chance 🙂