0

Yarn で Flink(1.4.2) を実行しています。ジョブを Yarn Cluster に送信するために Flink Yarn Client を使用しています。

4 つのスロットを持つ TM があり、2 つのコンテナー (1 つの JM と 1 つの TM) で parallelism=4 の flink ジョブをデプロイするとします。各並列インスタンスは、TM 内の 1 つのタスク スロットにデプロイされます (スロットごとに実行されるジョブ パイプライン全体)。

私のジョブは結合 (非キーストリームでの SQL タイムウィンドウ結合) を実行し、最後の 3 時間のデータをバッファリングします。Flinkのドキュメントに従ってthe separate threads running in different task slot share data sets and data structures, thus reducing the per-task overhead.

私の質問は、異なるタスクスロットで実行されているこれらのスレッドが、結合のためにバッファリングされたこのデータを共有するかどうかです。これらのスレッド間で共有されるすべてのデータ。

編集

サンプルクエリ -

SELECT R.order_id, S.order.restaurant_id FROM awz_s3_stream1 R INNER JOIN awz_s3_stream2 S ON CAST(R.order_id AS VARCHAR) = S.order_id AND R.proctime BETWEEN S.proctime - INTERVAL '2' HOUR AND S.proctime + INTERVAL '2' HOUR GROUP BY HOP(S.proctime, INTERVAL '2' MINUTE, INTERVAL '1' HOUR), S.注文.restaurant_id

4

1 に答える 1