Clojure Storm Flux

Я недавно начал работать с Apache Storm. Я использую Storm с Clojure Storm DSL и Leiningen.

Существует очень классный инструмент для управления топологией штормов: Storm Flux.

Мой вопрос: как я могу использовать flux, когда кодирую в шторм с clojure?

1 ответ

Решение

Я нашел решение:

(ns your.namespace.boltname
  (:use
    [org.apache.storm clojure config])
  (:gen-class :implements [org.apache.storm.topology.IRichBolt]))

(defbolt my-bolt
         ["data"]
         [tuple collector]
         (emit-bolt! collector [(f (.getString tuple 0))] :anchor tuple)
         (ack! collector tuple))

(defn -execute [this tuple]
 (.execute my-bolt tuple))

(defn -prepare [this conf context collector]
 (.prepare my-bolt conf context collector))

(defn -cleanup [this]
 (.cleanup my-bolt))

(defn -declareOutputFields [this output]
 (.declareOutputFields my-bolt output))

(defn -getComponentConfiguration [this]
 (.getComponentConfiguration my-bolt))

не забудьте добавить :aot :all в your project.clj,

И в вашем потоке topology.yaml что-то вроде:

...
bolts:
  - id: "myBolt"
    className: "your.namespace.boltname"
    parallelism: 1
...

Это все:)

Другие вопросы по тегам