こんにちは私は、Sparkが外出先の検出にStreamingKMeansを適用するためにKafkaからの着信データの処理を大量に行うことができる展開を計画しています。mapWithStateを使用して複数のKMeansをストリーミングする
しかし、Kafkaトピックからのデータはさまざまなソースから届くため、異なるKMeansモデル(州)を必要とするさまざまなデータ構造が定義されています。したがって、着信離散RDDの各エントリは、「キー」フィールド(基本的には単一のイベント処理が必要)に基づいて、独自のKMeansモデルを通過する必要があります。
Sparkでこのような処理を行うことはできますか?はいの場合は、最後にSparkの並列処理を利用していますか?私はSparkとScalaのかなり初心者で、何かが欠けているように感じます。
ありがとうございます。
UPDATE:
私は現在、この問題を解決するようだmapWithState
オペレータに探しています。質問は:私は直接StreamingKmeansモデルを状態に保存できますか?さもなければ、私は重心を保存し、高価に見える状態更新機能で新しいモデルをインスタンス化する必要があります。
ありがとうございます。一般的に、このアプリケーションレイヤではデータが元のソースに依存するため、キーは予測できず、実行時に別のアプリケーションレイヤによってKafkaソースが追加されます。 3番目のパーティーオプション(何か?)やFlinkへの移行のアドバイスはありますか? Flinkは私の意見ではこのケースにもっと適しているようです... – Peterdeka
ああ、多分私はあなたがスパークと友人を使用していないことを意味していた第三者の事で誤解されていますか?それは私の最初の選択でした...:D – Peterdeka
私はここに偏っています。私はFlinkを試してみました。私はAPIの設計が嫌いでした。それを無視して、AFAIKはこの特定のシナリオに対処できる方法を提供していません。私は間違っている可能性があります。ローカルのlibsについて - Elkiは一般的にまともですが、ドキュメントは素晴らしいものではありません。 – zero323