Desarrollo, ejecución y administración de cuadernos de Microsoft Fabric
El cuaderno de Microsoft Fabric es un elemento de código principal para desarrollar trabajos de Apache Spark y experimentos de aprendizaje automático. Se trata de una superficie interactiva basada en la web que usan los científicos de datos e ingenieros de datos para escribir código que se beneficie de visualizaciones enriquecidas y texto de Markdown. En este artículo se explica cómo desarrollar y ejecutar cuadernos con operaciones de celda de código.
Desarrollo de cuadernos
Los cuadernos se componen de celdas, que son bloques individuales de código o texto que se pueden ejecutar de manera independiente o en grupo.
Proporcionamos operaciones enriquecidas para desarrollar cuadernos:
- Adición de una celda
- Definición del lenguaje principal
- Uso de varios lenguajes
- IntelliSense de estilo IDE
- Fragmentos de código
- Arrastrar y colocar para insertar fragmentos de código
- Arrastrar y colocar para insertar imágenes
- Formato de celdas de texto con botones de la barra de herramientas
- Deshacer/rehacer una operación de una celda
- Movimiento de una celda
- Eliminación de una celda
- Contracción de una entrada de celda
- Contracción de una salida de celda
- Seguridad de salida de celda
- Bloquear o inmovilizar una celda
- Contenido del cuaderno
- Plegado de Markdown
- Buscar y reemplazar
Adición de una celda
Hay varias maneras de agregar una nueva celda a un cuaderno.
Mantenga el puntero sobre el espacio entre dos celdas y seleccione Código o Markdown.
Utiliza las Teclas de método abreviado en el modo de comando. Presione A para insertar una celda sobre la celda actual. Presione B para insertar una celda debajo de la celda actual.
Definición del lenguaje principal
Actualmente, los cuadernos de Fabric admiten cuatro lenguajes de Apache Spark:
- PySpark (Python)
- Spark (Scala)
- Spark SQL
- SparkR
Desde la lista desplegable de la barra de comandos superior, puede establecer el lenguaje principal para las nuevas celdas que se agreguen.
Uso de varios lenguajes
Puedes usar varios lenguajes en un cuaderno especificando el comando magic de lenguaje al principio de una celda. También puedes cambiar el idioma de la celda desde el selector de idioma. En la tabla siguiente se enumeran los comandos magic para cambiar el lenguaje de las celdas.
Comando magic | Lenguaje | Descripción |
---|---|---|
%%pyspark | Python | Ejecute una consulta de Python en Apache Spark Context. |
%%spark | Scala | Ejecute una consulta de Scala en Apache Spark Context. |
%%sql | SparkSQL | Ejecute una consulta de SparkSQL en Apache Spark Context. |
%%html | Html | Ejecute una consulta de HTML en Apache Spark Context. |
%%sparkr | R | Ejecute una consulta de R en Apache Spark Context. |
IntelliSense de estilo IDE
Los cuadernos de Fabric se integran en el editor Monaco para incluir IntelliSense de estilo IDE en el editor de celdas. El resaltado de la sintaxis, el marcador de errores y la finalización automática de código ayudan a escribir código y a identificar problemas más rápido.
Las características de IntelliSense tienen distintos niveles de madurez para distintos lenguajes. En la tabla siguiente se muestra lo que Fabric admite:
Idiomas | Resaltado de sintaxis | Creador de errores de sintaxis | Finalización de código de sintaxis | Finalización de código de variables | Finalización de código de función del sistema | Finalización de código de funciones del usuario | Sangría inteligente | Plegado de código |
---|---|---|---|---|---|---|---|---|
PySpark (Python) | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí |
Spark (Scala) | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí |
SparkSQL | Sí | Sí | Sí | Sí | Sí | No | Sí | Sí |
SparkR | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí |
Nota:
Debes tener una sesión de Apache Spark activa para usar la finalización del código de IntelliSense.
Fragmentos de código
Los cuadernos de Fabric proporcionan fragmentos de código que ayudan a escribir fácilmente patrones de código usados habitualmente, como:
- Leer datos como un DataFrame de Apache Spark
- Dibujar gráficos con Matplotlib
Los fragmentos de código aparecen en teclas de método abreviado de IntelliSense estilo IDE combinados con otras sugerencias. Los contenidos de los fragmentos de código se alinean con el lenguaje de las celdas de código. Para ver los fragmentos de código disponibles, escriba Fragmento. También se puede escribir cualquier palabra clave para ver una lista de fragmentos de código pertinentes. Por ejemplo, si escribes read, se puede ver la lista de fragmentos para leer datos de varios orígenes de datos.
Arrastrar y colocar para insertar fragmentos de código
Puedes arrastrar y colocar para leer los datos del explorador de Lakehouse de forma cómoda. Se admiten varios tipos de archivo aquí; puedes operar en archivos de texto, tablas, imágenes, etc. Puedes colocarlos en una celda existente o en una nueva. El cuaderno genera el fragmento de código correspondiente para obtener una vista previa de los datos.
Arrastrar y colocar para insertar imágenes
Puede arrastrar y colocar para insertar imágenes fácilmente desde el explorador o el equipo local a una celda de Markdown.
Formato de celdas de texto con botones de la barra de herramientas
Para completar acciones comunes de Markdown, se usan los botones de formato de la barra de herramientas de celda de texto.
Deshacer o rehacer una operación de una celda
Selecciona el botón Deshacer, Rehacer o presione Z o Mayús+Z para revocar las operaciones de celda más recientes. Puedes deshacer o rehacer hasta las últimas 10 operaciones históricas de la celda.
Operaciones de deshacer celda admitidas:
- Insertar o eliminar una fila. Puedes revocar las operaciones de eliminación si seleccionas Deshacer (el contenido del texto se mantiene junto con la celda).
- Reordenar celda.
- Alternar parámetros.
- Convertir entre la celda de código y la celda de Markdown.
Nota:
Las operaciones de texto en celda y las operaciones de comentarios de celdas de código no se pueden deshacer. Puedes deshacer o rehacer hasta las últimas 10 operaciones históricas de la celda.
Movimiento de una celda
Puede arrastrar desde la parte vacía de una celda y colocar en la posición deseada.
También puede mover la celda seleccionada mediante Subir y Bajar en la cinta de opciones.
Eliminación de una celda
Para eliminar una celda, selecciona el botón de eliminar en la parte derecha de la celda.
También se pueden utilizar las teclas de método abreviado en el modo de comando. Presione Mayús+D para eliminar la celda actual.
Contracción de una entrada de celda
Selecciona los puntos suspensivos (...) de Más comandos en la barra de herramientas de la celda y en Ocultar entrada para contraer la entrada de la celda actual. Para expandirla de nuevo, selecciona Mostrar entrada mientras la celda está contraída.
Contracción de una salida de celda
Selecciona los puntos suspensivos (...) de Más comandos en la barra de herramientas de la celda y en Ocultar salida para contraer la salida de la celda actual. Para expandirla de nuevo, selecciona Mostrar entrada mientras la salida de la celda está contraída.
Seguridad de salida de celda
Con los roles de acceso a datos de OneLake (versión preliminar), los usuarios solo pueden configurar el acceso a carpetas específicas de una instancia de almacén de lago durante las consultas de cuadernos. Los usuarios sin acceso a una carpeta o tabla verán un error no autorizado durante la ejecución de la consulta.
Importante
La seguridad solo se aplica durante la ejecución de consultas y los usuarios que no tienen autorización para ejecutar consultas directamente en los datos pueden ver las celdas de cuaderno que contengan los resultados de la consulta.
Bloquear o inmovilizar una celda
Las operaciones de bloqueo e inmovilización de celdas permiten convertir las celdas a solo lectura o detener la ejecución de las celdas de código en una celda individual.
Combinar y dividir celdas
Puedes usar Combinar con celdas anteriores o Combinar con la celda siguiente para combinar celdas relacionadas de forma cómoda.
Al seleccionar Separar celda se dividen las instrucciones irrelevantes en varias celdas. La operación divide el código según la posición de la línea del cursor.
Contenido del cuaderno
Al seleccionar Esquemas o Tabla de contenido, se presenta el primer encabezado markdown de cualquier celda markdown en una ventana de barra lateral para la navegación rápida. La barra lateral Esquemas es redimensionable y contraíble para ajustarse a la pantalla de la mejor manera posible. Selecciona el botón Contenido de la barra de comandos del cuaderno para abrir u ocultar la barra lateral.
Plegado de Markdown
El plegado de Markdown permite ocultar celdas debajo de una celda de Markdown que contenga un encabezado. La celda de Markdown y sus celdas ocultas se tratan igual que un conjunto de celdas contiguas con múltiples selecciones al realizar las operaciones de celda.
Buscar y reemplazar
La opción buscar y reemplazar puede ayudar a buscar y ubicar las palabras clave o expresiones dentro del contenido del cuaderno. También puedes reemplazar fácilmente la cadena de destino por una nueva cadena.
Ejecución de cuadernos
Puede ejecutar las celdas de código en el cuaderno individualmente o todas a la vez. El estado y el progreso de cada celda se representan en el cuaderno.
Ejecución de una celda
Hay varias maneras de ejecutar el código de una celda.
Mantén el puntero sobre la celda que deseas ejecutar y selecciona el botón Ejecutar celda o presiona CTRL+Entrar.
Utiliza las Teclas de método abreviado en el modo de comando. Presione Mayús+Entrar para ejecutar la celda actual y seleccionar la próxima celda. Presione Alt+Entrar para ejecutar la celda actual e insertar una nueva celda a continuación.
Ejecución de todas las celdas
Selecciona el botón Ejecutar todo para ejecutar todas las celdas del cuaderno actual en secuencia.
Ejecución de todas las celdas encima o debajo
Expande la lista desplegable de Ejecutar todo y, a continuación, selecciona Ejecutar las celdas encima para ejecutar todas las celdas situadas encima de la actual secuencia. Seleccione Ejecutar las celdas debajo para ejecutar todas las celdas situadas debajo de la actual en secuencia.
Cancelación de todas las celdas en ejecución
Selecciona Cancelar todo para cancelar las celdas en ejecución o las celdas que esperan en la cola.
Detener sesión
Detener sesión cancela las celdas en ejecución y en espera y detiene la sesión actual. Para reiniciar una nueva sesión, vuelve a seleccionar el botón Ejecutar.
Referencia de ejecución
Referencia de ejecución de un cuaderno
Además de la API de ejecución de referencia de notebookutils, también puede usar el %run <notebook name>
comando magic para hacer referencia a otro cuaderno dentro del contexto del cuaderno actual. Todas las variables definidas en el cuaderno de referencia están disponibles en el cuaderno actual. El comando magic %run
admite llamadas anidadas pero no admite llamadas recursivas. Recibirá una excepción si la profundidad de la instrucción es superior a cinco.
Ejemplo: %run Notebook1 { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }
.
La referencia del cuaderno funciona tanto en modo interactivo como en canalización.
Nota:
- El comando
%run
actualmente solo admite cuadernos de referencia en la misma área de trabajo con el cuaderno actual. - Actualmente, el comando
%run
solo admite hasta cuatro tipos de valor de parámetro:int
,float
,bool
ystring
. No se admite la operación de reemplazo de variables. - El comando
%run
no admite la referencia anidada cuando la profundidad es superior a cinco.
Referencia de ejecución de un script
El comando %run
también permite ejecutar archivos de Python o SQL almacenados en los recursos integrados del cuaderno, por lo que puedes ejecutar los archivos de código fuente en el cuaderno de forma cómoda.
%run [-b/--builtin -c/--current] [script_file.py/.sql] [variables ...]
Opciones:
- -b/--builtin: esta opción indica que el comando buscará y ejecutará el archivo de script especificado desde los recursos integrados del cuaderno.
- -c/--current: esta opción garantiza que el comando use siempre los recursos integrados del cuaderno actual, aunque otros cuadernos hagan referencia al cuaderno actual.
Ejemplos:
Para ejecutar script_file.py desde los recursos integrados:
%run -b script_file.py
Para ejecutar script_file.sql desde los recursos integrados:
%run -b script_file.sql
Para ejecutar script_file.py desde los recursos integrados con variables específicas:
%run -b script_file.py { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }
Nota:
Si el comando no contiene -b/--builtin, intentará buscar y ejecutar el elemento del cuaderno dentro del mismo área de trabajo en lugar de los recursos integrados.
Ejemplo de uso para el caso de ejecución anidado:
- Supongamos que tenemos dos cuadernos.
- Cuaderno1: contiene script_file1.py en sus recursos integrados
- Cuaderno2: contiene script_file2.py en sus recursos integrados
- Vamos a usar Cuaderno1 como cuaderno raíz con el contenido:
%run Notebook2
. - A continuación, en Cuaderno2, la instrucción de uso es la siguiente:
- Para ejecutar script_file1.py en Cuaderno1 (el cuaderno raíz), el código sería el siguiente:
%run -b script_file1.py
- Para ejecutar script_file2.py en Cuaderno2 (el cuaderno raíz), el código sería el siguiente:
%run -b -c script_file2.py
- Para ejecutar script_file1.py en Cuaderno1 (el cuaderno raíz), el código sería el siguiente:
Explorador de variables
Los cuadernos de Fabric proporcionan un explorador de variables integrado que muestra la lista del nombre, el tipo, la longitud y el valor de las variables en las celdas actuales de Spark para PySpark (Python). Se mostrarán automáticamente más variables a medida que se definan en las celdas de código. Al hacer clic en cada encabezado de columna se ordenarán las variables de la tabla.
Para abrir u ocultar el explorador de variables, selecciona Variables en la cinta de opciones del cuaderno Vista.
Nota:
El explorador de variables solo admite Python.
Indicador de estado de la celda
Debajo de la celda se muestra un estado de ejecución detallado de la celda para ayudarle a ver su progreso actual. Una vez completada la ejecución de la celda, aparece un resumen de ejecución con la duración total y la hora de finalización y se almacena allí para referencia futura.
Indicador de trabajo de Apache Spark insertado
El cuaderno de Microsoft Fabric se basa en Apache Spark. Las celdas de código se ejecutan en el clúster de Apache Spark de manera remota. Se proporciona un indicador de progreso del trabajo de Spark con una barra de progreso en tiempo real que aparece para ayudar a comprender el estado de ejecución del trabajo. El número de tareas por cada trabajo o etapa ayuda a identificar el nivel paralelo del trabajo de Spark. También puede profundizar en la interfaz de usuario de Spark de un trabajo o fase específicos a través de la selección del vínculo del nombre del trabajo o de la fase.
También encontrará el Registro en tiempo real de nivel de celda junto al indicador de progreso y los Diagnósticos pueden proporcionarle sugerencias útiles para ayudar a refinar y depurar el código.
En Más acciones, puede navegar fácilmente a la página Detalles de la aplicación Spark y a la página de Interfaz de usuario web de Spark.
Redacción de secreto
Para evitar que las credenciales se filtren accidentalmente al ejecutar cuadernos, los cuadernos de Fabric admiten Redacción secreta para reemplazar los valores secretos que se muestran en la salida de celda con [REDACTED]
. La edición secreta es aplicable a Python, Scalay R.
Comandos magic en un cuaderno
Comandos magic integrados
Puede usar los comandos magic de IPython que ya conoce en los cuadernos de Fabric. Revisa la lista siguiente para ver los comandos magic disponibles actualmente.
Nota:
Estos son los únicos comandos magic que se admiten en la canalización de Fabric: %%pyspark, %%spark, %%csharp, %%sql, %%configure.
Comandos magic de línea disponibles: %lsmagic, %time, %timeit, %history, %run, %load, %alias, %alias_magic, %autoawait, %autocall, %automagic, %bookmark, %cd, %colors, %dhist, %dirs, %doctest_mode, %killbgscripts, %load_ext, %logoff, %logon, %logstart, %logstate, %logstop, %magic, %matplotlib, %page, %pastebin, %pdef, %pfile, %pinfo, %pinfo2, %popd, %pprint, %precision, %prun, %psearch, %psource, %pushd, %pwd, %pycat, %quickref, %rehashx, %reload_ext, %reset, %reset_selective, %sx, %system, %tb, %unalias, %unload_ext, %who, %who_ls, %whos, %xdel, %xmode.
El cuaderno de Fabric también admite los comandos de administración de bibliotecas mejorados %pip y %conda. Para obtener más información sobre el uso, consulta Administrar bibliotecas de Apache Spark en Microsoft Fabric.
Comandos magic de celda disponibles: %%time, %%timeit, %%capture, %%writefile, %%sql, %%pyspark, %%spark, %%csharp, %%configure, %%html, %%bash, %%markdown, %%perl, %%script, %%sh.
Comandos magic personalizados
También se pueden compilar más comandos magic personalizados para satisfacer las necesidades específicas. Este es un ejemplo:
Cree un cuaderno con el nombre "MyLakehouseModule".
En otro cuaderno, haz referencia al "MyLakehouseModule" y sus comandos magic. Este proceso trata de cómo organizar convenientemente el proyecto con cuadernos que usan distintos lenguajes.
Widgets de IPython
Los widgets de IPython son objetos de Python con eventos que tienen una representación en el explorador. Se pueden usar widgets de IPython como controles de poco código en el cuaderno (por ejemplo, control deslizante, cuadro de texto) al igual que con el cuaderno de Jupyter. Actualmente solo funciona en un contexto de Python.
Para usar el widget de IPython
Primero debe importar el módulo ipywidgets para usar el marco del widget de Jupyter.
import ipywidgets as widgets
Se puede usar la función de nivel superior display para representar un widget o dejar una expresión de tipo widget en la última línea de código de la celda.
slider = widgets.IntSlider() display(slider)
Ejecute la celda. El widget se muestra en el área de salida.
slider = widgets.IntSlider() display(slider)
Usa varias llamadas de display() para representar la misma instancia de widget varias veces. Permanecen sincronizadas entre sí.
slider = widgets.IntSlider() display(slider) display(slider)
Para representar dos widgets independientes entre sí, cree dos instancias de widget:
slider1 = widgets.IntSlider() slider2 = widgets.IntSlider() display(slider1) display(slider2)
Widgets admitidos
Tipos de widgets | Widgets |
---|---|
Widgets numéricos | IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText |
Widgets booleanos | ToggleButton, Checkbox, Valid |
Widgets de selección | Dropdown, RadioButtons, Select, SelectionSlider, SelectionRangeSlider, ToggleButtons, SelectMultiple |
Widgets de cadena | Text, Text area, Combobox, Password, Label, HTML, HTML Math, Image, Button |
Widgets de reproducción (animación) | Date picker, Color picker, Controller |
Widgets de contenedor o diseño | Box, HBox, VBox, GridBox, Accordion, Tabs, Stacked |
Limitaciones conocidas
Los siguientes widgets todavía no se admiten. Las siguientes soluciones están disponibles:
Funcionalidad Solución alternativa Widget de salida Puede usar la función print() en su lugar para escribir texto en stdout. widgets.jslink() Puede usar la función widgets.link() para vincular dos widgets similares. Widget FileUpload Aún no se admite. La función global de Fabric display no admite la visualización de varios widgets en una llamada (por ejemplo, display(a, b)). Este comportamiento es diferente de la función display de IPython.
Si cierras un cuaderno que contenga el widget de IPython, no podrás verlo ni interactuar con él hasta que vuelvas a ejecutar la celda correspondiente.
No se admite la función de interacción (ipywidgets.interact).
Integración de un cuaderno
Designación de una celda de parámetros
Para parametrizar el cuaderno, seleccione los puntos suspensivos (...) para obtener acceso a Más comandos en la barra de herramientas de la celda. A continuación, seleccione Toggle parameter cell (Alternar celda de parámetros) para designar la celda como la celda de parámetros.
La celda de parámetros es útil para integrar un cuaderno en una canalización. La actividad de canalización busca la celda de parámetros y la trata como la predeterminada para los parámetros que se pasan en tiempo de ejecución. El motor de ejecución agregará una nueva celda debajo de la celda de parámetros con parámetros de entrada para sobrescribir los valores predeterminados.
Asignación de valores de parámetros de una canalización
Una vez que se cree un cuaderno con parámetros, se puede ejecutar desde una canalización con la actividad de cuaderno de Synapse. Después de agregar la actividad al lienzo de la canalización, se pueden establecer los valores de los parámetros en la sección Parámetros base de la pestaña Configuración.
Al asignar los valores de los parámetros, se puede usar el lenguaje de expresiones de canalización o las variables del sistema.
Comando magic de configuración de la sesión de Spark
Se puede personalizar la sesión de Spark con el comando magic %%configure. Fabric Notebook admite núcleos virtuales personalizados, memoria del controlador y ejecutor, propiedades de Apache Spark, puntos de montaje, grupo y la lakehouse predeterminada de la sesión del cuaderno. Se pueden usar en actividades interactivas de cuadernos y en cuadernos de canalización. Se recomienda ejecutar el comando %%configure al principio del cuaderno o tendrá que reiniciar la sesión de Spark para que la configuración surta efecto.
%%configure
{
// You can get a list of valid parameters to config the session from https://github.com/cloudera/livy#request-body.
"driverMemory": "28g", // Recommended values: ["28g", "56g", "112g", "224g", "400g", "472g"]
"driverCores": 4, // Recommended values: [4, 8, 16, 32, 64, 80]
"executorMemory": "28g",
"executorCores": 4,
"jars": ["abfs[s]: //<file_system>@<account_name>.dfs.core.windows.net/<path>/myjar.jar", "wasb[s]: //<containername>@<accountname>.blob.core.windows.net/<path>/myjar1.jar"],
"conf":
{
// Example of customized property, you can specify count of lines that Spark SQL returns by configuring "livy.rsc.sql.num-rows".
"livy.rsc.sql.num-rows": "3000",
"spark.log.level": "ALL"
},
"defaultLakehouse": { // This overwrites the default lakehouse for current session
"name": "<lakehouse-name>",
"id": "<(optional) lakehouse-id>",
"workspaceId": "<(optional) workspace-id-that-contains-the-lakehouse>" // Add workspace ID if it's from another workspace
},
"mountPoints": [
{
"mountPoint": "/myMountPoint",
"source": "abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path>"
},
{
"mountPoint": "/myMountPoint1",
"source": "abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path1>"
},
],
"environment": {
"id": "<environment-id>",
"name": "<environment-name>"
},
"sessionTimeoutInSeconds": 1200,
"useStarterPool": false, // Set to true to force using starter pool
"useWorkspacePool": "<workspace-pool-name>"
}
Nota:
- Se recomienda establecer el mismo valor para "DriverMemory" y "ExecutorMemory" en %%configure. Los valores "driverCores" y "executorCores" también deben ser los mismos.
- El "defaultLakehouse" sobrescribirá el lakehouse anclado en el explorador de Lakehouse, pero eso solo funciona en la sesión del cuaderno actual.
- Se puede usar %%configure en las canalizaciones de Fabric, pero si no se establece en la primera celda de código, se producirá un error en la ejecución de la canalización debido a que no se puede reiniciar la sesión.
- Se omitirá %%configure usado en notebookutils.notebook.run, pero se seguirá ejecutando %run notebook.
- Las propiedades de configuración de Spark estándar se deben usar en el cuerpo "conf". Fabric no admite la referencia de primer nivel para las propiedades de configuración de Spark.
- Algunas propiedades especiales de Spark, como "spark.driver.cores", "spark.executor.cores", "spark.driver.memory", "spark.executor.memory" y "spark.executor.instances", no tendrán efecto en el cuerpo "conf".
Configurar la sesión parametrizada desde la canalización
La configuración de sesión parametrizada permite reemplazar el valor magic %%configure por los parámetros de actividad del cuaderno de ejecución de la canalización. Al preparar la celda de código %%configure, puede invalidar los valores predeterminados (también configurables, 4 y "2000" en el ejemplo siguiente) con un objeto como este:
{
"parameterName": "paramterNameInPipelineNotebookActivity",
"defaultValue": "defaultValueIfNoParamterFromPipelineNotebookActivity"
}
%%configure
{
"driverCores":
{
"parameterName": "driverCoresFromNotebookActivity",
"defaultValue": 4
},
"conf":
{
"livy.rsc.sql.num-rows":
{
"parameterName": "rows",
"defaultValue": "2000"
}
}
}
Un cuaderno usa el valor predeterminado si ejecuta un cuaderno en modo interactivo directamente o si la actividad del cuaderno de canalización no proporciona ningún parámetro que coincida con "activityParameterName".
Durante una ejecución de canalización, se pueden configurar las opciones de actividad del cuaderno de canalización de la siguiente manera:
Si se desea cambiar la configuración de sesión, el nombre de los parámetros de la actividad del cuaderno de la canalización debe ser igual que el parameterName
del cuaderno. En este ejemplo de ejecución de una canalización, se reemplaza driverCores
en %%configure por 8 y livy.rsc.sql.num-rows
, por 4000.
Nota:
- Si se produce un error en una ejecución de canalización porque se usó el comando magic %%configure, busca más información de error ejecutando la celda mágica %%configure en el modo interactivo del cuaderno.
- Las ejecuciones programadas de cuadernos no admiten la configuración de sesión con parámetros.
Registrar Python en Notebook
Puede encontrar los registros de Python y establecer diferentes niveles de registro y formatos siguiendo el siguiente código de ejemplo:
import logging
# Customize the logging format for all loggers
FORMAT = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
formatter = logging.Formatter(fmt=FORMAT)
for handler in logging.getLogger().handlers:
handler.setFormatter(formatter)
# Customize log level for all loggers
logging.getLogger().setLevel(logging.INFO)
# Customize the log level for a specific logger
customizedLogger = logging.getLogger('customized')
customizedLogger.setLevel(logging.WARNING)
# logger that use the default global log level
defaultLogger = logging.getLogger('default')
defaultLogger.debug("default debug message")
defaultLogger.info("default info message")
defaultLogger.warning("default warning message")
defaultLogger.error("default error message")
defaultLogger.critical("default critical message")
# logger that use the customized log level
customizedLogger.debug("customized debug message")
customizedLogger.info("customized info message")
customizedLogger.warning("customized warning message")
customizedLogger.error("customized error message")
customizedLogger.critical("customized critical message")
Visualización del historial de comandos de entrada
Los cuadernos de Fabric admiten el comando %history
para imprimir el historial de comandos de entrada que se ejecutó en la sesión actual, en comparación con el comando %history
estándar de Jupyter/Ipython que funciona para varios lenguajes en el cuaderno.
%history [-n] [range [range ...]]
Opciones:
- -n: número de ejecución de impresión.
Donde el rango puede ser:
- N: imprime el código de la celda ejecutada número N.
- M-N: imprime el código desde la celda ejecutada número M a la celda ejecutada número N.
Ejemplo:
- Imprime el historial de entrada de la primera a la segunda celda ejecutada:
%history -n 1-2
Teclas de método abreviado
De forma similar a los cuadernos de Jupyter Notebook, los cuadernos de Fabric tienen una interfaz de usuario modal. El teclado realiza diferentes acciones en función del modo en que se encuentre la celda del cuaderno. Los cuadernos de Fabric admiten los dos modos siguientes para una celda de código determinada: modo de comando y modo de edición.
Una celda se encuentra en modo de comando cuando no hay ningún cursor de texto que le solicite que escriba. Cuando una celda está en modo de comando, puede editar el cuaderno en su conjunto, pero no escribir en celdas individuales. Para ingresar al modo de comando, presione ESC o use el mouse para seleccionar fuera del área del editor de una celda.
El modo de edición se indica mediante un cursor de texto que le solicita que escriba en el área del editor. Cuando una celda se encuentra en modo de edición, puede escribir en la celda. Para ingresar al modo de edición, presiona Entrar o usa el mouse para seleccionar el área de edición de la celda.
Teclas de método abreviado en modo de comando
Acción | Métodos abreviados del cuaderno |
---|---|
Ejecutar la celda actual y seleccionar la que está a continuación | Mayús+Entrar |
Ejecutar la celda actual e insertar una a continuación | Alt+Entrar |
Ejecutar celda actual | Ctrl+Entrar |
Seleccionar la celda anterior | Arriba |
Seleccionar la celda siguiente | Bajar |
Seleccionar celda anterior | K |
Seleccionar celda siguiente | J |
Insertar una celda encima | A |
Insertar una celda debajo | B |
Eliminar celdas seleccionadas | Mayús+D |
Cambiar al modo de edición | Escriba |
Teclas de método abreviado en modo de edición
Con los siguientes métodos abreviados de teclado, puede desplazarse y ejecutar código más fácilmente en los cuadernos de Fabric cuando esté en modo de edición.
Acción | Métodos abreviados del cuaderno |
---|---|
Subir el cursor | Arriba |
Bajar el cursor | Bajar |
Deshacer | CTRL+Z |
Rehacer | CTRL+Y |
Agregar o quitar comentarios | CTRL+/ Comentario: Ctrl + K + C Quitar marca de comentario: Ctrl + K + U |
Eliminar palabra anterior | CTRL+Retroceso |
Eliminar palabra posterior | CTRL+Supr |
Ir al inicio de la celda | CTRL+Inicio |
Ir al final de la celda | CTRL+Fin |
Ir una palabra a la izquierda | CTRL+Izquierda |
Ir una palabra a la derecha | CTRL+Derecha |
Seleccionar todo | CTRL+A |
Aplicar sangría | Ctrl +] |
Desaplicar sangría | CTRL+[ |
Cambiar al modo de comando | Esc |
Para buscar todas las teclas de método abreviado, selecciona Vista en la cinta de opciones del cuaderno y, a continuación, selecciona Enlace de teclado.