类别:

Information Schema表函数

VALIDATE_PIPE_LOAD

此表函数可用于验证指定时间范围内 Snowpipe 处理的数据文件。该函数返回有关在尝试将数据加载到 Snowflake 表过程中遇到的任何错误的详细信息。

备注

此函数返回过去 14 天内的管道活动。

语法

VALIDATE_PIPE_LOAD(
      PIPE_NAME => '<string>'
       , START_TIME => <constant_expr>
      [, END_TIME => <constant_expr> ] )
Copy

实参

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

包含错误的记录。

示例

验证前一小时内 mypipe 管道的所有下载:

select * from table(validate_pipe_load(
  pipe_name=>'MY_DB.PUBLIC.MYPIPE',
  start_time=>dateadd(hour, -1, current_timestamp())));
Copy
语言: 中文