cloud_files_state 表值函数

适用于:勾选“是” Databricks SQL 勾选“是” Databricks Runtime 11.3 LTS 及更高版本

返回自动加载程序或 read_files 流的文件级状态。

语法

cloud_files_state( { TABLE ( table_name ) | checkpoint } )

参数

  • table_name:由 read_files 写入的流式处理表的标识符。 名称不得包含时态规范。 在 Databricks Runtime 13.3 LTS 及更高版本中可用。
  • checkpointSTRING 文本。 使用自动加载程序源的流的检查点目录。 请参阅什么是自动加载程序?

返回

返回具有以下架构的表:

  • path STRING NOT NULL PRIMARY KEY

    文件的路径。

  • size BIGINT NOT NULL

    文件的大小(以字节为单位)。

  • create_time TIMESTAMP NOT NULL

    创建文件的时间。

  • discovery_time TIMESTAMP NOT NULL

    重要

    此功能以个人预览版提供。 若要试用,请与 Azure Databricks 联系人取得联系。

    发现文件的时间。

  • commit_time TIMESTAMP

    重要

    此功能以个人预览版提供。 若要试用,请与 Azure Databricks 联系人取得联系。

    文件在处理后提交到检查点的时间。 如果文件尚未处理,则为 NULL。 文件可能已经过处理,但稍后可能会被任意标记为已提交。 将文件标记为已提交意味着自动加载程序不需要再次处理该文件。

  • archive_time TIMESTAMP

    重要

    此功能以个人预览版提供。 若要试用,请与 Azure Databricks 联系人取得联系。

    将文件存档的时间。 如果文件尚未存档,则为 NULL

  • source_id STRING

    流式处理查询中自动加载程序源的 ID。 对于从单个云对象存储位置引入的流,此值为 '0'

  • flow_name STRING

    适用于:勾选“是” Databricks SQL 勾选“是” Databricks Runtime 13.3 及更高版本

    flow_name 表示 Delta Live Tables 中包含一个或多个云文件源的特定流式处理流。 如果未指定 table_name,则为 NULL

权限

你需要具有:

  • 对流式处理表的 OWNER 特权(如果使用流式处理表标识符)。
  • 对检查点位置的 READ FILES 特权(如果提供的检查点在外部位置下)。

示例

-- Simple example from checkpoint
> SELECT path FROM CLOUD_FILES_STATE('/some/checkpoint');
  /some/input/path
  /other/input/path

-- Simple example from source subdir
> SELECT path FROM CLOUD_FILES_STATE('/some/checkpoint/sources/0');
  /some/input/path
  /other/input/path

-- Simple example from streaming table
> SELECT path FROM CLOUD_FILES_STATE(TABLE(my_streaming_table));
  /some/input/path
  /other/input/path