如何从Databricks Autoloader获取已加载文件的列表
如何获取Databricks Autoloader已加载的文件列表
Autoloader的已处理文件元数据全部存储在作业配置的checkpointLocation路径下,你可以通过Databricks提供的官方接口直接查询,不需要手动解析底层文件:
1. SQL查询方式
执行以下SQL语句即可直接获取结果:
SELECT * FROM cloud_files_state('<你的Autoloader作业checkpoint存储路径>')
返回结果包含已处理S3文件的完整路径、处理时间戳、文件大小、处理状态等核心字段。
2. Spark代码查询方式
如果你需要在作业代码中调用该结果,可以使用对应语言的DataFrame API实现:
Python示例
processed_files_df = spark.read.format("cloud_files_state").load("<你的checkpointLocation路径>") processed_files_df.show()
Scala示例
val processedFilesDF = spark.read.format("cloud_files_state").load("<你的checkpointLocation路径>") processedFilesDF.show()
注意事项
- 执行查询的身份凭证需要具备
checkpointLocation路径的读取权限 - 不同Autoloader作业的checkpoint路径相互独立,每个路径仅对应所属作业的已处理文件记录,功能与AWS Glue作业书签完全等价
- 查询接口仅返回已成功提交到下游的文件记录,处理失败的文件不会纳入结果中
内容的提问来源于stack exchange,提问作者Herry
相关产品推荐
相关产品推荐

