Служебные программы 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 . - Никакие функции служебных программ 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())
Создайте или укажите профиль конфигурации
, содержащий поля и , а затем инициализировать следующим образом: 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.