カテゴリ:

情報スキーマテーブル関数

COPY_HISTORY

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

注釈

この関数は、過去14日間のデータロードのアクティビティを返します。

構文

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

引数

必須:

TABLE_NAME => '文字列'

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

START_TIME => 定数式

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

オプション:

END_TIME => 定数式

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

デフォルト: CURRENT_TIMESTAMP

使用上の注意

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

出力

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

列名

データ型

説明

FILE_NAME

TEXT

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

STAGE_LOCATION

TEXT

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

LAST_LOAD_TIME

TIMESTAMP_LTZ

ロードレコードの日付と時刻です。一括データロードの場合、これはファイルがロードを開始した時間です。Snowpipeの場合、これはファイルのロードが完了した時間です。

ROW_COUNT

NUMBER

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

ROW_PARSED

NUMBER

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

FILE_SIZE

NUMBER

パイプを介してロードされるソースファイルのサイズ(単位:バイト)です。 COPY ステートメントのロードでは NULL になります。

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())));