- カテゴリ:
VALIDATE_PIPE_LOAD¶
このテーブル関数は、指定された時間範囲内で Snowpipe によって処理されたデータファイルを検証するために使用できます。この関数は、Snowflakeテーブルへのデータロード試行中に発生したエラーに関する詳細を返します。
注釈
この関数は、過去14日以内のパイプアクティビティを返します。
構文¶
VALIDATE_PIPE_LOAD(
PIPE_NAME => '<string>'
, START_TIME => <constant_expr>
[, END_TIME => <constant_expr> ] )
引数¶
PIPE_NAME => string
パイプを指定する文字列です。この関数は、指定されたパイプの結果のみを返します。
START_TIME => constant_expr
過去14日以内のタイムスタンプ( TIMESTAMP_LTZ 形式)です。エラーイベントを取得するための時間範囲の開始をマークします。
オプション:
END_TIME => constant_expr
過去14日以内のタイムスタンプ( TIMESTAMP_LTZ 形式)です。エラーイベントを取得するための時間範囲の終了をマークします。
使用上の注意¶
パイプ所有者(つまり、パイプの OWNERSHIP 権限を持つロール) または 次の最小権限を持つロールの結果のみを返します。
権限
オブジェクト
メモ
MONITOR
パイプ
または、グローバル MONITOR EXECUTION 権限がサポートされています。
USAGE
パイプ定義のステージ
外部ステージのみ
READ
パイプ定義のステージ
内部ステージのみ
SELECT
パイプ定義にあるテーブル
INSERT
パイプ定義にあるテーブル
スキーマオブジェクトでの SQL 操作には、オブジェクトを含むデータベースとスキーマに対する USAGE 権限も必要です。
Information Schemaテーブル関数を呼び出す場合、セッションには使用中の INFORMATION_SCHEMA スキーマ または 完全修飾された関数名が必要です。詳細については、 Snowflake Information Schema をご参照ください。
指定した時間範囲内のデータファイルの処理中にSnowpipeでエラーが発生しなかった場合、関数は結果を返しません。
パイプ記述の COPY ステートメントに、ロード中にデータをさらに変換するクエリ(つまり COPY 変換)が含まれている場合、関数は、現在ユーザーエラーを返します。
指定した日付範囲が過去15日間外の場合、エラーが返されます。
出力¶
この関数は、次の列を返します。
列名 |
データ型 |
説明 |
---|---|---|
ERROR |
TEXT |
ソースファイルの最初のエラー。 |
FILE |
TEXT |
エラーが発生したソースファイルの名前。 |
LINE |
NUMBER |
エラーが発生したソースファイル内の行の番号。 |
CHARACTER |
NUMBER |
エラーが発生した文字の位置。 |
BYTE_OFFSET |
NUMBER |
エラーが発生した文字へのバイトオフセット。 |
CATEGORY |
TEXT |
エラーが発生したときの操作のカテゴリ。 |
CODE |
NUMBER |
ERROR 列に表示されるエラーメッセージのID 。 |
SQL_STATE |
NUMBER |
SQL 状態コード。 |
COLUMN_NAME |
TEXT |
エラーが含まれていた列の名前と順序。 |
ROW_NUMBER |
NUMBER |
エラーが発生したソースファイル内の行の番号。 |
ROW_START_LINE |
NUMBER |
エラーが発生した行の最初の行の番号。 |
REJECTED_RECORD |
TEXT |
エラーを含むレコード。 |
例¶
過去1時間以内の mypipe
パイプの負荷を検証します。
select * from table(validate_pipe_load( pipe_name=>'MY_DB.PUBLIC.MYPIPE', start_time=>dateadd(hour, -1, current_timestamp())));