- カテゴリ:
AUTOMATIC_CLUSTERING_HISTORY¶
このテーブル関数は、指定された日付範囲内の特定のテーブルの 自動クラスタリング 履歴をクエリするために使用されます。関数によって返される情報には、消費されたクレジット、更新されたバイト、テーブルが再クラスター化されるたびに更新された行が含まれます。
構文¶
AUTOMATIC_CLUSTERING_HISTORY(
[ DATE_RANGE_START => <constant_expr> ]
[ , DATE_RANGE_END => <constant_expr> ]
[ , TABLE_NAME => '<string>' ] )
引数¶
すべての引数はオプションです。
DATE_RANGE_START => constant_expr
、 .DATE_RANGE_END => constant_expr
自動クラスタリング履歴を表示する日付/時刻範囲です。たとえば、開始日を2019-04-03、終了日を2019-04-05と指定すると、4月3日、4月4日、4月5日のデータが取得されます。(エンドポイントを含む。)
開始日も終了日も指定されていない場合、過去12時間がデフォルトです。
終了日は指定されていないが、開始日は指定されている場合は、 CURRENT_DATE の午前0時が範囲の終了として使用されます。
開始日は指定されていないが、終了日は指定されている場合、範囲は
DATE_RANGE_END
の開始12時間前に開始します。
TABLE_NAME => string
テーブル名です。指定した場合、指定したテーブルの履歴のみを表示します。テーブル名には、スキーマ名とデータベース名を含めることができます。
テーブル名が指定されていない場合、結果には、指定された時刻範囲内で自動クラスタリングサービスによって維持される各テーブルの履歴が含まれます。
使用上の注意¶
ACCOUNTADMIN ロールまたは MONITOR USAGE グローバル権限が明示的に付与されているロールの結果のみを返します。
注釈
MONITOR USAGE 権限を持つロールは、オブジェクトごとのクレジット使用状況を表示できますが、オブジェクト名は表示できません。この関数によって名前が返されるようにするには、オブジェクトのロールに SELECT も付与する必要があります。ロールにオブジェクト名を表示するための十分な権限がない場合、オブジェクト名は「unknown_#」などの代替名で表示される場合があります。「#」は1桁以上を表します。
情報スキーマテーブル関数を呼び出す場合、セッションには使用中の INFORMATION_SCHEMA スキーマ または 完全修飾の関数名が必要です。詳細については、 Snowflake Information Schema をご参照ください。
履歴は1時間単位で表示されます。
出力¶
この関数は、次の列を返します。
列名 |
データ型 |
説明 |
---|---|---|
START_TIME |
TIMESTAMP_LTZ |
指定された時間範囲の開始です。 |
END_TIME |
TIMESTAMP_LTZ |
指定された時間範囲の終了です。 |
TABLE_NAME |
TEXT |
テーブルの名前。関数にテーブル名が指定されていない場合は NULL を表示します。この場合、いずれかの行には、時間範囲内で使用中のすべてのテーブルの合計が含まれます。 |
CREDITS_USED |
NUMBER |
START_TIME から END_TIME の期間に自動クラスタリングに対して請求されたクレジットの数です。 |
NUM_BYTES_RECLUSTERED |
NUMBER |
START_TIME から END_TIME の期間に再クラスター化されたバイト数です。 |
NUM_ROWS_RECLUSTERED |
NUMBER |
START_TIME からEND_TIME の期間に再クラスター化されロードされた行の数です。 |
例¶
アカウントの1時間範囲の自動クラスタリング履歴を取得します。
select * from table(information_schema.automatic_clustering_history( date_range_start=>'2018-04-10 13:00:00.000 -0700', date_range_end=>'2018-04-10 14:00:00.000 -0700'));
アカウントの過去12時間の自動クラスタリング履歴を1時間周期で取得します。
select * from table(information_schema.automatic_clustering_history( date_range_start=>dateadd(H, -12, current_timestamp)));
アカウントの過去1週間の自動クラスタリング履歴を取得します。
select * from table(information_schema.automatic_clustering_history( date_range_start=>dateadd(D, -7, current_date), date_range_end=>current_date));
アカウント内の指定されたテーブルの過去1週間の自動クラスタリング履歴を取得します。
select * from table(information_schema.automatic_clustering_history( date_range_start=>dateadd(D, -7, current_date), date_range_end=>current_date, table_name=>'mydb.myschema.mytable'));