avgMergeState
説明
MergeState
コンビネータは
avg
関数に適用され、AverageFunction(avg, T)
型の部分集約状態を結合し、新しい中間集約状態を返します。
使用例
MergeState
コンビネータは、事前に集約された状態を結合し、それをさらなる処理のために状態として保持したいマルチレベルの集約シナリオに特に役立ちます。ここでは、個々のサーバーのパフォーマンス指標を複数のレベルにわたる階層的集約に変換する例を見てみましょう:サーバーレベル → リージョンレベル → データセンターレベル。
まず、原データを格納するテーブルを作成します。
サーバーレベルの集約ターゲットテーブルを作成し、そこに挿入トリガーとして機能するインクリメンタル Materialized View を定義します。
地域およびデータセンターレベルについても同様に行います。
次に、ソーステーブルにサンプルの生データを挿入します。
各レベルに対して3つのクエリを書きます。
- Service level
- Regional level
- Datacenter level
さらにデータを挿入します。
データセンターレベルのパフォーマンスを再度確認します。集約チェーン全体が自動的に更新される様子に注意してください。