- カテゴリ:
WAREHOUSE_LOAD_HISTORY¶
このテーブル関数を使用して、指定された日付範囲内の単一のウェアハウスの活動履歴(「クエリ負荷」として定義)をクエリできます。
注釈
この関数は、過去14日以内のウェアハウスアクティビティを返します。
注釈
現在のタイムスタンプから1分以内の日付値を指定すると、不正確な結果になることがあります。
- こちらもご参照ください。
構文¶
WAREHOUSE_LOAD_HISTORY(
[ DATE_RANGE_START => <constant_expr> ]
[, DATE_RANGE_END => <constant_expr> ]
[, WAREHOUSE_NAME => '<string>' ] )
引数¶
すべての引数はオプションです。
DATE_RANGE_START => constant_expr
、 .DATE_RANGE_END => constant_expr
ウェアハウスの負荷履歴データを取得するための、過去14日以内の日付範囲です。
終了日が指定されていない場合は、 CURRENT_DATE が範囲の終了として使用されます。
開始日が指定されていない場合、範囲は
DATE_RANGE_END
の開始10分前に開始します(つまり、デフォルトでは過去10分のロード履歴を表示)。たとえば、DATE_RANGE_END
が CURRENT_DATE の場合、デフォルトのDATE_RANGE_START
は 前日 の11:50 PM です。
範囲が過去15日間外の場合は、エラーが返されます。
注釈
選択した期間が8時間未満の場合、負荷は5秒間隔で表示されます。それ以外の場合は、5分間隔が使用されます。
WAREHOUSE_NAME => 'string'
使用負荷履歴を取得するウェアハウスの名前です。ウェアハウス名は一重引用符で囲む必要があります。また、ウェアハウス名にスペース、大文字と小文字の混在、または特殊文字がある場合、名前は二重引用符を一重引用符内で囲む必要があります(例:
'"My Warehouse"'
と'mywarehouse'
)。デフォルト: CURRENT_WAREHOUSE
使用上の注意¶
この関数から結果を取得するには、次のロールまたは権限のいずれかが必要です。
ACCOUNTADMIN ロールは、すべてのグローバルアカウント権限を持っているため、この関数から結果を取得できます。
ACCOUNT に対する MONITOR USAGE グローバル権限を持つロールは、アカウント内のすべてのウェアハウスについてこの関数をクエリできます。
WAREHOUSE に対する MONITOR 権限を持つロールは、権限のあるウェアハウスに対してこの関数をクエリできます。
WAREHOUSE に対する OWNERSHIP 権限を持つロールには、 MONITORを含むウェアハウスに対するすべての権限があります。
詳細については、 アクセス制御権限 をご参照ください。
情報スキーマテーブル関数を呼び出す場合、セッションには使用中の INFORMATION_SCHEMA スキーマ または 完全修飾の関数名が必要です。詳細については、 Snowflake Information Schema をご参照ください。
出力¶
注釈
この関数の出力列の場合、クエリ負荷値は、間隔内の特定の状態にあるすべてのクエリの合計実行時間(秒)と、その間隔の合計時間(秒)の比率です。
たとえば、276秒が、5分(300秒)間隔のクエリ4つの合計時間である場合、クエリ負荷値は276/300=0.92です。
この関数は、次の列を返します。
列名 |
データ型 |
説明 |
---|---|---|
START_TIME |
TIMESTAMP_LTZ |
ウェアハウスが使用が行われた、指定された時間範囲の開始です(UTC タイムゾーン)。 |
END_TIME |
TIMESTAMP_LTZ |
ウェアハウスの使用が行われた、指定された時間範囲の終了です(UTC タイムゾーン)。 |
WAREHOUSE_NAME |
TEXT |
ウェアハウスの名前。 |
AVG_RUNNING |
NUMBER(38,2) |
実行されたクエリのクエリ負荷値。 |
AVG_QUEUED_LOAD |
NUMBER(38,2) |
ウェアハウスが過負荷になったためにキューに入れられたクエリのクエリ負荷値。 |
AVG_QUEUED_PROVISIONING |
NUMBER(38,2) |
ウェアハウスがプロビジョニングされていたためにキューに入れられたクエリのクエリ負荷値。 |
AVG_BLOCKED |
NUMBER(38,2) |
トランザクションロックによってブロックされたクエリのクエリ負荷値。 |
例¶
セッションで現在使用中のウェアハウスの過去1時間の負荷履歴を5秒間隔で取得します。
use warehouse mywarehouse; select * from table(information_schema.warehouse_load_history(date_range_start=>dateadd('hour',-1,current_timestamp())));
セッションで現在使用中のウェアハウスの過去14日間の負荷履歴を5分間隔で取得します。
use warehouse mywarehouse; select * from table(information_schema.warehouse_load_history(date_range_start=>dateadd('day',-14,current_date()), date_range_end=>current_date()));