Я пытаюсь записать свои собственные файлы журналов в Azure Datalake Gen 2 в Python-Notebook в Databricks.Я пытаюсь добиться этого с помощью модуля регистрации Python.
К сожалению, я не могу заставить его работать.Ошибки не вызываются, папки создаются, но файл с содержимым журналов не создается.Даже если файлы существуют, в него ничего не записывается.
Локальный скрипт на python работает просто отлично, но я не могу заставить его работать в Databricks.
Вот мой код:
# mount
if not any(mount.mountPoint == '/mnt/log' for mount in dbutils.fs.mounts()):
dbutils.fs.mount(
source = "abfss://log@datalake.dfs.core.windows.net/",
mount_point = "/mnt/log",
extra_configs = configs)
# vars
folder_log = '/mnt/log/test/2019'
file_log = '201904.log'
# add folder if not existent
dbutils.fs.mkdirs(folder_log)
# setup logging
import logging
logging.basicConfig(
filename=folder_log+'/'+file_log,
format='%(asctime)s | %(name)s | %(levelname)s | %(message)s',
datefmt='%Y-%m-%d %H:%M:%S UTC (%z)',
level=logging.NOTSET
)
# test
logging.info('Hello World.')
Кажется, что с установкой все в порядке.
Добавление и запись файлов с помощью dbutils работает нормально:
dbutils.fs.put(folder_log+'/'+file_log, 'Hello World.')
Запись в файл подобным образом работает нормальнотоже:
f = open('/dbfs/mnt/log/test/2019/201904.log', 'w+')
f.write("This is line %d\r\n")
f.close()
Также попытался добавить "dbfs" к пути
filename='/dbfs'+folder_log+'/'+file_log,
Есть идеи?