Поделиться через


Служебные программы 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.