Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota:
Este artículo se aplica a Databricks Connect 15.4 LTS y versiones posteriores.
En este artículo se describe cómo crear un proyecto en el IDE, configurar el entorno virtual, instalar Databricks Connect para Python y ejecutar código en el proceso sin servidor en el área de trabajo de Databricks.
En este tutorial se usa Python 3.12 y Databricks Connect 16.4 LTS. Para usar otras versiones de Python de Databricks Connect, deben ser compatibles. Consulte la matriz de compatibilidad de versiones.
Requisitos
Para completar este tutorial, se deben cumplir los siguientes requisitos:
- El área de trabajo, el entorno local y el proceso cumplen los requisitos de Databricks Connect para Python. Consulte Requisitos de uso de Databricks Connect.
- El proceso sin servidor está habilitado en el área de trabajo. Véase Conexión a la computación sin servidor.
- Tiene Instalado Python 3.12.
- Tiene instalado un IDE, como Visual Studio Code.
- Tiene la CLI de Databricks instalada en el equipo local. Consulte Instalación o actualización de la CLI de Databricks.
Paso 1: Configuración de la autenticación de Databricks
En este tutorial se usa la autenticación de usuario a máquina (U2M) de Databricks OAuth y un perfil de configuración de Databricks para autenticarse en el área de trabajo de Databricks.
Use el CLI de Databricks para iniciar la administración de tokens de OAuth localmente mediante la ejecución del siguiente comando para cada área de trabajo de destino. En el comando siguiente, reemplace por
<workspace-url>la dirección URL de la instancia del área de trabajo de Databricks, por ejemplohttps://dbc-a1b2345c-d6e7.cloud.databricks.com.databricks auth login --host <workspace-url>La CLI de Databricks le pide que guarde la información que especificó como perfil de configuración de Databricks. Presione
Enterpara aceptar el nombre del perfil sugerido o escriba el nombre de un perfil nuevo o existente. Databricks recomienda usarDEFAULTcomo nombre de perfil.En el explorador web, complete las instrucciones en pantalla para iniciar sesión en el área de trabajo de Databricks.
Paso 2: Creación de un nuevo entorno virtual de Python
Cree la carpeta del proyecto y ábrala en el IDE. Por ejemplo, en el menú principal de Visual Studio Code, haga clic enAbrir carpeta abrir archivo>>.
Abra una ventana de terminal en la raíz de la carpeta del proyecto. Por ejemplo, en el menú principal de Visual Studio Code, haga clic en Ver>terminal.
Cree un entorno virtual para el proyecto llamado
venven la raíz de la carpeta del proyecto ejecutando el comando siguiente en el terminal:python3.12 -m venv .venvActive el entorno virtual:
# Linux/Mac source .venv/bin/activate# Windows .venv\Scripts\activate
Paso 3: Instalación de Databricks Connect
Instale Databricks Connect. Para obtener información sobre la versión más reciente publicada de Databricks Connect 16.4, consulte Databricks Connect for Databricks Runtime 16.4.
pip install "databricks-connect==16.4.*"
Paso 4: Agregar código y ejecutar
Adición de un nuevo archivo
main.pyde Python al proyectoEscriba el código siguiente en el archivo, reemplazando el marcador de posición
<profile-name>por el nombre del perfil de configuración del paso 1 y, a continuación, guarde el archivo. El nombre del perfil de configuración predeterminado esDEFAULT.from databricks.connect import DatabricksSession spark = DatabricksSession.builder.serverless().profile("<profile-name>").getOrCreate() df = spark.read.table("samples.nyctaxi.trips") df.show(5)Ejecute el código con el siguiente comando:
python3 main.pySe devuelven cinco filas de la tabla:
+--------------------+---------------------+-------------+-----------+---------+-----------+ |tpep_pickup_datetime|tpep_dropoff_datetime|trip_distance|fare_amount|pickup_zip|dropoff_zip| +--------------------+---------------------+-------------+-----------+----------+-----------+ | 2016-02-16 22:40:45| 2016-02-16 22:59:25| 5.35| 18.5| 10003| 11238| | 2016-02-05 16:06:44| 2016-02-05 16:26:03| 6.5| 21.5| 10282| 10001| | 2016-02-08 07:39:25| 2016-02-08 07:44:14| 0.9| 5.5| 10119| 10003| | 2016-02-29 22:25:33| 2016-02-29 22:38:09| 3.5| 13.5| 10001| 11222| | 2016-02-03 17:21:02| 2016-02-03 17:23:24| 0.3| 3.5| 10028| 10028| +--------------------+---------------------+-------------+-----------+----------+-----------+
Ha ejecutado correctamente la primera consulta en el proceso sin servidor de Databricks mediante Databricks Connect desde el IDE.
Paso 5: Preparar el código
En escenarios de producción, es importante evitar el uso de especificaciones de proceso en el generador de sesiones de Spark. Por ejemplo, si implementa el código en un clúster clásico: Standard o Dedicated usa la API en el .serverless() generador de sesiones de Spark, se crea una nueva sesión de Spark sin servidor mediante el clúster clásico como cliente.
Para que el código sea flexible y listo para producción, la sesión de Spark no debe contener ningún parámetro.
spark = DatabricksSession.builder.getOrCreate()
Sin embargo, cuando este código se ejecuta en Databricks, se usa la sesión global predeterminada de Spark del proceso de Databricks.
Para habilitar el proceso sin servidor en el IDE, use el perfil de configuración DEFAULT, seleccionado por cuando DatabricksSession.builder no se especifica ningún parámetro:
Cree un perfil de configuración denominado
DEFAULTcon las instrucciones del paso 1.Use un editor de texto para abrir el
.databrickscfgarchivo, que se encuentra en:La
$HOMEcarpeta principal del usuario en Unix, Linux o macOS:~/.databrickscfg, oLa
%USERPROFILE%carpeta (inicio del usuario) en Windows. Por ejemplo, para macOS:nano ~/.databrickscfg
Agregue
serverless_compute_id = autoalDEFAULTperfil:[DEFAULT] host = https://my-workspace.cloud.databricks.com auth_type = databricks-cli serverless_compute_id = autoGuarde los cambios y salga del editor.
Modifique el código para usar una sesión general de Spark y ejecútelo:
from databricks.connect import DatabricksSession spark = DatabricksSession.builder.getOrCreate() df = spark.read.table("samples.nyctaxi.trips") df.show(5)python3 main.py
Ha ejecutado correctamente el código listo para producción en el proceso sin servidor de Databricks mediante Databricks Connect desde el IDE mediante el perfil de configuración DEFAULT.
Sugerencia
También puede usar variables de entorno para establecer la conexión a un proceso específico de Databricks:
- Sin servidor:
DATABRICKS_SERVERLESS_COMPUTE_ID=auto - Clásico:
DATABRICKS_CLUSTER_ID=<your_cluster_id>