Compartir a través de


Utilidades de Databricks con Databricks Connect para Python

Nota:

En este artículo se 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 permite conectar IDEs populares, servidores de notebooks y aplicaciones personalizadas a clústeres de Azure Databricks. 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, es necesario configurar el cliente de Databricks Connect.

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

  • Utiliza la variable WorkspaceClient de la clase dbutils para acceder a las utilidades de Databricks. La WorkspaceClient clase pertenece al SDK de Databricks para Python y se incluye en Databricks Connect.
  • Utilice dbutils.fs para acceder a la utilidad fs de Databricks.
  • Use dbutils.secrets para acceder a la utilidad de secretos de Databricks Utilities.
  • No hay ninguna funcionalidad de utilidades de Databricks distinta de las utilidades anteriores disponibles a través de 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 utilidades de Databricks anteriores. Consulte databricks-sdk en PyPI.

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

  • 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 recomienda esta opción, 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 tokeny, a continuación, inicialice como WorkspaceClient se indica a continuación:

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

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient()
    

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

Para obtener más opciones de autenticación de Azure Databricks para el SDK de Databricks para Python, así como cómo inicializar AccountClient dentro de los SDK de Databricks para 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 las utilidades de Databricks. En este ejemplo se crea un archivo denominado zzz_hello.txt en la ruta de acceso de un volumen del catálogo de Unity dentro del área de trabajo, se leen los datos del archivo y, a continuación, se elimina el archivo. En este ejemplo se supone que las variables DATABRICKS_HOST de entorno 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.