首页 > 解决方案 > DBFS:如何在 Datarbricks 中获取 DBFS 文件的上次访问时间

问题描述

是否可以获得上次打开文件的时间,就像ls -ltu列出所有文件一样,使用dbutils. 我们需要在 Databricks 注释中获取有关 ADLS 文件的统计信息。

标签: databricksazure-databricksdbutils

解决方案


ls -ltu不幸的是,在使用 Databricks Utilities (DBUtils) 时不能使用选项。

在此处输入图像描述

用法: dbuitls.fs.ls ls命令返回的序列包含以下属性:

在此处输入图像描述

使用Hadoop 文件系统 API获取 Azure Databricks 中 DBFS 文件系统的上次访问时间。

此代码使用 Hadoop 文件系统的 listStatus 方法根据修改时间对 DBFS 文件进行排序。

import org.apache.hadoop.fs._
val path = new Path("/mnt/abc")
val fs = path.getFileSystem(spark.sessionState.newHadoopConf)
val inodes = fs.listStatus(path).sortBy(_.getModificationTime)
inodes.filter(_.getModificationTime > 0).map(t => (t.getPath, t.getModificationTime, t.getLen)).foreach(println)

示例 1: Databricks 笔记本中有关 ADLS 文件的统计信息

在此处输入图像描述

示例 2 : Databricks 笔记本中关于 DBFS 文件的统计信息

在此处输入图像描述


推荐阅读