databricks - DBFS:如何在 Datarbricks 中获取 DBFS 文件的上次访问时间
问题描述
是否可以获得上次打开文件的时间,就像ls -ltu
列出所有文件一样,使用dbutils
. 我们需要在 Databricks 注释中获取有关 ADLS 文件的统计信息。
解决方案
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 文件的统计信息
推荐阅读
- java - 获取微调器的项目值而不是微调器字符串值
- python - 如何使用 Linux Red Hat 6.10 版连接到 MS SQL DB,将日期视图中的记录导出到 .csv 文件中并将其放置在 Linux 文件系统中
- php - 输入复选框中的数组
- sql - 如何在 Big Query 中进行分组
- javascript - TypeError 不是 Schema 方法的函数
- celery - 基于密钥执行任务
- python - 在 TF2.0 的自定义训练循环中应用任何回调
- gitlab - 如何让 gitlab-runner 使用通配符分支名称
- mysql - MYSQL:将双列转换为整数
- typescript - 如何在 TypeScript 中创建具有任何字段和某些特定字段/方法的对象?