メインコンテンツへスキップ

説明

MergeState コンビネータは、 avg 関数に適用でき、AverageFunction(avg, T) 型の部分的な集約状態をマージして、 新しい中間集約状態を返します。

使用例

MergeState コンビネータ は、多段階の集計シナリオで特に有用です。事前に集計された状態を結合し、それらを後続の処理のために状態のまま (最終化せずに) 維持したい場合に役立ちます。これを示すために、個々のサーバーのパフォーマンスメトリクスを、複数レベルにまたがる階層的な集計へと変換する例を見ていきます。サーバーレベル → Region レベル → データセンターレベルです。 まず、生データを格納するためのテーブルを作成します。
サーバーレベルの集約用ターゲットテーブルを作成し、それに対する insert トリガーとして機能する Incremental materialized view を定義します:
リージョンレベルとデータセンターレベルについても、同様に行います:
次に、生のサンプルデータをソーステーブルに挿入します。
各レベルごとに、3つのクエリを書きます:
さらにデータを挿入できます:
データセンターレベルのパフォーマンスをもう一度確認してみましょう。集計チェーン全体が自動的に更新されていることがわかります。

関連項目

最終更新日 2026年7月2日