私は、キーとタイムスタンプを持つストリームがあると仮定します。これらのキーのデカルト積を各ウィンドウ(スライディングウィンドウ)に作成したいと思います。私は、キー1,2,3,4と私は2つの並列処理を設定しているを持っている場合は、私は次のように「グループ」、それらをしたい:フライングストリーミング - ストリームのデカルト積と窓掛け
1 - 2 2 - 3
1 - 3 2 - 4
1 - 4 3 - 4
そして、私はグループごとあたりの要素を処理したいです窓。上の要素(1,2,3,4)がタイムスタンプに基づいて同じウィンドウ内にあると想像してください。
最も単純な形で私の質問は、各スライディングウィンドウ(いくつかのキーが含まれているかもしれません)にいくつかの要素がある場合、上記の例のようにこれらのキーの組み合わせを作成し、 。私がこれまで試してみました何
は、
.assignAscendingTimestamps(...)
.keyBy(...)
.timeWindow(Time.seconds(5),Time.seconds(5))
.apply(...)
の使用であるが、これは唯一のキーごとにアルゴリズムを適用する、プラスの組み合わせを作成することができません。
私はこの文書を見てきました。:P.S:https://cwiki.apache.org/confluence/display/FLINK/Streams+and+Operations+on+Streams
と私は離散化ストリームがトリックが行うだろう述べたと思いますが、彼らはFLINK 1.2(または他のバージョン)では使用できません。
たぶん私はこの権利を取得しますが、**あなたは 'timeWindow'上を作成するので**、与えられた例では動作することはできません「(複数のキーが含まれる可能性があります)各スライディングウィンドウ内のいくつかの要素与えられ」ていませんよ'KeyedStream'です。したがって、 'timeWindow'内のすべての要素はまったく同じキーを持ちます。 – Patze
あなたは正しく理解しています。各スライディングウィンドウに複数のキーが必要です。ストリームがあれば、可能なすべてのペアを作成し、これらのペアをスライディングウィンドウで処理したいと考えています。 –