Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Заметка
В этой статье рассматривается Databricks Connect для Databricks Runtime 13.3 LTS и более поздних версий.
В этой статье описывается, как использовать служебные программы Databricks с Databricks Connect для Python. Databricks Connect позволяет подключать популярные интегрированные среды разработки, ноутбук-серверы и пользовательские приложения к кластерам 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 .
Никакие функции служебных программ 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.