类别:

Information Schema表函数

EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY

此表函数可用于查询有关外部表的元数据历史记录的信息,包括:

  • 在元数据刷新过程中自动添加或删除的文件。

  • 刷新元数据时发现的任何错误。

语法

EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY (
      TABLE_NAME => '<string>'
      [, START_TIME => <constant_expr> ] )
Copy

实参

必填:

TABLE_NAME => 'string'

一个用于指定外部表名的字符串。

可选:

START_TIME => constant_expr

过去 30 天内的时间戳( TIMESTAMP_LTZ 格式),标志着检索元数据更新事件的时间范围的开始时间。

备注

  • 如果未指定开始时间,则该函数将返回过去 30 天内的所有更新事件。

  • 如果开始时间超出过去 30 天,则该函数将返回过去 30 天内的结果。

  • 如果开始时间并非时间戳,则忽略它。

使用说明

  • 返回外部表所有者(即对外部表具有 OWNERSHIP 权限的角色)或更高级别角色的结果,或者 对包含外部表和外部表的任何权限的数据库和架构具有 USAGE 权限的角色。

  • 在刷新(即同步)外部表以将数据文件包含在其元数据中之前,表函数无法检索有关暂存数据文件的元数据。

  • 当调用 Information Schema 表函数时,会话必须具有正在使用的 INFORMATION_SCHEMA 架构,或者 函数名称必须受到完全限定。有关更多详细信息,请参阅 Snowflake Information Schema

输出

该函数返回以下列:

列名称

数据类型

描述

JOB_CREATED_TIME

TIMESTAMP_LTZ

操作发生时的时间戳

FILE_NAME

TEXT

暂存源文件的名称和文件的相对路径

OPERATION_STATUS

TEXT

状态:REGISTERED_NEW、REGISTERED_UPDATE、REGISTER_SKIPPED、REGISTER_FAILED、UNREGISTERED 或 UNREGISTER_FAILED

MESSAGE

TEXT

操作状态随附的消息

FILE_SIZE

NUMBER

添加到外部表的文件大小(以字节为单位)

LAST_MODIFIED

TIMESTAMP_LTZ

上次在暂存区中更新文件的时间戳

示例

检索为 mytable 外部表引用的所有数据文件存储的元数据:

select *
from table(information_schema.external_table_file_registration_history(TABLE_NAME=>'MYTABLE'));
Copy

检索上一小时内启动的外部表 mydb.public.external_table_name 上的注册事件:

select *
  from table(information_schema.external_table_file_registration_history(
    start_time=>dateadd('hour',-1,current_timestamp()),
    table_name=>'mydb.public.external_table_name'));
Copy

检索从 2022 年 4 月 25 日午夜起启动的 mydb.public.external_table_name 外部表上的注册事件:

select *
  from table(information_schema.external_table_file_registration_history(
    start_time=>cast('2022-04-25' as timestamp),
    table_name=>'mydb.public.external_table_name'));
Copy
语言: 中文