1
リーマンでストリームを処理していて、すべてのフィールドが文字列です。しかし、私はいくつかのフィールドでいくつかの数値比較を実行したいと思います。そこで私はフロートでそれらを変換しようとしました。フロート内の文字列をリーマンで変換する。
のは、私のストリームがそのようなものであるとしましょう:私はこのようなものでriemann.conf
ファイルを変更しようとした
#riemann.codec.Event{:host "myHost", :service nil, :state nil, :description "my description", :pred_score "0.156"}
:
(streams
(with :new_field (read-string :pred_score))
prn)
は、しかし、私はいくつかのエラーを持って、私はこのように感じますこれを行う正しい方法ではありません。私は最近、私が
smap
または
adjust
を使用すべきだと思うようにいくつかのものを読んだが、わからない。
私はまったくの方法でクロージャに精通していません。 (実際に私はリーマンとそれを発見した)。
問題に対処する方法はありますか。
ありがとうございます。
Robin。
あなたは(https://meta.stackoverflow.com/questions/298734/is-it-acceptable-to [ライブラリの作者です免責条項を追加]すべきです-promote-my-own-library-as-a-real-answer#comment217878_298743)。あなたの答えのための –
おかげで多くは、しかし、私はまだエラーを取得: 'clojure.lang.Compiler $ CompilerException:java.lang.NullPointerException' ここでは私の構文は次のとおりです。 '(ダブル(>(場合( ストリーム/ parseDouble(:pred_scoreイベント))0.5)PRN) ) ' 私はClojureの構文と間違って何かをしたか、それが原因私が台無しにいくつかのリーマンの設定に誤りであるでしたか? –
'event'が定義されていない(つまり' nil')という単純なことがありますか?そのような問題を見るためには、コード全体を貼り付ける必要があります。単に '(println" event = "event")と入力してみてください。 –