STL_FILE_SCAN - Amazon Redshift

STL_FILE_SCAN

返回通过使用 COPY 命令加载数据时 Amazon Redshift 读取的文件。

查询此视图可帮助排查数据加载错误。STL_FILE_SCAN 可对于精确查找并行数据加载中的问题特别有用,因为并行数据加载通常只需一个 COPY 命令即可加载许多文件。

STL_FILE_SCAN 对所有用户可见。超级用户可以查看所有行;普通用户只能查看其自己的数据。有关更多信息,请参阅 系统表和视图中的数据可见性

注意

STL_FILE_SCAN 仅包含在主集群上运行的查询。它不包含在并发扩展集群上运行的查询。要访问在主集群和并发扩展集群上运行的查询,我们建议您使用 SYS 监控视图 SYS_LOAD_DETAIL。SYS 监控视图中的数据经过格式化处理,便于使用和理解。

表列

列名称 数据类型 描述
userid integer 生成该条目的用户 ID。
query integer 查询 ID。查询列可用于连接其他系统表和视图。
slice integer 标识运行查询所在切片的标识符。
名称 character(90) 已加载的文件的完整路径和名称。
lines bigint 从文件中读取的行数。
bytes bigint 从文件中读取的字节数。
loadtime bigint 加载文件消耗的时间量(单位为微秒)。
curtime 时间戳 表示 Amazon Redshift 开始处理文件的时间的时间戳。
is_partial integer 值,如果为真 (1) 表示在 COPY 操作期间输入文件被拆分为范围。如果此值为假 (0),则不会拆分输入文件。
start_offset bigint 值,如果在 COPY 操作期间拆分输入文件,则表示拆分的偏移值(以字节为单位)。如果文件未拆分,则此值为 0。

示例查询

以下查询检索花费了超过 1,000,000 微秒来让 Amazon Redshift 读取任何文件的名称和加载时间:

select trim(name)as name, loadtime from stl_file_scan where loadtime > 1000000;

此查询返回以下示例输出:

name | loadtime ---------------------------+---------- listings_pipe.txt | 9458354 allusers_pipe.txt | 2963761 allevents_pipe.txt | 1409135 tickit/listings_pipe.txt | 7071087 tickit/allevents_pipe.txt | 1237364 tickit/allusers_pipe.txt | 2535138 listings_pipe.txt | 6706370 allusers_pipe.txt | 3579461 allevents_pipe.txt | 1313195 tickit/allusers_pipe.txt | 3236060 tickit/listings_pipe.txt | 4980108 (11 rows)