Как динамически получить путь к блокноту Databricks?

Пожалуйста, не давайте решение для ноутбуков IPython. Технология другая.

Я хочу получить путь к моей записной книжке Databricks динамически. Это то, что я могу получить из пользовательского интерфейса «Копировать путь к файлу», как показано ниже. Я не могу использовать __file__, так как это дает мне ошибку.

NameError: name '__file__' is not defined

введите здесь описание изображения


person Anirban Nag 'tintinmj'    schedule 29.06.2019    source источник
comment
@Евгений, нет. Мой вопрос для Databricks.   -  person Anirban Nag 'tintinmj'    schedule 30.06.2019


Ответы (1)


Если вам доступно что-то подобное, это можно найти, просмотрев globals() и locals(), например.

print(globals())

В моем случае самым близким к этому я нашел:

_dh

e.g.:

print(_dh)
# ['/media/win10/Users/norok2/Downloads']
person norok2    schedule 29.06.2019
comment
Для Databricks это дает ['/databricks/driver'] , что не является моим ожидаемым результатом. - person Anirban Nag 'tintinmj'; 30.06.2019
comment
Вы обращались в службу поддержки DataBricks? Это может быть ваш лучший шанс. - person norok2; 30.06.2019
comment
Я использую версию сообщества DBR. Я не думаю, что они помогут. - person Anirban Nag 'tintinmj'; 30.06.2019
comment
Привет @AnirbanNag'tintinmj', вы можете получить пути к блокнотам, используя их REST API: docs .databricks.com/api/latest/workspace.html#list Однако вы упомянули, что используете версию сообщества. Поэтому сначала подтвердите, попробовав вызов API, есть ли у вас доступ к REST API или нет. - person cody; 30.06.2019
comment
Я хочу получить путь к блокноту, где я пишу код. Так что я могу использовать это для регистрации. - person Anirban Nag 'tintinmj'; 30.06.2019
comment
Это можно сделать в Scala: dbutils.notebook.getContext.notebookPath. Если это необходимо для Python или R, вам нужно будет получить путь с помощью команды %Scala, а затем передать значение виджету, откуда его можно получить с помощью Python или R. - person R7L208; 14.01.2021