DBFS: как получить время последнего доступа к файлу DBFS в Datarbricks
Можно ли узнать время, когда файл был открыт в последний раз, например ls -ltu
список всех файлов, показ и сортировка по времени доступа в Unix с помощью dbutils
. Это необходимо для получения статистики о файле ADLS в примечании Databricks.
1 ответ
К сожалению, вы не можете использовать ls -ltu
вариант при использовании Databricks Utilities (DBUtils).
Применение: dbuitls.fs.ls
Последовательность, возвращаемая командой ls, содержит следующие атрибуты:
Используйте API файловой системы Hadoop, чтобы узнать время последнего доступа к файловой системе DBFS в Azure Databricks.
В этом коде используется метод listStatus файловой системы Hadoop для сортировки файлов 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: статистика файла ADLS в записной книжке Databricks
Пример 2: статистика файла DBFS в записной книжке Databricks