COPY_HISTORY 视图¶
此 Account Usage 视图可用于查询过去 365 天(1 年)的 Snowflake 数据加载历史记录。该视图显示 COPY INTO <table> 语句和使用 Snowpipe 的连续数据加载的加载活动。该视图避免了 LOAD_HISTORY 视图 的 10,000 行限制。
您还可以在 Snowsight 中查看数据加载详细信息。请参阅 使用复制历史记录监控数据加载活动。
列¶
列名称 |
数据类型 |
描述 |
---|---|---|
FILE_NAME |
TEXT |
源文件的名称和文件的相对路径。 |
STAGE_LOCATION |
TEXT |
源文件所在的暂存区的名称。 |
LAST_LOAD_TIME |
TIMESTAMP_LTZ |
文件完成加载的日期和时间。 |
ROW_COUNT |
NUMBER |
从源文件加载的行数。 |
ROW_PARSED |
NUMBER |
从源文件中解析的行数;如果 STATUS 为 |
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 |
状态: |
TABLE_ID |
NUMBER |
内部/系统为目标表生成的标识符。 |
TABLE_NAME |
TEXT |
目标表的名称。TABLE_NAME |
TABLE_SCHEMA_ID |
NUMBER |
Snowflake 为表架构生成的内部标识符。 |
TABLE_SCHEMA_NAME |
TEXT |
目标表所在的架构的名称。 |
TABLE_CATALOG_ID |
NUMBER |
内部/系统为表的数据库生成的标识符。 |
TABLE_CATALOG_NAME |
TEXT |
目标表所在的数据库的名称。 |
PIPE_CATALOG_NAME |
TEXT |
管道所在的数据库的名称。 |
PIPE_SCHEMA_NAME |
TEXT |
管道所在的架构的名称。 |
PIPE_NAME |
TEXT |
定义加载参数的管道名称;对于 COPY 语句加载,该名称为 |
PIPE_RECEIVED_TIME |
TIMESTAMP_LTZ |
收到通过管道加载的文件的 INSERT 请求的日期和时间;对于 COPY 语句加载,则为 |
FIRST_COMMIT_TIME |
TIMESTAMP_LTZ |
提交文件第一个块时的日期和时间。Snowpipe 可以加载单独提交的多个块中的文件。 |
使用说明¶
在大多数情况下,视图的延迟时间最长可达 120 分钟(2 小时)。如果满足以下两个条件,则给定表的复制历史记录的延迟可能长达 2 天:
自上次在 COPY_HISTORY 中更新以来,添加到给定表中的 DML 语句少于 32 条。
自上次在 COPY_HISTORY 中更新以来,添加到给定表中的行数少于 100 行。
该视图仅包括已执行并完成的 COPY INTO 命令,无论是否出错。
弃用或重新创建表对象会删除批量数据加载(COPY INTO <table> 语句)到表中的历史数据。
弃用或重新创建管道对象将移除使用管道的 Snowpipe 数据加载的历史数据。
该视图仅显示会话的当前角色已被授予访问权限的对象。
对复制历史记录进行复制后,COPY_HISTORY Account Usage 视图仅显示目标表上最近一次截断操作后的历史记录。这与没有复制的视图不同,后者可显示完整的复制历史记录。
示例¶
检索最近执行的 10 个 COPY INTO 命令的记录:
select file_name, error_count, status, last_load_time from snowflake.account_usage.copy_history
order by last_load_time desc
limit 10;