Compartir a través de


Utilidades de Databricks con Databricks Connect para Python

Nota:

Este artículo describe Databricks Connect para Databricks Runtime 13.3 LTS y versiones posteriores.

En este artículo se describe cómo usar Utilidades de Databricks con Databricks Connect para Python. Databricks Connect le permite conectar los clústeres de Azure Databricks a entornos de desarrollo integrado populares, servidores de cuadernos y otras aplicaciones personalizadas. Consulte ¿Qué es Databricks Connect?. Para obtener la versión de Scala de este artículo, consulte Utilidades de Databricks con Databricks Connect para Scala.

Nota:

Antes de empezar a usar Databricks Connect, debeconfigurar el cliente de Databricks Connect.

Use Databricks Connect para acceder a utilidades de Databricks de la siguiente manera:

  • Use la variable dbutils de la clase WorkspaceClient para acceder a las utilidades de Databricks. La clase WorkspaceClient pertenece al SDK de Databricks para Python y se incluye en Databricks Connect.
  • Use dbutils.fs para acceder a la utilidad fs de Databricks Utilities.
  • Use dbutils.secrets para acceder a la utilidad de secretos de Databricks Utilities.
  • No hay ninguna funcionalidad de Databricks Utilities distinta de las utilidades anteriores disponibles mediante dbutils.

Sugerencia

También puede usar el SDK de Databricks incluido para Python para acceder a cualquier API REST de Databricks disponible, no solo a las API de Databricks Utilities anteriores. Consulte databricks-sdk en PyPI.

Para inicializar WorkspaceClient, debe proporcionar suficiente información para autenticar un SDK de Databricks con el área de trabajo. Por ejemplo, puede:

  • Codifique de forma rígida la dirección URL del área de trabajo y el token de acceso directamente dentro del código y, a continuación, inicialice WorkspaceClient como se indica a continuación. Aunque se admite esta opción, Databricks no la recomienda, ya que puede exponer información confidencial, como tokens de acceso, si el código se registra en el control de versiones o se comparte de otro modo:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient(host  = f"https://{retrieve_workspace_instance_name()}",
                        token = retrieve_token())
    
  • Cree o especifique un perfil de configuración que contenga los campos host y token y, a continuación, inicialice WorkspaceClient como se indica a continuación:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient(profile = "<profile-name>")
    
  • Establezca las variables de entorno DATABRICKS_HOST y DATABRICKS_TOKEN de la misma manera que las ha establecido para Databricks Connect. A continuación, inicialice WorkspaceClient como se indica:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient()
    

El SDK de Databricks para Python no reconoce la variable de entorno SPARK_REMOTE para Databricks Connect.

Para obtener más opciones de autenticación de Azure Databricks para el SDK de Databricks para Python, así como para saber cómo inicializar AccountClient en los SDK de Databricks y acceder a las API REST de Databricks disponibles en el nivel de cuenta en lugar de en el nivel de área de trabajo, consulte databricks-sdk en PyPI.

En el ejemplo siguiente, se muestra cómo usar el SDK de Databricks para Python para automatizar Databricks Utilities. En este ejemplo, se crea el archivo llamado zzz_hello.txt en una ruta de acceso del volumen del catálogo de Unity dentro del área de trabajo, se leen los datos del archivo y, después, se elimina el archivo. En este ejemplo se supone que las variables de entorno DATABRICKS_HOST y DATABRICKS_TOKEN ya se han establecido:

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)

Consulte también Interacción con dbutils en la documentación del SDK de Databricks para Python.