EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY¶
此表函数可用于查询有关外部表的元数据历史记录的信息,包括:
在元数据刷新过程中自动添加或删除的文件。
刷新元数据时发现的任何错误。
语法¶
EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY (
TABLE_NAME => '<string>'
[, START_TIME => <constant_expr> ] )
实参¶
必填:
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'));
检索上一小时内启动的外部表 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'));
检索从 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'));