基本的に、タプルの属性を使用してCouchbaseからいくつかの追加の属性を読み取りたいです。たとえば、タプルには入力フィールド「{a、b、c}」があり、タプル「{a、b、c、d」を出力したい, e}" ここで、"d" と "e" は "a" をキーとして Couchbase から読み取られます。
ただし、Trident BaseFunction はシリアライズ可能ですが、CouchbaseClient はそうではなく、「NotSerializable」例外が発生します。これを回避する方法はありますか? 私が考えることができる2つの可能な解決策があります:
1) Trident の外部で追加の属性を読み取り、それらを一緒に Trident に送信します (この種の処理を Storm に配置したいので、これを行いたくありません)。
2)読み取り専用の状態を使用します(マルチ取得のみを実装し、マルチプットを空白のままにします。これでうまくいくかどうかはわかりません)
これを行う簡単な方法はありますか?これは、Storm 自体で魅力的である必要があり、現実の世界ではかなり一般的です。Cassandra などの他の NoSQL データベースにも適用されます。ありがとう。