Ejecución de código de Spark
Para editar y ejecutar código de Spark en Microsoft Fabric, puede usar cuadernos o definir un trabajo de Spark.
Cuaderno
Cuando quiera usar Spark para explorar y analizar datos de forma interactiva, use un cuaderno. Los cuadernos permiten combinar texto, imágenes y código escritos en varios lenguajes para crear un elemento interactivo que pueda compartir con otros usuarios y colaborar con ellos.
Los cuadernos constan de una o varias celdas, cada una de las cuales puede tener contenido con formato Markdown o código ejecutable. Puede ejecutar el código de forma interactiva en el cuaderno y ver los resultados de inmediato.
Código y celdas de Markdown
Las celdas de los cuadernos contienen código o texto de Markdown, pero no ambos. Para convertir una celda de código existente a markdown, seleccione M. Para convertir una celda de Markdown en código, seleccione </>.
Las celdas de Markdown incluyen una barra de herramientas de texto que le permite dar formato al texto y agregar imágenes. La posibilidad de agregar celdas de Markdown a un cuaderno es muy potente. Le permite agregar explicaciones sobre su código, documentar por qué se hacen ciertas cosas, por qué y qué se está intentando conseguir. Esta característica no solo hace que un cuaderno sea más útil después, sino que también mejora la colaboración.
Lenguajes de código
PySpark (una implementación de Python específica de Spark) es el lenguaje predeterminado para los cuadernos de Microsoft Fabric, pero también puede seleccionar Scala (un lenguaje interpretado basado en Java), Spark SQL o SparkR. La mayoría de las cargas de trabajo de análisis e ingeniería de datos se realizan con una combinación de PySpark y Spark SQL.
Puede cambiar el lenguaje predeterminado de un cuaderno (afectando a todas las celdas de código), o puede usar un comando mágico en una celda para reemplazar el lenguaje predeterminado solo para esa celda. Por ejemplo, el comando mágico %%sql
del código siguiente cambia el lenguaje de programación de la celda a Spark SQL:
%%sql
SELECT YEAR(OrderDate) AS OrderYear,
SUM((UnitPrice * Quantity) + Tax) AS GrossRevenue
FROM salesorders
GROUP BY YEAR(OrderDate)
ORDER BY OrderYear;
Use %%pyspark para volver a cambiar el lenguaje de programación a PySpark. O %%spark para cambiar el lenguaje de programación a Scala. El menú desplegable de la parte inferior derecha de la celda también se puede usar para agregar un comando mágico.
Nota:
Los comandos mágicos distinguen entre mayúsculas y minúsculas.
El código en el cuaderno suele ejecutarse de forma interactiva, ya sea ejecutando celdas individuales o ejecutando todas las celdas del cuaderno. También puede programar un cuaderno para que se ejecute de forma no interactiva.
Definiciones de trabajos de Spark
Si desea usar Spark para ingerir y transformar datos dentro de un proceso automatizado, puede definir un trabajo de Spark para ejecutar un script a petición o según una programación.
Para configurar un trabajo de Spark, cree una definición de trabajo de Spark en el área de trabajo y especifique el script que debe ejecutar. También puede especificar un archivo de referencia (por ejemplo, un archivo de código de Python que contenga definiciones de funciones que se usen en el script) y una referencia a un almacén de lago específico que contenga datos que procese el script.
También puede especificar argumentos en la línea de comandos, que le permiten variar el comportamiento del script en función de los argumentos que se le pasen. Este enfoque puede ser útil cuando el mismo trabajo de Spark se vaya a usar en varios contextos (por ejemplo, podría usar un único script para cargar datos de archivos en tablas, variando la ruta de acceso del archivo y el nombre de la tabla al ejecutarlo).
Programación de ejecución de cuadernos y trabajos
Puede definir una programación para un cuaderno o una definición de trabajo de Spark para que se ejecute sin supervisión en un intervalo específico. Este planteamiento puede ser útil para tareas automatizadas sencillas que puedan automatizarse mediante scripts y que no formen parte de una carga de trabajo más compleja de ingesta de datos o procesamiento. En la mayoría de los entornos de producción, una solución más manejable es incluir el cuaderno o la definición del trabajo de Spark en una canalización, donde puede integrarse en una solución de orquestación más compleja.
Nota:
Cuando ejecuta código en un cuaderno o en una definición de trabajo de Spark de forma interactiva, el código se ejecuta en el contexto de seguridad del usuario que ha iniciado sesión en ese momento. Cuando se ejecuta usando una programación, el código asume la identidad del usuario que creó la programación. Cuando se ejecuta en una canalización, el código usa la identidad del usuario propietario de la canalización.
Independientemente de cómo se ejecute el código, debe garantizar que la identidad utilizada en el contexto de seguridad tiene permisos suficientes para acceder a cualquier recurso al que haga referencia el código, incluidas las tablas o los archivos de un almacén de lago.