問題タブ [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 に答える
310 参照

apache-flink - Flink SQL の制御ストリーム

ストリーム API を使用すると、制御ストリームとデータ ストリームを受け入れる RichCoFlatMapFunction を記述できます。制御ストリームには、計算の開始または停止または変更パラメーターの要素が含まれます。現在の制御設定を状態に保存できることがわかっています。データストリームを処理するときの値を確認してください。

しかし、Flink SQL で同様のことを行う方法は何ですか? Join をデータ ストリームとして使用できず、制御ストリームを結合できません。

私たちが思いついた解決策は、アプリケーション自体によって制御設定を保存することです。アイデアは次のとおりです。

  1. コントロール ストリームをマップ オペレータにブロードキャストし、コントロール設定をその map() メソッドで Java シングルトン オブジェクトに保存します。マップ オペレータはデフォルトの並列処理で実行されるため、そのジョブのすべての JVM で実行されると想定しています。すべての JVM がシングルトン オブジェクトのコントロール設定を初期化して更新し続けるようにします。

  2. SQL を使用すると、すべての UDAF または UDF について、Java シングルトン オブジェクトにアクセスすることでコントロール設定にアクセスできます。

しかし、私の仮定が正しいかどうかはわかりません。これが実行可能な解決策です。