問題タブ [flink-sql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
217 参照

apache-flink - Yarn で Flink を実行する

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