Compartir a través de


Ejecución y depuración de celdas de cuaderno mediante Databricks Connect para la extensión de Databricks para Visual Studio Code

Puede ejecutar y depurar cuadernos, una celda a la vez o todas las celdas a la vez, y ver los resultados en la UI de Visual Studio Code mediante la integración de Databricks Connect en la extensión de Databricks Connect para Visual Studio Code. Todo el código se ejecuta localmente, mientras que todo el código que implique operaciones DataFrame se ejecuta en el clúster en el área de trabajo remota de Azure Databricks y las respuestas de ejecución se envían de vuelta al autor de la llamada local. Todo el código se depura localmente, mientras que todo el código de Spark continúa ejecutándose en el clúster en el área de trabajo remota de Azure Databricks. El código principal del motor de Spark no se puede depurar directamente desde el cliente.

Nota:

Esta característica funciona con Databricks Runtime 13.3 y versiones posteriores.

Para habilitar la integración de Databricks Connect para cuadernos en la extensión de Databricks para Visual Studio Code, debe instalar Databricks Connect en la extensión de Databricks para Visual Studio Code. Vea Depuración de código mediante Databricks Connect para la extensión de Databricks para Visual Studio Code.

Ejecución de celdas de cuaderno de Python

Para los cuadernos con nombres de archivo que tienen una extensión .py, al abrir el cuaderno en el IDE de Visual Studio Code, cada celda muestra los botones Ejecutar celda, Ejecutar arriba y Depurar celda. Al ejecutar una celda, sus resultados se muestran en una pestaña independiente del IDE. A medida que se depura, la celda que se depura muestra los botones Continuar, Detener y Paso a paso. A medida que depura una celda, puede usar características de depuración de Visual Studio Code, como ver los estados de las variables y ver la pila de llamadas y la consola de depuración.

Para los cuadernos con nombres de archivo que tienen una extensión .ipynb, al abrir el cuaderno en el IDE de Visual Studio Code, el cuaderno y sus celdas contienen características adicionales. Consulte Ejecutar celdas y Trabajar con celdas de código en el editor de cuadernos.

Para obtener más información sobre los formatos de cuaderno para nombres de archivo con las extensiones .py y .ipynb, consulte Exportar e importar cuadernos de Databricks.

Ejecución de celdas de Jupyter Notebook de Python

Para ejecutar o depurar un cuaderno de Jupyter Notebook de Python (.ipynb):

  1. En el proyecto, abra el cuaderno de Python Jupyter Notebook que quiere ejecutar o depurar. Asegúrese de que el archivo de Python está en formato de cuaderno de Jupyter Notebook y tiene la extensión .ipynb.

    Sugerencia

    Puede crear un nuevo cuaderno de Jupyter Notebook de Python ejecutando el comando >Crear: Nuevo Jupyter Notebook desde la Paleta de comandos.

  2. Haga clic en Ejecutar todas las celdas para ejecutar todas las celdas sin depurar, Ejecutar celda para ejecutar una celda correspondiente individual sin depurar o Ejecutar por línea para ejecutar una celda individual línea a línea con depuración limitada, con valores variables mostrados en el panel Jupyter (Ver > Abrir vista > Jupyter).

    Para la depuración completa dentro de una celda individual, establezca puntos de interrupción y, a continuación, haga clic en Depurar celda en el menú situado junto al botón Ejecutar de la celda.

    Después de hacer clic en cualquiera de estas opciones, es posible que se le pida que instale las dependencias del paquete de Jupyter Notebook de Python que faltan. Haga clic para instalarla.

    Para más información, consulte Jupyter Notebooks en VS Code.

Variables globales de cuadernos

También se habilitan los siguientes aspectos globales del cuaderno:

  • spark, que representa una instancia de databricks.connect.DatabricksSession, está preconfigurada para crear instancias de DatabricksSession mediante la obtención de credenciales de autenticación de Azure Databricks de la extensión. Si DatabricksSession ya se ha instanciado en el código de una celda del cuaderno, esta configuración de DatabricksSession se usa en su lugar. Consulte Ejemplos de código para Databricks Connect para Python.

  • udf, preconfigurado como alias para pyspark.sql.functions.udf, que es un alias para las UDF de Python. Consulte pyspark.sql.functions.udf.

  • sql, preconfigurado como alias para spark.sql. spark, tal y como se ha descrito anteriormente, representa una instancia preconfigurada de databricks.connect.DatabricksSession. Consulte Spark SQL.

  • dbutils, preconfigurado como una instancia de utilidades de Databricks, que se importa desde databricks-sdk y del que se crea una instancia mediante la obtención de credenciales de autenticación de Azure Databricks de la extensión. Consulte Uso de utilidades de Databricks.

    Nota:

    Solo se admite un subconjunto de utilidades de Databricks para cuadernos con Databricks Connect.

    Para habilitar dbutils.widgets, primero hay que instalar el SDK de Databricks para Python, para lo que se debe ejecutar el siguiente comando en el terminal de la máquina de desarrollo local:

    pip install 'databricks-sdk[notebook]'
    
  • display, preconfigurado como alias para la integración de Jupyter IPython.display.display. Consulte IPython.display.display.

  • displayHTML, preconfigurado como alias para dbruntime.display.displayHTML, que es un alias para display.HTML de ipython. Consulte IPython.display.html.

Comandos mágicos de cuadernos

Los siguientes cuadernos mágicos también están habilitados:

Entre las características adicionales que están habilitadas se incluyen:

  • Los DataFrames de Spark se convierten en DataFrames de Pandas, que se muestran en formato de tabla de Jupyter.

Limitaciones

Entre las limitaciones de ejecución de celdas en cuadernos de Visual Studio Code se incluyen las siguientes:

  • Las instrucciones mágicas de los cuadernos %r y %scala no se admiten y se muestra un error si se llaman. Consulte Combinación de lenguajes.
  • La instrucción mágica del cuaderno %sql no admite algunos comandos DML, como Mostrar tablas.