Служебные программы Databricks с Databricks Connect для Python
Примечание.
В этой статье рассматриваются Databricks Connect для Databricks Runtime 13.3 LTS и более поздних версий.
В этой статье описывается использование служебных программ Databricks с Databricks Connect для Python. Databricks Connect позволяет подключать популярные идентификаторы, серверы записных книжек и пользовательские приложения к кластерам Azure Databricks. См. раздел "Что такое Databricks Connect?". Сведения о версии Scala этой статьи см. в разделе "Служебные программы Databricks" с Databricks Connect для Scala.
Примечание.
Прежде чем начать использовать Databricks Connect, необходимо настроить клиент Databricks Connect.
Вы используете Databricks Connect для доступа к служебным программам Databricks следующим образом:
WorkspaceClient
Используйте переменную классаdbutils
для доступа к служебным программам Databricks. КлассWorkspaceClient
принадлежит пакету SDK Databricks для Python и входит в Databricks Connect.- Используйте
dbutils.fs
для доступа к служебной программе Databricks Utilities fs . - Используйте
dbutils.secrets
для доступа к служебной программе секретов Databricks Utilities. - Функции служебных программ Databricks, отличные от предыдущих служебных программ, доступны через
dbutils
.
Совет
Вы также можете использовать включенный пакет SDK Databricks для Python для доступа к любому доступному REST API Databricks, а не только к предыдущим API-интерфейсам служебных программ Databricks. См . databricks-sdk в PyPI.
Чтобы инициализировать 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.