COPY_HISTORY 视图¶
此 Account Usage 视图可用于查询过去 365 天(1 年)的 Snowflake 数据加载历史记录。该视图显示 COPY INTO <table> 语句和使用 Snowpipe 的连续数据加载的加载活动。该视图避免了 LOAD_HISTORY 视图 的 10,000 行限制。
您还可以在 Snowsight 中查看数据加载详细信息。请参阅 使用复制历史记录监控数据加载活动。
列¶
列名称 |
数据类型 |
描述 |
|---|---|---|
FILE_NAME |
VARCHAR |
源文件的名称和文件的相对路径。 |
STAGE_LOCATION |
VARCHAR |
源文件所在的暂存区的名称。 |
LAST_LOAD_TIME |
TIMESTAMP_LTZ |
文件完成加载的日期和时间。 |
ROW_COUNT |
NUMBER |
从源文件加载的行数。 |
ROW_PARSED |
NUMBER |
从源文件中解析的行数;如果 STATUS 为 |
FILE_SIZE |
NUMBER |
Observed size of the source file in the internal or external stage before it loads. If the file is compressed, this shows the compressed size. If the file is uncompressed, this shows the uncompressed size. |
FIRST_ERROR_MESSAGE |
VARCHAR |
源文件的第一个错误。 |
FIRST_ERROR_LINE_NUMBER |
NUMBER |
第一个错误的行号。 |
FIRST_ERROR_CHARACTER_POS |
NUMBER |
第一个错误字符的位置。 |
FIRST_ERROR_COLUMN_NAME |
VARCHAR |
第一个错误的列名称。 |
ERROR_COUNT |
NUMBER |
源文件中的错误行数。 |
ERROR_LIMIT |
NUMBER |
如果错误数达到此限制,则中止。 |
STATUS |
VARCHAR |
状态: |
TABLE_ID |
NUMBER |
内部/系统为目标表生成的标识符。 |
TABLE_NAME |
VARCHAR |
目标表的名称。TABLE_NAME |
TABLE_SCHEMA_ID |
NUMBER |
Snowflake 为表架构生成的内部标识符。 |
TABLE_SCHEMA_NAME |
VARCHAR |
目标表所在的架构的名称。 |
TABLE_CATALOG_ID |
NUMBER |
内部/系统为表的数据库生成的标识符。 |
TABLE_CATALOG_NAME |
VARCHAR |
目标表所在的数据库的名称。 |
PIPE_CATALOG_NAME |
VARCHAR |
管道所在的数据库的名称。 |
PIPE_SCHEMA_NAME |
VARCHAR |
管道所在的架构的名称。 |
PIPE_NAME |
VARCHAR |
定义加载参数的管道名称;对于 COPY 语句加载,该名称为 |
PIPE_RECEIVED_TIME |
TIMESTAMP_LTZ |
收到通过管道加载的文件的 INSERT 请求的日期和时间;对于 COPY 语句加载,则为 |
FIRST_COMMIT_TIME |
TIMESTAMP_LTZ |
提交文件第一个块时的日期和时间。Snowpipe 可以加载单独提交的多个块中的文件。 |
BYTES_BILLED |
NUMBER |
表示 Snowpipe 用于计费的字节数,可让您在这些历史记录视图中直接了解 Snowpipe 的成本影响。 |
使用说明¶
在大多数情况下,视图的延迟时间最长可达 120 分钟(2 小时)。如果满足以下两个条件,则给定表的复制历史记录的延迟可能长达 2 天:
自上次在 COPY_HISTORY 中更新以来,添加到给定表中的 DML 语句少于 32 条。
自上次在 COPY_HISTORY 中更新以来,添加到给定表中的行数少于 100 行。
该视图仅包括已执行并完成的 COPY INTO 命令,无论是否出错。
删除或重新创建表对象会移除批量数据加载去重(COPY INTO <table> 语句)到表中的加载历史记录元数据。
重命名表对象会更新复制历史记录中的相应 TABLE_NAME 条目。
删除或重新创建管道对象不会移除管道的加载历史记录元数据。
该视图仅显示会话的当前角色已被授予访问权限的对象。
对复制历史记录进行复制后,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;