Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Заметка
В этой статье рассматривается Databricks Connect для Databricks Runtime 13.3 LTS и более поздних версий.
В этой статье описывается, как использовать Databricks Utilities с Databricks Connect для Python. Databricks Connect позволяет подключать популярные среды IDE, серверы блокнотов и пользовательские приложения к кластерам Azure Databricks. См. Databricks Connect.
Прежде чем начать использовать Databricks Connect, необходимо настроить клиент Databricks Connect.
Сведения о версии Scala этой статьи см. в разделе Служебные программы Databricks с Databricks Connect для Scala.
Доступные служебные программы Databricks
Вы используете Databricks Connect для доступа к служебным программам Databricks следующим образом:
-
WorkspaceClientИспользуйте переменную классаdbutilsдля доступа к служебным программам Databricks. КлассWorkspaceClientпринадлежит пакету SDK Databricks для Python и входит в Databricks Connect. - Используйте
dbutils.fsдля доступа к служебной программе Databricks utilities fs. - Используйте
dbutils.secretsдля доступа к утилите секретных данных Databricks . - Используйте
dbutils.widgetsдля создания и чтения локальных виджетов, чтобы код, написанный для утилиты Databricks Utilities widgets, работал локально. Эти виджеты существуют только в вашей локальной сессии и не могут получать удалённые параметры блокнота или задачи задания. Чтение виджета, который вы не создали локально, вызываетKeyErrorили возвращает значение по умолчанию, если вы используетеgetArgument. - Используйте
dbutils.jobs.taskValues, чтобы выполнять локальную отладку кода, написанного для утилиты jobs в Databricks Utilities. Значения задач не обмениваются при удалённом выполнении заданий:setничего не делает, иgetвозвращает значение своего аргументаdebugValue, либо вызывает ошибку, если вы не передаётеdebugValue. Чтобы установить или получить значения задачи для последующих задач, запускайте код как задачу задания.
Никакие функции утилит Databricks, кроме предыдущих утил, не доступны через dbutils.
Совет
Вы также можете использовать включенный пакет SDK Databricks для Python для доступа к любому доступному REST API Databricks, а не только к предыдущим API служебных программ Databricks. См. databricks-sdk в PyPI.
Инициализируйте WorkspaceClient
Чтобы инициализировать WorkspaceClient, необходимо предоставить достаточную информацию для аутентификации SDK Databricks в рамках рабочей области. Например, можно:
Жестко закодируйте URL-адрес рабочей области и маркер доступа прямо в коде, и затем инициализируйте
WorkspaceClientследующим образом. Хотя этот параметр поддерживается, Databricks не рекомендует этот параметр, так как он может предоставлять конфиденциальную информацию, например маркеры доступа, если код проверяется в систему контроля версий или иначе распространяется:from databricks.sdk import WorkspaceClient w = WorkspaceClient(host = f"https://{retrieve_workspace_instance_name()}", token = retrieve_token())Создайте или укажите профиль конфигурации, содержащий поля
hostиtoken, а затем инициализируйтеWorkspaceClientследующим образом:from databricks.sdk import WorkspaceClient w = WorkspaceClient(profile = "<profile-name>")Задайте переменные среды
DATABRICKS_HOSTиDATABRICKS_TOKENтаким же образом, как и для Databricks Connect, а затем инициализироватьWorkspaceClientследующим образом:from databricks.sdk import WorkspaceClient w = WorkspaceClient()
Пакет SDK Databricks для Python не распознает переменную среды SPARK_REMOTE для Databricks Connect.
Дополнительные параметры проверки подлинности Azure Databricks для пакета SDK Databricks для Python, а также способы инициализации AccountClient в пакетах SDK Databricks для доступа к доступным REST API Databricks на уровне учетной записи, а не на уровне рабочей области, см. в разделе databricks-sdk в PyPI.
Пример. Создание файла в томе
В следующем примере показано, как использовать пакет SDK Databricks для Python для автоматизации служебных программ Databricks. В этом примере создается файл с именем zzz_hello.txt в пути к тому каталога Unity в рабочей области, считывает данные из файла, а затем удаляет файл. В этом примере предполагается, что переменные среды DATABRICKS_HOST и DATABRICKS_TOKEN уже установлены:
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
file_path = "/Volumes/main/default/my-volume/zzz_hello.txt"
file_data = "Hello, Databricks!"
fs = w.dbutils.fs
fs.put(
file = file_path,
contents = file_data,
overwrite = True
)
print(fs.head(file_path))
fs.rm(file_path)
См. также Взаимодействие с dbutils в документации по SDK Databricks для Python.