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.
En esta página, se describe cómo desarrollar código en cuadernos de Databricks, incluida la característica autocompletar, el formato automático para Python y SQL, la combinación de Python y SQL en un cuaderno y el seguimiento del historial de versiones de un cuaderno.
Para obtener más información sobre la funcionalidad avanzada disponible con el editor, como autocompletar, selección de variables, compatibilidad con varios cursores y diferencias en paralelo, consulte Navegar por el cuaderno de Databricks y el editor de archivos.
Al usar el cuaderno o el editor de archivos, Databricks Assistant está disponible para ayudarle a generar, explicar y depurar código. Consulte Uso del Asistente de Databricks para más información.
Los cuadernos de Databricks también incluyen un depurador interactivo integrado para cuadernos de Python. Consulte Depuración de cuadernos.
Modularización del código
Con Databricks Runtime 11.3 LTS y versiones posteriores, puede crear y administrar archivos de código fuente en el área de trabajo de Azure Databricks y después, importar estos archivos en los cuadernos según sea necesario.
Para más información sobre cómo trabajar con archivos de código fuente, consulte Uso compartido de código entre cuadernos de Databricks y Trabajar con módulos de Python y R.
Formatear celdas de código
Azure Databricks proporciona herramientas que permiten dar formato al código de Python y SQL en las celdas de un cuaderno de forma rápida y sencilla. Estas herramientas reducen el esfuerzo de mantener el código con formato y ayudan a aplicar los mismos estándares de codificación en todos los cuadernos.
Biblioteca del formateador Black de Python
Importante
Esta característica está en versión preliminar pública.
Azure Databricks permite dar formato al código de Python con Black en el cuaderno. El cuaderno debe estar asociado a un clúster con los paquetes de Python black
y tokenize-rt
instalados.
En Databricks Runtime 11.3 LTS y versiones posteriores, Azure Databricks preinstala black
y tokenize-rt
. Puede usar el formateador directamente sin necesidad de instalar estas bibliotecas.
En Databricks Runtime 10.4 LTS y versiones anteriores, debe instalar black==22.3.0
y tokenize-rt==4.2.1
desde PyPI en el cuaderno o el clúster para usar el formateador de Python. Puede ejecutar el siguiente comando en el cuaderno:
%pip install black==22.3.0 tokenize-rt==4.2.1
O instalar la biblioteca en el clúster.
Para obtener más información sobre la instalación de bibliotecas, consulte Administración de entornos de Python.
Para archivos y cuadernos en carpetas de Git de Databricks, puede configurar el formateador de Python en función del archivo pyproject.toml
. Para usar esta característica, cree un archivo pyproject.toml
en el directorio raíz de la carpeta de Git y configúrelo de acuerdo con el Formato de configuración negro. Edite la sección [tool.black] del archivo. La configuración se aplica cuando se da formato a cualquier archivo y cuaderno en esa carpeta de Git.
Cómo dar formato a las celdas de Python y SQL
Debe tener el permiso PUEDE EDITAR en el cuaderno para dar formato al código.
Azure Databricks usa la biblioteca Gethue/sql-formatter para dar formato a SQL y al formateador de código Black para Python.
Puede activar el formateador de las siguientes maneras:
Dar formato a una sola celda
- Atajo de teclado: pulse Cmd+Mayús+F.
- Menú contextual de comandos:
- Dar formato a una celda SQL: seleccione Dar formato de SQL en el menú contextual desplegable de comandos de una celda de SQL. Este elemento de menú solo es visible en las celdas del cuaderno de SQL o en las que tienen un comando
%sql
language magic. - Dar formato a una celda de Python: seleccione Dar formato de Python en el menú contextual desplegable de comandos de una celda de Python. Este elemento de menú solo es visible en las celdas del cuaderno de Python o en las que tienen un comando
%python
language magic.
- Dar formato a una celda SQL: seleccione Dar formato de SQL en el menú contextual desplegable de comandos de una celda de SQL. Este elemento de menú solo es visible en las celdas del cuaderno de SQL o en las que tienen un comando
- Menú Editar del cuaderno: seleccione una celda de Python o de SQL y elija Editar > Dar formato a la celda.
Dar formato a varias celdas
Seleccione varias celdas y elija Editar > Formato de celda(s). Si selecciona celdas con más de un lenguaje, solo se da formato a las celdas de SQL y Python. Esto incluye las que usan
%sql
y%python
.Dar formato a todas las celdas de Python y SQL del cuaderno
Seleccione Editar > Dar formato al bloc de notas. Si el cuaderno contiene más de un lenguaje, solo se da formato a las celdas de SQL y Python. Esto incluye las que usan
%sql
y%python
.
Para personalizar el formato de las consultas SQL, consulte Instrucciones SQL de formato personalizado.
Limitaciones del formato de código
- Black aplica los estándares PEP 8 para la sangría de 4 espacios. La sangría no se puede configurar.
- No se admite el formato de cadenas de Python insertadas dentro de una UDF de SQL. Asimismo, no se admite el formato de cadenas de SQL dentro de una UDF de Python.
Lenguajes de código en cuadernos
Establecimiento del idioma predeterminado
El idioma predeterminado del cuaderno aparece debajo del nombre del cuaderno.
Para cambiar el idioma predeterminado, haga clic en el botón idioma y seleccione el nuevo idioma en el menú desplegable. Para garantizar que los comandos actuales continúen funcionando, los comandos en el idioma predeterminado anterior tienen como prefijo automáticamente un comando mágico de lenguaje.
Combinación de lenguajes
De manera predeterminada, las celdas usan el lenguaje predeterminado del cuaderno. Puede invalidar el idioma predeterminado de una celda haciendo clic en el botón de idioma y seleccionando un idioma en el menú desplegable.
Como alternativa, puede usar el comando mágico de lenguaje %<language>
al comienzo de una celda. Los comandos magic admitidos son %python
, %r
, %scala
y %sql
.
Nota:
Cuando se invoca un comando mágico de lenguaje, el comando se envía al REPL en el contexto de ejecución del cuaderno. Las variables definidas en un lenguaje (y, por lo tanto, en el REPL de ese lenguaje) no están disponibles en el REPL de otro lenguaje. Los REPL solo pueden compartir el estado mediante recursos externos, como archivos en DBFS u objetos del almacenamiento de objetos.
Los cuadernos también admiten algunos comandos mágicos auxiliares:
%sh
: le permite ejecutar código shell en su cuaderno de notas. Para producir un error en la celda si el comando del shell tiene un estado de salida distinto de cero, agregue la opción-e
. Este comando solo se ejecuta en el controlador de Apache Spark y no en los trabajadores. Para ejecutar un comando del shell en todos los nodos, use un script de inicio.%fs
: le permite usar comandos del sistema de archivosdbutils
. Por ejemplo, para ejecutar el comandodbutils.fs.ls
para enumerar archivos, puede especificar%fs ls
en su lugar. Para más información, consulte Trabajar con archivos en Azure Databricks.%md
: permite incluir varios tipos de documentación, como texto, imágenes y fórmulas matemáticas y ecuaciones. Consulte la sección siguiente.
Resaltado de sintaxis de SQL y autocompletar en comandos de Python
El resaltado de sintaxis y la característica autocompletar de SQL están disponibles cuando se usa SQL dentro de un comando de Python, como spark.sql
.
Explorar los resultados de las celdas SQL
En un cuaderno de Databricks, los resultados de una celda de lenguaje SQL se hacen automáticamente disponibles como un DataFrame implícito asignado a la variable _sqldf
. A continuación, puede usar esta variable en cualquier celda de Python y SQL que ejecute después, independientemente de su posición en el cuaderno.
Nota:
Esta característica tiene las siguientes limitaciones:
- La
_sqldf
variable no está disponible en cuadernos que utilizan un almacén de SQL para el cómputo. - El uso
_sqldf
de celdas posteriores de Python se admite en Databricks Runtime 13.3 y versiones posteriores. - El uso
_sqldf
de celdas SQL posteriores solo se admite en Databricks Runtime 14.3 y versiones posteriores. - Si la consulta usa las palabras clave
CACHE TABLE
oUNCACHE TABLE
, la_sqldf
variable no está disponible.
En la captura de pantalla siguiente se muestra cómo _sqldf
se puede usar en las celdas posteriores de Python y SQL:
Importante
La variable _sqldf
se reasigna cada vez que se ejecuta una celda SQL. Para evitar perder la referencia a un resultado de DataFrame específico, asígnelo a un nuevo nombre de variable antes de ejecutar la siguiente celda SQL:
Pitón
new_dataframe_name = _sqldf
SQL
ALTER VIEW _sqldf RENAME TO new_dataframe_name
Ejecución de celdas SQL en paralelo
Mientras se ejecuta un comando y el cuaderno se adjunta a un clúster interactivo, puede ejecutar una celda SQL simultáneamente con el comando actual. La celda SQL se ejecuta en una nueva sesión paralela.
Para ejecutar una celda en paralelo:
Haga clic en Ejecutar ahora. La celda se ejecuta inmediatamente.
Dado que la celda se ejecuta en una nueva sesión, las vistas temporales, las UDF y el DataFrame implícito de Python (_sqldf
) no se admiten para las celdas que se ejecutan en paralelo. Además, los nombres predeterminados de catálogo y de base de datos se usan durante la ejecución en paralelo. Si el código hace referencia a una tabla de un catálogo o base de datos diferente, debe especificar el nombre de la tabla mediante el espacio de nombres de tres niveles (catalog
.schema
.table
).
Ejecución de celdas SQL en un almacén SQL
Puedes ejecutar comandos SQL en un notebook de Databricks en un almacén SQL, un tipo de recurso computacional optimizado para análisis SQL. Consulte Uso de un libro con un almacén SQL.
Ejecutar código en Assistant en computación sin servidor
Puede ejecutar código en el Asistente en Databricks en proceso sin servidor, que es el proceso predeterminado en Databricks. Para las páginas donde ya hay un recurso de computación seleccionado (por ejemplo, cuadernos o el editor de SQL), Databricks lo utiliza por defecto. Para obtener información sobre los tipos de proceso, consulte Tipos de proceso.
Si no tiene acceso a la computación sin servidor, debe tener una instancia de computación disponible para ejecutar código en el panel asistente.