問題タブ [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.
apache-flink - Flink SQL の制御ストリーム
ストリーム API を使用すると、制御ストリームとデータ ストリームを受け入れる RichCoFlatMapFunction を記述できます。制御ストリームには、計算の開始または停止または変更パラメーターの要素が含まれます。現在の制御設定を状態に保存できることがわかっています。データストリームを処理するときの値を確認してください。
しかし、Flink SQL で同様のことを行う方法は何ですか? Join をデータ ストリームとして使用できず、制御ストリームを結合できません。
私たちが思いついた解決策は、アプリケーション自体によって制御設定を保存することです。アイデアは次のとおりです。
コントロール ストリームをマップ オペレータにブロードキャストし、コントロール設定をその map() メソッドで Java シングルトン オブジェクトに保存します。マップ オペレータはデフォルトの並列処理で実行されるため、そのジョブのすべての JVM で実行されると想定しています。すべての JVM がシングルトン オブジェクトのコントロール設定を初期化して更新し続けるようにします。
SQL を使用すると、すべての UDAF または UDF について、Java シングルトン オブジェクトにアクセスすることでコントロール設定にアクセスできます。
しかし、私の仮定が正しいかどうかはわかりません。これが実行可能な解決策です。