WLM システムテーブルとビュー - Amazon Redshift

WLM システムテーブルとビュー

WLM は、内部で定義されている WLM サービスクラスに従ってクエリキューを設定します。Amazon Redshift は、WLM 設定で定義されたキューとともに、これらのサービスクラスに従っていくつかの内部キューを作成します。キューおよびサービスクラスという用語は、通常、システムテーブルでは同じ意味で使用されます。スーパーユーザーキューは、サービスクラス 5 を使用します。ユーザー定義キューは、サービスクラス 6 以上を使用します。

クエリ、キュー、およびサービスクラスは、WLM に固有のシステムテーブルを使用して確認できます。次の操作を実行するには、次のテーブルに対してクエリを実行します。

  • ワークロードマネージャーによって追跡されているクエリと、割り当てられているリソースを確認する。

  • クエリの割り当て先のキューを確認する。

  • 現在、ワークロードマネージャーによって追跡されているクエリのステータスを確認する。

テーブル名 説明
STL_WLM_ERROR WLM 関連エラーイベントのログを含みます。
STL_WLM_QUERY WLM によって追跡されているクエリをリストします。
STV_WLM_CLASSIFICATION_CONFIG WLM 用の現在の分類ルールを表示します。
STV_WLM_QUERY_QUEUE_STATE クエリキューの現在の状態を記録します。
STV_WLM_QUERY_STATE WLM によって追跡されているクエリの現在の状態のスナップショットを提供します。
STV_WLM_QUERY_TASK_STATE クエリタスクの現在の状態を含みます。
STV_WLM_SERVICE_CLASS_CONFIG WLM のサービスクラス設定を記録します。
STV_WLM_SERVICE_CLASS_STATE サービスクラスの現在の状態を表示します。
STL_WLM_RULE_ACTION レコードは、ユーザー定義のキューに関連付けられた WLM クエリモニタリングルールによって生じたアクションの詳細を示します。
STV_WLM_QMR_CONFIG WLM クエリモニタリングルール (QMR) の構成を記録します。

システムテーブルのクエリを追跡するには、タスク ID を使用します。次の例に、最近送信されたユーザークエリのタスク ID を取得する方法を示します。

select task from stl_wlm_query where exec_start_time =(select max(exec_start_time) from stl_wlm_query); task ------ 137 (1 row)

次の例では、現在実行中あるいは複数のサービスクラス (キュー) を待機中のクエリを表示しています。このクエリは、Amazon Redshift の全体的な同時実行ワークロードを追跡するのに役立ちます。

select * from stv_wlm_query_state order by query; xid |task|query|service_| wlm_start_ | state |queue_ | exec_ | | |class | time | |time | time ----+----+-----+--------+-------------+---------+-------+-------- 2645| 84 | 98 | 3 | 2010-10-... |Returning| 0 | 3438369 2650| 85 | 100 | 3 | 2010-10-... |Waiting | 0 | 1645879 2660| 87 | 101 | 2 | 2010-10-... |Executing| 0 | 916046 2661| 88 | 102 | 1 | 2010-10-... |Executing| 0 | 13291 (4 rows)

WLM サービスクラス ID

次の表は、サービスクラスに割り当てられている ID の一覧です。

ID サービスクラス
1~4 将来の利用のために予約されています。
5 スーパーユーザーキューで使用します。
6~13 WLM 設定で定義されている手動 WLM キューで使用します。
14 ショートクエリアクセラレーションで使用します。
15 Amazon Redshift で実行されるメンテナンスアクティビティ用に予約されています。
100~107 auto_wlm が true の場合に自動 WLM キューで使用します。