PIPE_USAGE_HISTORY 视图¶
此 Account Usage 视图可用于查询使用 Snowpipe 加载到表中的数据的历史记录,或过去 365 天(1 年)内用于 Iceberg 自动刷新 的 credit 历史记录。
该视图显示整个 Snowflake 账户的加载数据和 credit 计费额度的历史记录。您可以使用 pipe_name
列,筛选特定管道或具有自动刷新的 Iceberg 表的视图。
列¶
列名称 |
数据类型 |
描述 |
---|---|---|
PIPE_ID |
NUMBER |
用于数据加载的管道的内部/系统生成的标识符。如果未在查询中指定管道名称,则显示 NULL。每行包括时间范围内使用的所有管道的总数。 |
PIPE_NAME |
TEXT |
管道或具有自动刷新的 Iceberg 表的名称。对于用于刷新外部表或基于 Delta 的 Iceberg 表元数据的内部(隐藏)管道对象,显示 NULL。 |
USAGE_DATE |
DATE |
数据引入发生的日期。 |
CREDITS_USED |
NUMBER |
在 START_TIME 和 END_TIME 时段内针对 Snowpipe 数据加载计费的 Credit。 |
BYTES_INSERTED |
FLOAT |
在 START_TIME 和 END_TIME 时段内加载的字节数。 |
FILES_INSERTED |
VARIANT |
在 START_TIME 和 END_TIME 时段内加载的文件数。 |
使用说明¶
视图的延迟时间最长可达 180 分钟(3 小时)。
如果要将此视图中的数据与 ORGANIZATION USAGE 架构 中的相应视图进行协调,则必须先将会话的时区设置为 UTC。在查询 Account Usage 视图之前,执行以下操作:
ALTER SESSION SET TIMEZONE = UTC;
偶尔,数据压缩和维护过程会消耗 Snowflake Credit。例如,返回的结果可能显示您使用了 0 BYTES_INSERTED 和 0 FILES_INSERTED 的 Credit。这表示您的数据未加载,但数据压缩和维护过程已使用了一些 Credit。
Snowflake 对外部表和内部命名暂存区和外部暂存区目录表中的自动刷新通知计费,费率与 Snowpipe 文件收费相当。通过检查此 PIPE_USAGE_HISTORY 视图或查询 PIPE_USAGE_HISTORY 函数,可以估计外部表和目录表自动刷新通知产生的费用。请注意,自动刷新管道将使用 NULL 管道名称列出。您还可以使用 Information Schema 表函数 AUTO_REFRESH_REGISTRATION_HISTORY,以表级/暂存区级精细度查看外部表自动刷新通知历史记录。
为避免产生自动刷新通知费用,请为外部表和目录表执行手动刷新。对于外部表,可使用 ALTER EXTERNAL TABLE <name> REFRESH ... 语句将外部表手动同步到外部存储。对于目录表,可使用 ALTER STAGE <name> REFRESH ... 语句将目录手动同步到外部存储。
Snowflake 不 对 Iceberg 自动刷新 收取 Snowpipe 文件费用。
示例¶
此查询提供名为 my_auto_refresh_pipe
的管道从特定日期开始的管道使用量历史记录:
SELECT
pipe_id,
start_time,
end_time,
credits_used,
bytes_inserted,
files_inserted
FROM SNOWFLAKE.ACCOUNT_USAGE.PIPE_USAGE_HISTORY
WHERE pipe_name = 'my_auto_refresh_pipe'
AND START_TIME >= '2025-04-01';
此查询显示名为 iceberg_glue_table
的 Iceberg 表从特定日期开始的自动刷新费用所用的 credit 数量:
SELECT
pipe_id,
start_time,
end_time,
credits_used,
FROM SNOWFLAKE.ACCOUNT_USAGE.PIPE_USAGE_HISTORY
WHERE pipe_name = 'iceberg_glue_table'
AND START_TIME >= '2025-04-01';