カテゴリ:

Information Schemaテーブル関数

COPY_HISTORY

このテーブル関数を使用して、さまざまなディメンションに沿って過去14日間のSnowflakeデータのロード履歴をクエリできます。この関数は、 Snowpipe を使用して、 COPY INTO <テーブル> ステートメントと連続データロードの両方のロードアクティビティを返します。テーブル関数は、 LOAD_HISTORY ビュー の10,000行の制限を回避します。結果は、 SQL 述語を使用してフィルタリングできます。

また、 Snowsight でデータロードの詳細を表示することもできます。 コピー履歴を使用してデータロードのアクティビティをモニターする をご参照ください。

構文

COPY_HISTORY(
      TABLE_NAME => '<string>'
       , START_TIME => <constant_expr>
      [, END_TIME => <constant_expr> ] )
Copy

引数

必須:

TABLE_NAME => 'string'

テーブル名を指定する文字列です。

START_TIME => constant_expr

過去14日以内のタイムスタンプ( TIMESTAMP_LTZ 形式)です。ロードイベントを取得するための時間範囲の開始をマークします。

オプション:

END_TIME => constant_expr

過去14日以内のタイムスタンプ( TIMESTAMP_LTZ 形式)です。ロードイベントを取得するための時間範囲の終了をマークします。

デフォルト: CURRENT_TIMESTAMP

使用上の注意

  • 一括データロードの場合、この関数は、Snowflakeアカウントに対する MONITOR 権限を持つロール、 または スキーマとデータベースに対する USAGE 権限とテーブルに対する任意の権限を持つロールの結果を返します。

  • Snowpipeデータロードの場合、この関数は、Snowflakeアカウントに対する MONITOR 権限を持つロール、 または パイプを含むスキーマおよびデータベースに対する USAGE 権限とテーブルに対する任意の権限を持つロールの結果を返します。さらに、パイプ上の MONITOR が使用できない場合、パイプ名、パイプテーブル名、パイプスキーマ名、パイプカタログ名は NULL としてマスクされます。

  • Information Schemaテーブル関数を呼び出す場合、セッションには使用中の INFORMATION_SCHEMA スキーマ または 完全修飾の関数名が必要です。詳細については、 Snowflake Information Schema をご参照ください。

  • このビューは、14日を上限としたコピー履歴を返します。この制限を回避するには、 COPY_HISTORY ビュー (Account Usage)を使用します。

  • 関数には、エラーの有無にかかわらず完了するまで実行された COPY INTO コマンドのみが含まれます。

  • テーブルオブジェクトをドロップまたは再作成すると、テーブルへの一括データロード(COPY INTO <テーブル> ステートメント)の履歴データがドロップされます。

  • パイプオブジェクトをドロップまたは再作成すると、パイプを使用したSnowpipeデータロードの履歴データがドロップされます。

出力

この関数は、次の列を返します。

列名

データ型

説明

FILE_NAME

TEXT

ソースファイルの名前とファイルへの相対パス。

STAGE_LOCATION

TEXT

ソースファイルが配置されているステージの名前。

LAST_LOAD_TIME

TIMESTAMP_LTZ

ファイルのロードが終了した日時。

ROW_COUNT

NUMBER

ソースファイルからロードされた行の数。

ROW_PARSED

NUMBER

ソースファイルから解析された行数(STATUS が Load in progress の場合は NULL)。

FILE_SIZE

NUMBER

ロードされたソースファイルのサイズ(単位: バイト)。

FIRST_ERROR_MESSAGE

TEXT

ソースファイルの最初のエラー。

FIRST_ERROR_LINE_NUMBER

NUMBER

最初のエラーの行番号。

FIRST_ERROR_CHARACTER_POS

NUMBER

最初のエラー文字の位置。

FIRST_ERROR_COLUMN_NAME

TEXT

最初のエラーの列名。

ERROR_COUNT

NUMBER

ソースファイル内のエラー行の数。

ERROR_LIMIT

NUMBER

エラーの数がこの制限に達した場合、中止します。

STATUS

TEXT

ステータス: Load in progressLoadedLoad failedPartially loaded、または Load skipped

TABLE_CATALOG_NAME

TEXT

ターゲットテーブルが存在するデータベースの名前。

TABLE_SCHEMA_NAME

TEXT

ターゲットテーブルが存在するスキーマの名前。

TABLE_NAME

TEXT

ターゲットテーブルの名前。

PIPE_CATALOG_NAME

TEXT

パイプが存在するデータベースの名前。

PIPE_SCHEMA_NAME

TEXT

パイプが存在するスキーマの名前。

PIPE_NAME

TEXT

ロードパラメーターを定義するパイプの名前。 COPY ステートメントのロードの場合は NULL

PIPE_RECEIVED_TIME

TIMESTAMP_LTZ

パイプ経由でロードされたファイルの INSERT リクエストが受信された日時。 COPY ステートメントロードの場合は、 NULL

過去1時間のすべてのロードのアクティビティに関する詳細を取得します。

select *
from table(information_schema.copy_history(TABLE_NAME=>'MYTABLE', START_TIME=> DATEADD(hours, -1, CURRENT_TIMESTAMP())));
Copy