DBFS:如何获取Datarbricks中DBFS文件的上次访问时间

时间:2020-04-28 15:16:05

标签: databricks azure-databricks dbutils

是否可以获得上次打开文件的时间,就像ls -ltu列出所有文件一样,使用dbutils在Unix中按访问时间显示和排序。我们需要在Databricks note中获取有关ADLS文件的统计信息。

1 个答案:

答案 0 :(得分:1)

很遗憾,在使用Databricks实用程序(DBUtils)时,不能使用ls -ltu选项。

enter image description here

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

enter image description here

使用 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文件的统计信息

enter image description here

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

enter image description here