Поддерживает ли база данных dbfs метаданные файла, такие как дата создания файла / папки или дата изменения - PullRequest
0 голосов
/ 15 января 2020

Я пытаюсь пролистать каталог в записной книжке, чтобы найти последнюю версию файла паркета. dbfsutils.fs.ls не поддерживает метаданные о файлах или папках. Есть ли в python альтернативные методы для этого? Данные хранятся в озере данных azure, смонтированном в DBFS в «/ mnt / foo». Любая помощь или указатели приветствуются.

1 Ответ

1 голос
/ 15 января 2020

На Azure Как я знаю, в базе данных, путь dbfs dbfs:/mnt/foo совпадает с Linux path /dbfs/mnt/foo, поэтому вы можете просто использовать os.stat(path) в Python, чтобы получить метаданные файла, такие как дата создания или дата изменения.

enter image description here

Вот мой пример кода.

import os
from datetime import datetime
path = '/dbfs/mnt/test'
fdpaths = [path+"/"+fd for fd in os.listdir(path)]
for fdpath in fdpaths:
    statinfo = os.stat(fdpath)
    create_date = datetime.fromtimestamp(statinfo.st_ctime)
    modified_date = datetime.fromtimestamp(statinfo.st_mtime)
    print("The statinfo of path %s is %s, \n\twhich create date and modified date are %s and %s" % (fdpath, statinfo, create_date, modified_date))

И результат как показано на рисунке ниже.

enter image description here

...