0% encontró este documento útil (0 votos)
13 vistas698 páginas

Ingeniería de datos en Microsoft Fabric

Cargado por

ALBERTO GOMEZ
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
13 vistas698 páginas

Ingeniería de datos en Microsoft Fabric

Cargado por

ALBERTO GOMEZ
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Díganos qué opina sobre la experiencia de descarga del PDF.

documentación de Ingeniería de datos


en Microsoft Fabric
La ingeniería de datos en Microsoft Fabric permite a los usuarios diseñar, compilar y
mantener infraestructuras y sistemas que permiten a sus organizaciones recopilar,
almacenar, procesar y analizar grandes volúmenes de datos.

Acerca de la ingeniería de datos

e INFORMACIÓN GENERAL

¿En qué consiste la ingeniería de datos?

¿Qué es un almacén de lago?

Planificación de los roles y permisos

Introducción a Lakehouse

b INTRODUCCIÓN

Creación de un almacén de lago

Navegación por el explorador de Lakehouse

c GUÍA PASO A PASO

Obtención de datos en Lakehouse mediante notebook

Introducción a los cuadernos

b INTRODUCCIÓN

Crear y usar cuadernos

c GUÍA PASO A PASO

Desarrollo y ejecución de cuadernos

Exploración de datos de Lakehouse con un cuaderno


Visualización de cuadernos

Implementación y control de código fuente del cuaderno

Uso de NotebookUtils en cuadernos

Creación y ejecución de cuadernos de T-SQL

API para GraphQL

e INFORMACIÓN GENERAL

¿Qué es la API de Fabric para GraphQL?

b INTRODUCCIÓN

Crear una API para GraphQL y añadir datos

c GUÍA PASO A PASO

Administrar relaciones

Conexión de aplicaciones

Consultar varios orígenes de datos

Delta Lake

p CONCEPTO

Tablas de Lakehouse y Delta

c GUÍA PASO A PASO

Optimización delta y orden V

Cargar en tablas

Tutorial integral de Lakehouse

p CONCEPTO
Introducción al escenario de Lakehouse

g TUTORIAL

Paso 1: Creación de un área de trabajo

Paso 2: Creación de una instancia de LakeHouse

Paso 3: Ingesta de datos en lakehouse

Paso 4: Transformación de datos en tablas delta

Paso 5: Compilación de un informe

Paso 6: Limpieza de recursos

Apache Spark

p CONCEPTO

Definición del trabajo Apache Spark

Información general sobre la supervisión de Spark

Advisor de Apache Spark

b INTRODUCCIÓN

Creación de una definición de trabajo de Spark

Creación de una definición de trabajo de Spark con una API de Fabric

Integración de Git con la definición de trabajo de Spark

c GUÍA PASO A PASO

Programar y ejecutar una definición de trabajo de Spark

Supervisión de una aplicación Spark

Administración de bibliotecas de Apache Spark

Uso de Fabric MSSparkUtils

Configuración de las opciones de capacidad

Integración de VS Code
c GUÍA PASO A PASO

Uso de cuadernos de VS Code

Uso de la imagen de contenedor de VS Code

Uso de cuadernos de VS Code con recurso

Uso de definiciones de trabajos de Spark desde VS Code

Exploración de lakehouse desde VS Code

Desarrollar cuadernos a partir de la experiencia web de VS Code

Introducción a los entornos

b INTRODUCCIÓN

Entornos de Microsoft Fabric

c GUÍA PASO A PASO

Administrar el proceso de Spark en entornos

Administrar bibliotecas en entornos

Integración de Git para entornos canalizaciones de implementación

Administración del entorno a través de API públicas

Administración de los recursos en el entorno de Fabric

Migrar las bibliotecas de área de trabajo existentes y las propiedades de Spark a un entorno
¿Qué es Ingeniería de datos en
Microsoft Fabric?
Artículo • 13/05/2024

Ingeniería de datos en Microsoft Fabric permite a los usuarios diseñar, compilar y


mantener infraestructuras y sistemas que permiten a sus organizaciones recopilar,
almacenar, procesar y analizar grandes volúmenes de datos.

Microsoft Fabric proporciona diversas funcionalidades de ingeniería de datos para


asegurarse de que los datos sean fácilmente accesibles, de alta calidad y estén bien
organizados. Desde la página principal de Ingeniería de datos, puede:

Crear y administrar los datos mediante un almacén de lago

Diseñar canalizaciones para copiar datos en el almacén de lago

Usar definiciones de trabajos de Spark para enviar un trabajo por lotes o streaming
a un clúster de Spark

Usar cuadernos para escribir código para la ingesta, preparación y transformación


de datos

Lakehouse
Los almacenes de lago son arquitecturas de datos que permiten a las organizaciones
almacenar y administrar datos estructurados y no estructurados en una sola ubicación,
mediante diversas herramientas y marcos para procesar y analizar esos datos. Estas
herramientas y marcos pueden incluir consultas y análisis basados en SQL, así como
aprendizaje automático y otras técnicas de análisis avanzadas.

Definición de trabajo de Apache Spark


Las definiciones de trabajos de Spark son instrucciones que definen cómo ejecutar un
trabajo en un clúster de Spark. Incluyen información como los orígenes de datos de
entrada y salida, las transformaciones y los valores de configuración de la aplicación
Spark. La definición de trabajo de Spark permite enviar un trabajo por lotes o streaming
al clúster de Spark, aplicar una lógica de transformación diferente a los datos
hospedados en el lakehouse, además de muchos otros aspectos.

Notebook
Los cuadernos son un entorno de procesamiento interactivo que permite a los usuarios
crear y compartir documentos que contienen código activo, ecuaciones, visualizaciones
y texto narrativo. Permiten a los usuarios escribir y ejecutar código en varios lenguajes
de programación, como Python, R y Scala. Puede usar cuadernos para la ingesta de
datos, preparación, análisis y otras tareas relacionadas con datos.

Canalización de datos
Las canalizaciones de datos son una serie de pasos que se usan para recopilar, procesar
y transformar datos de un forma sin procesar a un formato que se pueda usar para el
análisis y la toma de decisiones. Son un componente esencial de la ingeniería de datos,
ya que proporcionan una manera de mover datos del origen al destino de forma
confiable, escalable y eficaz.

Puede usar Ingeniería de datos en Microsoft Fabric de forma gratuita al suscribirse a la


prueba de Fabric. También puede comprar una capacidad de Microsoft Fabric o una
capacidad reservada de Fabric.

Contenido relacionado
Introducción a la ingeniería de datos:

Para obtener más información sobre lakehouses, vea ¿Qué es un lakehouse en


Microsoft Fabric?
Para empezar a trabajar con lakehouse, vea Creación de lakehouse en Microsoft
Fabric.
Más información sobre las definiciones de trabajos de Apache Spark, vea ¿Qué es
una definición de trabajo de Apache Spark?
Para empezar a trabajar con una definición de trabajo de Apache Spark, vea
Creación de una definición de trabajo de Apache Spark en Fabric.
Más información sobre los cuadernos, vea Creación y ejecución del cuaderno.
Para empezar a trabajar con la actividad de copia de Canalizaciones, vea Cómo
copiar datos mediante la actividad de copia.

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Comparación entre Ingeniería de datos
de Fabric y Azure Synapse Spark
Artículo • 16/11/2023

Esta comparación entre Ingeniería de datos de Fabric y Azure Synapse Spark


proporciona un resumen de las características clave y un análisis en profundidad de
varias categorías, entre las que se incluyen grupos de Spark, configuración, bibliotecas,
cuadernos y definiciones de trabajos de Spark.

En la siguiente tabla se comparan Azure Synapse Spark y Fabric Spark en varias


categorías:

Category Azure Synapse Spark Fabric Spark

Grupos de Spark Grupo de Spark Grupo de inicio / Grupo


- personalizado
- V-Order
Simultaneidad alta

Configuraciones de Spark Nivel de grupo Nivel de entorno


Nivel de cuaderno o de Nivel de cuaderno o de
definición de trabajo de Spark definición de trabajo de Spark

Bibliotecas de Spark Paquetes de nivel de área de -


trabajo Bibliotecas del entorno
Paquetes de nivel de grupo Bibliotecas insertadas
Paquetes insertados

Recursos Cuaderno (Python, Scala, Spark Cuaderno (Python, Scala, Spark


SQL, R y .NET) SQL y R)
Definición de trabajo de Spark Definición de trabajo de Spark
(Python, Scala y .NET) (Python, Scala y R)
Canalizaciones de datos de Canalizaciones de datos de
Synapse Data Factory
Actividades de canalización Actividades de canalización
(cuaderno, definición de trabajo (cuaderno)
de Spark)

Data Almacenamiento principal (ADLS Almacenamiento principal


Gen2) (OneLake)
Residencia de datos (en Residencia de datos (en
clúster/región) capacidad/región)

Metadatos Metastore de Hive interno (HMS) HMS interno (almacén de lago)


HMS externo (usando Azure SQL -
DB)
Category Azure Synapse Spark Fabric Spark

Conexiones Tipo de conecto (servicios Tipo de conector (DMTS)


vinculados) Orígenes de datos
Orígenes de datos -
Conexión de origen de datos
con la identidad del área de
trabajo

Seguridad RBAC y control de acceso RBAC y control de acceso


ACL de almacenamiento (ADLS -
Gen2) -
Vínculos privados -
Red virtual administrada -
(aislamiento de red) -
Identidad de área de trabajo de Etiquetas de servicio
Synapse Azure Key Vault (a través de
Protección contra la filtración de mssparkutils)
datos (DEP)
Etiquetas de servicio
Azure Key Vault (a través de
mssparkutils/servicio vinculado)

DevOps Integración de Azure DevOps Integración de Azure DevOps


CI/CD (sin compatibilidad (cuaderno)
integrada) Canalizaciones de
implementación (cuaderno)

Experiencia del Integración del IDE (IntelliJ) Integración del IDE (VS Code)
desarrollador Interfaz de usuario de Synapse Interfaz de usuario de Fabric
Studio Colaboración (áreas de trabajo y
Colaboración (áreas de trabajo) uso compartido)
Livy API -
API o SDK API o SDK
mssparkutils mssparkutils

Registro y supervisión Spark Advisor Spark Advisor


Trabajos y grupos de supervisión Trabajos y grupos de supervisión
integrados (a través de Synapse integrados (a través del Centro
Studio) de supervisión)
Servidor de historial de Spark Servidor de historial de Spark
Prometheus/Grafana -
Log Analytics -
Cuenta de almacenamiento -
Event Hubs -

Continuidad empresarial y ADLS Gen2 de BCDR (datos) OneLake de BCDR (datos)


recuperación ante
desastres (BCDR)
Consideraciones y limitaciones:

Integración de la puerta de enlace de administración de datos: la puerta de


enlace de administración de datos no se puede usar a través de cuadernos y
definiciones de trabajos de Spark.

RBAC de nivel de carga de trabajo: Fabric admite cuatro roles de área de trabajo
diferentes. Para obtener más información, consulte Roles en áreas de trabajo en
Microsoft Fabric.

Identidad administrada: actualmente, Fabric no admite la ejecución de cuadernos


y definiciones de trabajos de Spark mediante la identidad del área de trabajo o la
identidad administrada con Azure Key Vault en cuadernos.

Integración en Git: Fabric admite la integración en Git de los cuadernos mediante


los repositorios de Azure.

CI/CD: puede usar el SDK o la API de Fabric, así como canalizaciones de


implementación.

Livy API y cómo enviar y administrar trabajos de Spark: Livy API se encuentra en
la hoja de ruta de Fabric, pero aún no se ha expuesto en él. Debe crear cuadernos
y definiciones de trabajos de Spark con la interfaz de usuario de Fabric.

Métricas y registros de Spark: en Azure Synapse puede emitir métricas y registros


de Spark a su propio almacenamiento, como por ejemplo Log Analytics, blob e
Event Hubs. También puede obtener una lista de aplicaciones de Spark para el área
de trabajo desde la API. Actualmente, ninguna de las dos funcionalidades se
encuentran disponibles en Fabric.

Otras consideraciones:
JDBC: la compatibilidad con conexiones de JDBC no está disponible
actualmente en Fabric.

Comparación de grupos de Spark


En la siguiente tabla se comparan grupos de Azure Synapse Spark y Fabric Spark.

Configuración de Spark Azure Synapse Spark Fabric Spark

Grupo en directo (instancias - Sí, grupos de inicio


activadas previamente)

Grupo personalizado Sí Sí
Configuración de Spark Azure Synapse Spark Fabric Spark

Versiones de Spark (runtime) 2.4, 3.1, 3.2, 3.3 3.3, 3.4

Escalado automático Sí Sí

Asignación dinámica de Sí, hasta 200 Sí, en función de la


ejecutores capacidad

Tamaños de nodo de ajustables Sí, 3-200 Si, 1 basado en la


capacidad

Configuración mínima de nodos 3 nodos 1 nodo

Familia de tamaños de nodo Optimizada para memoria, con Memoria optimizada


aceleración de GPU

Tamaño del nodo Pequeño-Grande (XXX) Pequeño-Grande (XX)

Pausa automática Sí, personalizable, mínimo 5 Sí, no personalizable, 2


minutos minutos

Simultaneidad alta No Sí

V-Order No Sí

Ajuste automático de Spark No Sí

Límites de simultaneidad Fijo Variable en función de la


capacidad

Varios grupos de Spark Sí Sí (entornos)

Caché inteligente Sí Sí

Compatibilidad con API/SDK Sí No

Entorno de ejecución: Fabric no admite las versiones de Spark 2.4, 3.1 y 3.2. Fabric
Spark admite Spark 3.3 con Delta 2.2 en Runtime 1.1 y Spark 3.4 con Delta 2.4 en
Runtime 1.2.

Escalabilidad automática: en Azure Synapse Spark, el grupo puede escalar


verticalmente un máximo de 200 nodos, independientemente del tamaño de los
nodos. En Fabric, el número máximo de nodos está sujeto al tamaño de los nodos
y a la capacidad aprovisionada. Vea el siguiente ejemplo de la SKU F64.

Tamaño de grupo de Azure Synapse Fabric Spark (grupo personalizado,


Spark Spark SKU F64)

Pequeña Mín.: 3, máx.: 200 Mín.: 1, máx.: 32


Tamaño de grupo de Azure Synapse Fabric Spark (grupo personalizado,
Spark Spark SKU F64)

Media Mín.: 3, máx.: 200 Mín.: 1, máx.: 16

grande Mín.: 3, máx.: 200 Mín.: 1, máx.: 8

Mas grande Mín.: 3, máx.: 200 Mín.: 1, máx.: 4

Extra grande Mín.: 3, máx.: 200 Mín.: 1, máx.: 2

Tamaños de nodo ajustables: en Azure Synapse Spark, puede escalar


verticalmente hasta 200 nodos. En Fabric, el número de nodos que puede tener en
el grupo de Spark personalizado depende del tamaño del nodo y de la capacidad
de Fabric. La capacidad es una medida de la potencia informática que puede usar
en Azure. Una manera de pensar es que dos núcleos virtuales de Spark (una
unidad de potencia informática para Spark) son iguales a una unidad de
capacidad. Por ejemplo, una SKU F64 de capacidad de Fabric tiene 64 unidades de
capacidad, que equivalen a 128 núcleos virtuales de Spark. Por consiguiente, si
selecciona un tamaño de nodo pequeño, puede tener un máximo de 32 nodos en
el grupo (128/4 = 32). Por tanto, el número total de núcleos virtuales en la
capacidad/los núcleos virtuales por tamaño de nodo = número total de nodos
disponibles. Para obtener más información, consulte Proceso de Spark.

Familia de tamaños de nodo: por el momento, los grupos de Spark de Fabric solo
admiten la familia de tamaños de nodo Optimizada para memoria. Si usa un grupo
de SKU Spark con aceleración de GPU en Azure Synapse, no estará disponible en
Fabric.

Tamaño de nodo: el tamaño de nodo grande (xx) tiene 432 GB de memoria en


Azure Synapse, mientras que el mismo tamaño tiene 512 GB en Fabric, e incluye 64
núcleos virtuales. Los restantes tamaños de nodo (desde pequeño hasta extra
grande) tienen los mismos núcleos virtuales y la misma memoria en Azure Synapse
y en Fabric.

Pausa automática: si la habilita en Azure Synapse Spark, el grupo de Apache Spark


se pondrá en pausa automáticamente después de un período de inactividad
especificado. Este valor se puede configurar en Azure Synapse (mínimo 5 minutos),
pero en Fabric, una vez que la sesión expira, los grupos personalizados tienen una
pausa automática que dura, de forma predeterminada, 2 minutos. En Fabric, las
sesiones expiran de forma predeterminada en 20 minutos.

Alta simultaneidad: Fabric admite alta simultaneidad en los cuadernos. Para


obtener más información, consulte Modo de simultaneidad alta en Fabric Spark.
Límites de simultaneidad: en términos de simultaneidad, Azure Synapse Spark
tiene un límite de 50 trabajos en ejecución simultáneamente por grupo de Spark y
200 trabajos en cola por grupo de Spark. El número máximo de trabajos activos es
250 por grupo de Spark y 1000 por área de trabajo. En Microsoft Fabric Spark, las
SKU de capacidad definen los límites de simultaneidad. Las SKU tienen distintos
límites en cuanto al número de trabajos que se pueden de realizar
simultáneamente, que oscilan entre 1 y 512. Además, Fabric Spark tiene un sistema
de limitación basada en la reserva dinámica que administra la simultaneidad y
garantiza un funcionamiento sin problemas, incluso en los momentos de máximo
uso. Para obtener más información, consulte Límites de simultaneidad y puesta en
cola en Microsoft Fabric Spark y Capacidades de Fabric .

Varios grupos de Spark: si quiere tener varios grupos de Spark, use Entornos de
Fabric para seleccionar un grupo por cuaderno o definición de trabajo de Spark.
Para obtener más información, consulte Creación, configuración y uso de un
entorno en Microsoft Fabric.

7 Nota

Aprenda a migrar grupos de Azure Synapse Spark a Fabric.

Comparación de configuraciones de Spark


Las configuraciones se pueden aplicarse a distintos niveles:

Nivel de entorno: estas configuraciones se usan como configuración


predeterminada en todos los trabajos de Spark del entorno.
Nivel en línea: establezca configuraciones de Spark en línea mediante cuadernos y
definiciones de trabajos de Spark.

Aunque en Azure Synapse Spark y Fabric se admiten ambas opciones, hay algunas
consideraciones:

Configuración de Spark Azure Synapse Spark Fabric Spark

Nivel de entorno Sí, grupos Sí, entornos

Insertado Sí Sí

Import/Export Sí Sí, (.yml de entornos)

Compatibilidad con API/SDK Sí No


Nivel de entorno: en Azure Synapse se pueden definir varias configuraciones de
Spark y asignarlas a distintos grupos de Spark. En Fabric, esto se lleva a cabo desde
Entornos.

Insertada: en Azure Synapse, tanto los cuadernos como los trabajos de Spark
admiten la asociación de varias configuraciones de Spark. En Fabric, las
configuraciones del nivel de sesión se personalizan con el valor
[Link](<conf_name>, <conf_value>) . En los trabajos por lotes, también

puede aplicar configuraciones a través de SparkConf.

Importar o exportar: esta opción de las configuraciones de Spark está disponible


en entornos de Fabric.

Otras consideraciones:
Configuraciones inmutables de Spark: algunas de las configuraciones de Spark
son inmutables. Si recibe el mensaje AnalysisException: Can't modify the
value of a Spark config: <config_name> , la propiedad en cuestión es

inmutable.
Programador de FAIR: el programador de FAIR se usa en el modo de
simultaneidad alta.
V-Order: V-Order es la optimización del tiempo de escritura que se aplica a los
archivos de Parquet habilitados de manera predeterminada en los grupos de
Spark de Fabric.
Escritura optimizada: Escritura optimizada está deshabilitada de manera
predeterminada en Azure Synapse. Sin embargo, en Fabric Spark está habilitada
de manera predeterminada.

7 Nota

Obtenga información sobre cómo migrar configuraciones de Spark de


Azure Synapse a Fabric.

Comparación de bibliotecas de Spark


Puede aplicar bibliotecas de Spark en distintos niveles:

Nivel de área de trabajo: en Azure Synapse, no puede cargar o instalar estas


bibliotecas en su área de trabajo y, después, asignarlas a un grupo de Spark
específico.
Nivel de entorno: puede cargar o instalar bibliotecas en un entorno. Las
bibliotecas del nivel de entorno están disponibles para todos los cuadernos y
definiciones de trabajos de Spark que se ejecutan en el entorno.
Insertada: además de las bibliotecas de nivel de entorno, también se pueden
especificar bibliotecas insertadas. Por ejemplo, al principio de una sesión de
cuaderno.

Consideraciones:

Biblioteca de Spark Azure Synapse Spark Fabric Spark

Nivel de área de trabajo Sí No

Nivel de entorno Sí, Grupos Sí, entornos

Insertado Sí Sí

Import/Export Sí Sí

Compatibilidad con API/SDK Sí No

Insertada: en este momento, el comando mágico %%configure aún no es


completamente compatible con Fabric. No lo use para integrar el archivo .jar en su
sesión de cuaderno.

Otras consideraciones:
Bibliotecas integradas: Fabric y Azure Synapse comparten el mismo núcleo de
Spark, pero pueden diferir algo en la compatibilidad de sus bibliotecas en
tiempo de ejecución. Habitualmente, el uso que se hace del código es
compatible con algunas excepciones. En ese caso, es posible que los usuarios
necesiten compilación, la incorporación de bibliotecas personalizadas y el ajuste
de la sintaxis. Aquí puede encontrar bibliotecas en tiempo de ejecución de
Fabric Spark integradas.

7 Nota

Aprenda a migrar bibliotecas de Azure Synapse Spark a Fabric.

Comparación de cuadernos
Los cuadernos y las definiciones de trabajos de Spark son los elementos principales del
código para desarrollar trabajos de Apache Spark en Fabric. Hay varias diferencias que
deben tenerse encuentra entre los cuadernos de Azure Synapse Spark y los cuadernos
de Fabric Spark:
Capacidad del cuaderno Azure Synapse Spark Fabric Spark

Import/Export Sí Sí

Configuración de la sesión Sí, interfaz de usuario e Sí, interfaz de usuario


insertada (entorno) e insertada

IntelliSense Sí Sí

mssparkutils Sí Sí

Recursos de los cuadernos No Sí

Colaborar No Sí

Simultaneidad alta No Sí

.NET para Spark C# Sí No

Compatibilidad de la actividad de Sí Sí
canalización

Compatibilidad de la ejecución No Sí
programada integrada

Compatibilidad con API/SDK Sí Sí

mssparkutils: dado que las conexiones de DMTS aún no se admiten en Fabric,


getToken y getSecret son lo único que se admite por ahora en Fabric para

[Link] . [Link] aún no se admite.

Recursos de cuadernos: los cuadernos de Fabric proporcionan un sistema de


archivos similar a Unix que le ayudará a administrar las carpetas y los archivos. Para
obtener más información, consulte Uso de cuadernos de Microsoft Fabric.

Colaboración: el cuaderno de Fabric es un elemento de colaboración que admite


la edición por parte de varios usuarios en el mismo cuaderno. Para obtener más
información, consulte Uso de cuadernos de Microsoft Fabric.

Alta simultaneidad: en Fabric, puede asociar cuadernos a la sesión de


simultaneidad alta. Esta opción es una alternativa para quienes utilizan
ThreadPoolExecutor en Azure Synapse. Para obtener más información, consulte
Configurar el modo de simultaneidad alta para cuadernos de Fabric.

.NET para Spark C#: Fabric no admite .NET para Spark (C#). Sin embargo, lo
aconsejable es que los usuarios con cargas de trabajo existentes escritas en C# o
F# migren a Python o Scala.
Compatibilidad de la ejecución programada integrada: Fabric admite las
ejecuciones programadas en cuadernos.

Otras consideraciones:
En un cuaderno puede usar características que solo se admiten en una versión
concreta de Spark. Recuerde que las versiones 2.4 y 3.1 de Spark no son
compatibles con Fabric.
Si su cuaderno o trabajo de Spark usa un servicio vinculado con conexiones de
origen de datos o puntos de montaje diferentes, debe modificar los trabajos de
Spark para que usen métodos alternativos de control de las conexiones con los
orígenes de datos externos y los receptores. Use el código de Spark para
conectarse a orígenes de datos mediante las bibliotecas de Spark disponibles.

7 Nota

Obtenga información sobre cómo migrar cuadernos de Azure Synapse a Fabric.

Comparación de definiciones de trabajo de


Spark
Consideraciones importantes sobre la definición de trabajo de Spark:

Capacidad de trabajo de Spark Azure Synapse Spark Fabric Spark

PySpark Sí Sí

Scala Sí Sí

.NET para Spark C# Sí No

SparkR No Sí

Import/Export Sí (interfaz de usuario) No

Compatibilidad de la actividad de canalización Sí No

Compatibilidad de la ejecución programada integrada No Sí

Directivas de reintentos No Sí

Compatibilidad con API/SDK Sí Sí

Trabajos de Spark: puede aportar sus archivos .py, .R o jar. Fabric admite SparkR.
Las definiciones de trabajo de Spark admiten archivos de referencia, argumentos
de la línea de comandos, configuraciones de Spark y referencias del almacén de
lago.

Importar o exportar: en Azure Synapse, es posible importar o exportar de la


interfaz de usuario definiciones de trabajos de Spark basadas en JSON. Esta
característica aún no está disponible en Fabric.

.NET para Spark C#: Fabric no admite .NET para Spark (C#). Sin embargo, lo
aconsejable es que los usuarios con cargas de trabajo existentes escritas en C# o
F# migren a Python o Scala.

Compatibilidad de la actividad de canalización: en Fabric, las canalizaciones de


datos aún no incluyen actividad de definición de trabajo de Spark. Si desea
ejecutar un trabajo de Spark periódicamente, puede usar las ejecuciones
programadas.

Compatibilidad de la ejecución programada integrada: Fabric admite las


ejecuciones programadas en una definición de trabajo de Spark.

Directivas de reintento: esta opción permite a los usuarios ejecutar trabajos del
flujo estructurado de Spark de forma indefinida.

7 Nota

Aprenda a migrar las definiciones de trabajo de Spark de Azure Synapse Spark a


Fabric.

Comparación de metastore de Hive (HMS)


Diferencias y consideraciones de MetaStore de Hive (HMS):

Tipo de HMS Azure Synapse Spark Fabric Spark

HMS interno Sí Sí (almacén de lago)

HMS externo Sí No

HMS externo: actualmente, Fabric no admite Catalog API y el acceso a un


metastore de Hive (HMS) externo.

7 Nota
Aprenda a migrar metadatos HMS del catálogo de Azure Synapse Spark a Fabric.

Pasos siguientes
Obtenga más información sobre las opciones de migración de los grupos de
Spark, las configuraciones, las bibliotecas, los cuadernos y las definiciones de
trabajos de Spark.
Migrar datos y canalizaciones
Migración de metadatos de la metastore de Hive

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Guía de decisión de Microsoft Fabric:
actividad de copia, flujo de datos o
Spark
Artículo • 07/08/2023

Use esta guía de referencia y los escenarios de ejemplo para decidir si necesita una
actividad de copia, un flujo de datos o Spark para las cargas de trabajo mediante
Microsoft Fabric.

) Importante

Microsoft Fabric está en versión preliminar.

Propiedades de actividad de copia, flujo de


datos y Spark
Actividad de copia de Flujo de datos Spark
canalización Gen 2

Caso de uso Migración del lago de datos Ingesta de datos, Ingesta de datos,
y del almacenamiento de transformación transformación de
datos, de datos, datos,
ingesta de datos, limpieza y procesamiento de
transformación ligera transformación datos,
de datos, generación de perfiles
generación de de datos
perfiles de datos

Rol de Ingeniero de datos, Ingeniero de Ingeniero de datos,


desarrollador integrador de datos datos, científico de datos,
principal integrador de desarrollador de datos
datos,
analista de
negocios

Conjunto de ETL, ETL, Spark (Scala, Python,


aptitudes del SQL, M, Spark SQL, R)
desarrollador JSON SQL
principal

Código escrito Sin código, Sin código, Código


Actividad de copia de Flujo de datos Spark
canalización Gen 2

código bajo código bajo

Volumen de datos De bajo a alto De bajo a alto De bajo a alto

Interfaz de Asistente, Power Query Cuaderno,


desarrollo lienzo Definición de trabajos
de Spark

Sources +30 conectores +150 conectores Cientos de bibliotecas


de Spark

Destinations +18 conectores Lakehouse, Cientos de bibliotecas


-Azure SQL de Spark
Database,
Azure Data
Explorer,
Azure Synapse
analytics

Complejidad de la Baja: De bajo a alto: De bajo a alto:


transformación ligero: conversión de tipos, +300 funciones compatibilidad con las
asignación de columnas, de bibliotecas nativas de
archivos de combinación o transformación Spark y de código
división, jerarquía plana abierto

Revise los tres escenarios siguientes para obtener ayuda con la elección de cómo
trabajar con los datos en Fabric.

Escenario 1
Leo, ingeniero de datos, debe ingerir un gran volumen de datos de sistemas externos,
tanto locales como en la nube. Estos sistemas externos incluyen bases de datos,
sistemas de archivos y API. Leo no quiere escribir y mantener código para cada conector
o operación de movimiento de datos. Quiere seguir las prácticas recomendadas para los
niveles de medallas (bronce, plata y oro). Leo no tiene experiencia con Spark, por lo que
prefiere la interfaz de usuario de arrastrar y colocar, con una codificación mínima. Y
también quiere procesar los datos según una programación.

El primer paso es obtener los datos sin procesar en el lago de datos del nivel bronce de
los recursos de datos de Azure y varios orígenes de terceros (como Snowflake Web,
REST, AWS S3, GCS, etc.). Quiere un lago de datos consolidado, de modo que todos los
datos procedentes de distintos LOB, locales y orígenes en la nube residan en un único
lugar. Leo revisa las opciones y selecciona la actividad de copia de canalización como
opción adecuada para su copia binaria sin procesar. Este patrón se aplica a la
actualización de datos históricos e incrementales. Con la actividad de copia, Leo puede
cargar datos Oro en un almacenamiento de datos sin código si surge la necesidad y las
canalizaciones proporcionan una ingesta de datos a gran escala que puede mover datos
a escala de petabyte. La actividad de copia es la mejor opción de código bajo y sin
código para mover petabytes de datos a lago de datos y almacenamientos de
variedades de orígenes, ya sea ad hoc o a través de una programación.

Escenario 2
Mary es una ingeniera de datos con un profundo conocimiento de los requisitos de los
informes analíticos de varios LOB. Un equipo ascendente ha implementado
correctamente una solución para migrar varios datos históricos e incrementales de LOB
a un lago de datos común. Mary se ha encargado de limpiar los datos, aplicar lógicas de
negocios y cargarlos en varios destinos (como Azure SQL DB, ADX y un lago de datos)
como preparación para sus respectivos equipos de creación de informes.

Mary es una usuaria experimentada de Power Query y el volumen de datos está en el


intervalo de bajo a medio para lograr el rendimiento deseado. Los flujos de datos
proporcionan interfaces sin código o poco código para ingerir datos de cientos de
orígenes de datos. Con los flujos de datos, puede transformar los datos con más de 300
opciones de transformación de datos y escribir los resultados en varios destinos con una
interfaz de usuario muy visual y fácil de usar. Mary revisa las opciones y decide que
tiene sentido usar Flujo de datos Gen 2 como opción de transformación preferida.

Escenario 3
Adam es un ingeniero de datos que trabaja para una gran empresa minorista que usa
un lagi de datos para almacenar y analizar los datos de sus clientes. En su trabajo, Adam
es responsable de la creación y el mantenimiento de las canalizaciones de datos que
extraen, transforman y cargan datos en el lago de datos. Uno de los requisitos de la
empresa es realizar análisis de las opiniones de los clientes para conocer sus
experiencias y mejorar sus servicios.

Adam decide que la mejor opción es usar Spark para crear la lógica de extracción y
transformación. Spark proporciona una plataforma informática distribuida que puede
procesar grandes cantidades de datos en paralelo. Escribe una aplicación Spark con
Python o Scala, que lee datos estructurados, semiestructurados y no estructurados de
OneLake para obtener opiniones y comentarios de los clientes. La aplicación limpia,
transforma y escribe datos en las tablas Delta del lago de datos. A continuación, los
datos están listos para usarse para el análisis de bajada.
Pasos siguientes
Cómo copiar datos mediante la actividad de copia
Inicio rápido: Creación del primer flujo de datos para obtener y transformar datos
Cómo crear una definición de trabajo de Apache Spark en Fabric
Guía de decisiones de Microsoft Fabric:
selección de un almacén de datos
Artículo • 26/08/2024

Use esta guía de referencia y los escenarios de ejemplo para ayudarle a elegir entre el
almacén de datos para las cargas de trabajo de Microsoft Fabric.

Propiedades del almacén de datos


En esta tabla se comparan almacenes de datos como Warehouse, Lakehouse, DataMart
de Power BI y Eventhouse en función del volumen de datos, tipo, rol de desarrollador,
conjunto de aptitudes, operaciones. y otras capacidades.

ノ Expandir tabla

Almacén Lakehouse DataMart de Eventhouse


Power BI

Volumen de Sin límite Sin límite Hasta 100 GB Sin límite


datos

Tipo de datos Estructurados No estructurados, Estructurados No estructurados,


semiestructurados, semiestructurados,
estructurados estructurados

Rol de Desarrollador de Ingeniero de datos, Desarrollador Científico de datos


desarrollador almacenamiento científico de datos civil civil, ingeniero de
principal de datos, datos, científico de
ingeniero de SQL datos, ingeniero de
SQL

Conjunto de SQL Spark(Scala, Sin código, Sin código, KQL,


aptitudes de PySpark, Spark SQL, SQL SQL
desarrollador R)
principal

Datos Bases de datos, Carpetas y archivos, Base de Bases de datos,


organizados esquemas y tablas bases de datos y datos, tablas, esquemas y tablas
por tablas consultas

Lee T-SQL, Spark Spark, T-SQL Spark, T-SQL, KQL, T-SQL, Spark,
operaciones. (admite la lectura Power BI Power BI
de tablas
mediante accesos
directos, aún no
Almacén Lakehouse DataMart de Eventhouse
Power BI

admite el acceso a
vistas,
procedimientos
almacenados,
funciones, etc.)

Operaciones T-SQL Spark(Scala, Flujos de KQL, Spark,


de escritura PySpark, Spark SQL, datos, T-SQL ecosistema de
R) conectores

Transacciones Sí No No Sí, para la ingesta


de varias de varias tablas.
tablas Consulte la
directiva de
actualización.

Interfaz de Scripts de SQL Cuadernos de Power BI Conjunto de


desarrollo Spark, definiciones consultas KQL,
principal de trabajos de base de datos KQL
Spark

Seguridad Nivel de objeto Nivel de fila, nivel Editor RLS Seguridad de filas
(tabla, vista, de columna (para el integrado
función, lakehouse al que se
procedimiento accede a través de
almacenado, etc.), un punto de
nivel de columna, conexión de análisis
nivel de fila, SQL), nivel de tabla
DDL/DML, (cuando se usa T-
enmascaramiento SQL), ninguno para
de datos dinámico Spark

Acceso a Sí, a través de un Sí No Sí


datos a través almacén de lago
de accesos con nombres de
directos tres partes

Puede ser un Sí (tablas) Sí (archivos y tablas) No Sí


origen para
los accesos
directos

Consulta Sí, consultar tablas Sí, consultar tablas No Sí, consultar las
entre de almacén de de almacén de lago bases de datos de
elementos lago y y almacenamiento; KQL, los almacenes
almacenamiento consultar entre los de lago y el
almacenes de lago almacenamiento
(incluidos los
Almacén Lakehouse DataMart de Eventhouse
Power BI

accesos directos con accesos


mediante Spark) directos

Escenarios
Revise estos escenarios para obtener ayuda con la elección de un almacén datos en
Fabric.

Escenario 1
Susan, desarrolladora profesional, es nueva en Microsoft Fabric. Están listos para
empezar a limpiar, modelar y analizar datos, pero deben decidir si crear un
almacenamiento de datos o un almacén de lago. Después de revisar los detalles de la
tabla anterior, los puntos de decisión principales son el conjunto de aptitudes
disponible y la necesidad de transacciones de varias tablas.

Susan ha dedicado muchos años a crear almacenes de datos en motores de base de


datos relacionales y está familiarizado con la funcionalidad y sintaxis de SQL. Pensando
en el equipo más grande, los principales consumidores de estos datos también están
cualificados con SQL y las herramientas analíticas de SQL. Susan decide usar un
almacenamiento de datos, que permite al equipo interactuar principalmente con T-SQL,
a la vez que permite a los usuarios de Spark de la organización acceder a los datos.

Susan crea una nueva instancia del lakehouse y accede a las capacidades del
almacenamiento de datos con el punto de conexión de análisis SQL del lakehouse.
Mediante el portal de Fabric, crea accesos directos a las tablas de datos externos y los
coloca en la carpeta /Tables . Susan ya puede escribir consultas de T-SQL que hagan
referencia a los accesos directos para consultar los datos de Delta Lake en el almacén de
lago. Los accesos directos aparecen automáticamente como tablas en el punto de
conexión de análisis SQL y se pueden consultar con T-SQL mediante nombres de tres
partes.

Escenario 2
Rob, ingeniero de datos, necesita almacenar y modelar varios terabytes de datos en
Fabric. El equipo tiene una combinación de aptitudes de PySpark y T-SQL. La mayoría de
los equipos que ejecutan consultas de T-SQL son consumidores y, por lo tanto, no es
necesario escribir instrucciones INSERT, UPDATE o DELETE. Los desarrolladores restantes
están cómodos trabajando en cuadernos y, dado que los datos se almacenan en Delta,
pueden interactuar con una sintaxis SQL similar.

Rob decide usar un almacén de lago, el cual permite al equipo de ingeniería de datos
usar sus diversas aptitudes con respecto a los datos, al tiempo que permite a los
miembros del equipo altamente cualificados en T-SQL consumir los datos.

Escenario 3
Ash, desarrollador civil, es un desarrollador de Power BI. Están familiarizados con Excel,
Power BI y Office. Necesitan crear un producto de datos para una unidad de negocio.
Saben que no tienen las aptitudes para crear un almacenamiento de datos o un almacén
de lago, y parecen demasiado para sus necesidades y volúmenes de datos. Revisan los
detalles de la tabla anterior y ven que los puntos de decisión principales son sus propias
aptitudes y su necesidad de autoservicio, sin capacidad de programar y volumen de
datos inferior a 100 GB.

Ash trabaja con analistas de negocios familiarizados con Power BI y Microsoft Office, y
sabe que ya tienen una suscripción de capacidad Premium. A medida que piensan en
que su equipo sea más grande, se dan cuenta de que los consumidores principales de
estos datos podrían ser analistas, familiarizados con herramientas analíticas de SQL y
que no programan. Ash decide usar un datamart de Power BI, que permite al equipo
interactuar rápidamente con la compilación de la capacidad a través de una experiencia
sin código. Las consultas se pueden ejecutar a través de Power BI y T-SQL, al mismo
tiempo que permiten a los usuarios de Spark de la organización acceder también a los
datos.

Escenario 4
Daisy es una analista de negocios con experiencia en el uso de Power BI para analizar
los cuellos de botella de la cadena de suministro para una gran cadena minorista global.
Necesitan crear una solución de datos escalable que pueda controlar miles de millones
de filas de datos y se puedan usar para crear paneles e informes y tomar decisiones
empresariales. Los datos proceden de plantas, proveedores, transportistas y otras
fuentes en diversos formatos estructurados, semiestructurados y no estructurados.

Daisy decide usar un almacén de eventos debido a su escalabilidad, tiempo de


respuesta rápido, funcionalidades de análisis avanzadas, como análisis de series
temporales, funciones geoespaciales y el modo de consulta directa rápida en Power BI.
Las consultas se pueden ejecutar mediante Power BI y KQL para comparar entre los
períodos actuales y anteriores, identificar rápidamente problemas emergentes o
proporcionar análisis geoespaciales de rutas terrestres y marítimas.

Contenido relacionado
¿Qué es el almacenamiento de datos en Microsoft Fabric?
Crear un almacén en Microsoft Fabric
Crear una instancia de Lakehouse en Microsoft Fabric

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Guía de decisión de Microsoft Fabric:
elegir entre Almacén y Almacén de lago
Artículo • 15/10/2024

Microsoft Fabric ofrece dos cargas de trabajo de formato estándar abierto y a escala
empresarial para el almacenamiento de datos: Almacén y Almacén de lago. En este
artículo se comparan las dos plataformas y los puntos de decisión de cada una.

Criterio

Sin código o soluciones de Pro Code: ¿cómo desea desarrollar el contenido?

Spark
Usar Almacén de lago
T-SQL
Usar Almacén

Necesidades de almacenamiento: ¿necesita realizar transacciones de varias tablas?


Usar Almacén
No
Usar Almacén de lago

Complejidad de los datos: ¿qué tipo de datos está analizando?

No lo sé
Usar Almacén de lago
Datos no estructurados y estructurados
Usar Almacén de lago
Solo datos estructurados
Usar Almacén
Elección de un servicio candidato
A continuación, realice una evaluación detallada del servicio para ver si satisface sus
necesidades.

El elemento Almacén de Fabric Synapse Data Warehouse es un almacenamiento de


datos de escala empresarial con formato estándar abierto.

No hay rendimiento de botones con una configuración e implementación mínimas,


ni existe la necesidad de configurar el proceso ni el almacenamiento. ​
Experiencias de almacenamiento sencillas e intuitivas para profesionales de datos
principiantes y experimentados (código no/pro).
El almacenamiento centrado en el Lago almacena datos en OneLake en formato
Delta abierto y ofrece una recuperación y administración fácil de los datos.
Está totalmente integrado con todas las cargas de trabajo de Fabric.
Carga y transformaciones de datos a escala, con garantías transaccionales
completas de varias tablas proporcionadas por el motor de SQL.
Almacenes virtuales con consultas entre bases de datos y una capa semántica
totalmente integrada.
Plataforma preparada para la empresa con visibilidad de uso y rendimiento
integral, con gobernanza y seguridad integradas.
Flexibilidad para compilar el almacenamiento de datos o la malla de datos en
función de las necesidades de la organización; ofrece la opción de elegir el código,
no usar código, usar poco código o T-SQL en las transformaciones.

Elemento Almacén de lago de Ingeniería de datos de Fabric Synapse

Almacene, administre y analice datos estructurados y no estructurados en una sola


ubicación para obtener información y tomar decisiones de forma más rápida y
eficaz.
Solución flexible y escalable que permite a las organizaciones controlar grandes
volúmenes de datos de todos los tipos y tamaños.
Ingiera fácilmente datos de varios orígenes diferentes, y conviértalos en un
formato Delta unificado.
Detección y registro automático de tablas para obtener una experiencia de archivo
a tabla totalmente administrada para ingenieros y científicos de datos. ​
Punto de conexión automático de análisis SQL y un conjunto de datos
predeterminado que permite la consulta T-SQL de tablas delta en el lago

Ambos se incluyen en las capacidades de Power BI Premium o Fabric.


Comparación de diferentes funcionalidades de
almacenamiento
Esta tabla compara el almacén con el punto de conexión de análisis SQL de Lakehouse.

Oferta de Microsoft Fabric

Almacén

Punto de conexión de análisis SQL del almacén de lago

Funcionalidades principales

Compatible con ACID, almacenamiento de datos completo con compatibilidad con


transacciones en T-SQL.

Solo lectura, punto de conexión de análisis SQL generado por el sistema para el almacén
de lago para consultas y servicios de T-SQL. Admite el análisis en las tablas Delta de
Lakehouse y las carpetas de Delta Lake a las que se hace referencia mediante accesos
directos.

Perfil del desarrollador

Desarrolladores de SQL o desarrolladores civiles

Ingenieros de datos o desarrolladores de SQL

Carga de datos

SQL, canalizaciones, flujos de datos

Spark, canalizaciones, flujos de datos, accesos directos

Compatibilidad con tablas delta

Lee y escribe tablas delta

Lee tablas delta


Capa de almacenamiento

Formato de datos abiertos: Delta

Formato de datos abiertos: Delta

Caso de uso recomendado


Almacenamiento de datos para uso empresarial
Almacenamiento de datos que admite el uso departamental, de unidad de negocio
o autoservicio
Análisis de datos estructurados en T-SQL con tablas, vistas, procedimientos y
funciones, y compatibilidad con SQL avanzado para BI
Exploración y consulta de tablas delta desde el almacén de lago
Almacenamiento provisional de datos y zona de archivado para el análisis
Arquitectura de medallón del almacén de lago con zonas para el análisis de
bronce, plata y oro
Emparejamiento con instancias de Warehouse para casos de uso de análisis
empresarial

Experiencia de desarrollo
Editor de Warehouse con compatibilidad completa con experiencias de interfaz de
usuario de ingesta, modelado, desarrollo y consulta de datos de T-SQL para la
ingesta, el modelado y la consulta de datos
Compatibilidad de lectura y escritura para herramientas propias y de terceros
Punto de conexión de análisis SQL del almacén de lago con compatibilidad
limitada con T-SQL para vistas, funciones con valores de tabla y consultas SQL
Experiencias de interfaz de usuario para el modelado y la consulta
Compatibilidad limitada con T-SQL para herramientas propias y de terceros

Funcionalidades de T-SQL

Compatibilidad completa con DQL, DML y DDL T-SQL, compatibilidad completa con
transacciones

Compatibilidad con T-SQL con DQL completo, sin DML, con DDL limitado, como vistas
SQL y TVF
Contenido relacionado
Guía de decisiones de Microsoft Fabric: selección de un almacén de datos

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Carga de archivos CSV en la tabla Delta
para informes de Power BI
Artículo • 28/05/2024

Microsoft Fabric Lakehouse es una plataforma de arquitectura de datos para almacenar,


administrar y analizar datos estructurados y no estructurados en una sola ubicación.

En este tutorial, aprenderá a:

Carga de un archivo CSV en una instancia de Lakehouse


Convertir el archivo en una tabla Delta
Generación de un modelo semántico y creación de un informe de Power BI

Creación de una instancia de Lakehouse y


preparación de un archivo CSV
1. En Microsoft Fabric, seleccione Ingeniería de datos de Synapse.

2. Asegúrese de que está en el área de trabajo deseada o seleccione o cree una.

3. En la página Inicio, seleccione Almacén de lago.

4. Introduzca el nombre de su almacén de lago.

5. Seleccione Crear.

6. Descargue el archivo CSV "Tabla de búsqueda de zona de taxi" del sitio web del
registro de viajes de TLC y guárdelo en una ubicación del equipo.

Carga de un archivo CSV en Lakehouse


1. Cree la carpeta TaxiData en la sección Files de Lakehouse.

2. Cargue el archivo en la carpeta mediante el elemento Cargar archivo en el menú


contextual de la carpeta.

3. Una vez cargado, seleccione la carpeta para ver su contenido.

4. Cambie el nombre del archivo para quitar caracteres especiales, en este ejemplo,
quite el carácter "+". Para ver la lista completa de caracteres especiales, lea el
artículo Carga en tablas de Delta Lake.

Carga del archivo en una tabla Delta


1. Haga clic con el botón derecho o use los puntos suspensivos del archivo CSV para
acceder al menú contextual. Seleccione Cargar en tablas y elija la opción Nueva
tabla .

2. La carga en tablas se muestra con el nombre de tabla sugerido. Las validaciones en


tiempo real en caracteres especiales se aplican durante la escritura.

3. Seleccione Cargar para ejecutar la carga.

4. La tabla se muestra ahora en el explorador de Lakehouse, expanda la tabla para


ver las columnas y sus tipos. Seleccione la tabla para ver una vista previa.

7 Nota

Si la tabla ya existe, se muestran diferentes opciones de modo de carga.


Sobrescribir eliminará y volverá a crear la tabla. Anexar insertará todo el contenido
del CSV como nuevos datos. Para obtener una guía detallada sobre la característica
Cargar en tablas, lea el artículo Cargar en tablas.

Generación de un modelo semántico y creación


de un informe de Power BI
1. Seleccione Nuevo modelo semántico de Power BI en la cinta del almacén de lago.

2. Seleccione la tabla que se va a agregar al modelo semántico y seleccione el botón


Confirmar.

3. En la edición del modelo semántico, puede definir relaciones entre varias tablas y
aplicar también la normalización de tipos de datos y las transformaciones DAX a
los datos si lo desea.

4. Seleccione Nuevo informe en la cinta de opciones.

5. Utilice la experiencia del generador de informes para diseñar un informe de Power


BI.

Contenido relacionado
Carga a las tablas de Delta Lake
¿Qué es Delta Lake?

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Obtenga datos de streaming en el
almacén de lago y acceda con el punto
de conexión de análisis SQL
Artículo • 13/05/2024

En este inicio rápido se explica cómo crear una definición de trabajo de Spark que
contenga código de Python con Flujo estructurado de Spark para colocar datos en un
almacén de lago y, a continuación, servirlos a través de un punto de conexión de SQL.
Después de completar este inicio rápido, tendrá una definición de trabajo de Spark que
se ejecuta continuamente y el punto de conexión de análisis SQL puede ver los datos
entrantes.

Creación de un script de Python


1. Use el siguiente código de Python que usa el streaming estructurado de Spark
para obtener datos en una tabla de Lakehouse.

Python

import sys
from [Link] import SparkSession

if __name__ == "__main__":
spark = [Link]("MyApp").getOrCreate()

tableName = "streamingtable"
deltaTablePath = "Tables/" + tableName

df = [Link]("rate").option("rowsPerSecond",
1).load()

query =
[Link]("append").format("delta").option("path",
deltaTablePath).option("checkpointLocation", deltaTablePath +
"/checkpoint").start()
[Link]()

2. Guarde el script como archivo de Python (.py) en el equipo local.

Creación de un almacén de lago


Use los siguientes pasos para crear un cliente:
1. En Microsoft Fabric, seleccione Ingeniería de datos de Synapse.

2. Vaya al área de trabajo deseada o cree una nueva si es necesario.

3. Para crear una instancia de Lakehouse, seleccione el icono de Lakehouse en la


sección Nuevo del panel principal.

4. Escriba el nombre de su instancia de Lakehouse y seleccione Crear.

Creación de una definición de trabajo de Spark


Siga estos pasos para crear una definición de trabajo de Spark:

1. En la misma área de trabajo en la que creó una instancia de LakeHouse, seleccione


el icono Crear en el menú de la izquierda.

2. En "Ingeniería de datos", seleccione Definición de trabajo de Spark.


3. Escriba el nombre de la definición del trabajo de Spark y seleccione Crear.

4. Seleccione Cargar y seleccione el archivo Python que creó en el paso anterior.

5. En Referencia de Lakehouse , elija la instancia de Lakehouse que ha creado.

Establecer política de reintentos para la


definición de trabajos Spark
Siga estos pasos para establecer la directiva de reintento para la definición del trabajo
de Spark:

1. En el menú superior, seleccione el icono Configuración .

2. Abra la pestaña Optimización y establezca el desencadenador de la política de


reintentos en Activado.

3. Defina el número máximo de reintentos o active Permitir intentos ilimitados.

4. Especifique el tiempo entre cada intento de reintento y seleccione Aplicar.


7 Nota

Hay un límite de duración de 90 días para la configuración de la directiva de


reintento. Una vez habilitada la directiva de reintento, el trabajo se reiniciará según
la directiva en un plazo de 90 días. Después de este período, la directiva de
reintento dejará de funcionar automáticamente y el trabajo se finalizará. A
continuación, los usuarios deberán reiniciar manualmente el trabajo, lo que, a su
vez, volverá a habilitar la directiva de reintento.

Ejecutar y supervisar la definición de trabajo de


Spark
1. En el menú superior, seleccione el icono Ejecutar.

2. Compruebe si la definición del trabajo de Spark se envió correctamente y se


ejecutó.

Visualización de datos mediante un punto de


conexión de análisis SQL
1. En la vista del área de trabajo, seleccione su instancia de Lakehouse.

2. En la esquina derecha, seleccione Lakehouse y seleccione punto de conexión de


análisis SQL.

3. En la vista punto de conexión de análisis SQL, en Tablas, seleccione la tabla que el


script usa para colocar datos. A continuación, puede obtener una vista previa de
los datos desde el punto de conexión de análisis SQL.
Contenido relacionado
Definición de trabajos de Spark
¿Cuál es el punto de conexión de análisis SQL para un almacén de lago?

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Adición de un destino de lago de datos
a una secuencia de eventos
Artículo • 25/10/2024

En este artículo se muestra cómo agregar una instancia de Lakehouse como destino a
una secuencia de eventos de Microsoft Fabric. Para optimizar el rendimiento del
streaming y las consultas en tiempo real, considere la posibilidad de transmitir datos a
un centro de eventos con agregar el destino de Eventhouse a una secuencia de eventos
y, a continuación, habilitar la disponibilidad de Eventhouse OneLake.

7 Nota

Si quiere usar funcionalidades mejoradas que están en versión preliminar,


seleccione Funcionalidades mejoradas en la parte superior. De lo contrario,
seleccione Funcionalidades estándar. Para obtener información sobre las
funcionalidades mejoradas que se encuentran en versión preliminar, vea
Introducción a los flujos de eventos de Fabric.

) Importante

Hay una obligatoriedad de esquema para escribir datos en una tabla de destino de
almacén de lago. Todas las nuevas escrituras en la tabla deben ser compatibles con
el esquema de la tabla de destino en el momento de la escritura, lo que garantiza
la calidad de los datos.

Cuando la salida se escribe en una nueva tabla delta, el esquema de tabla se crea
en función del primer registro. Todos los registros de los datos de salida se
proyectan en el esquema de la tabla existente.

Si los datos entrantes tienen columnas que no están en el esquema de tabla


existente, las columnas adicionales no se incluyen en los datos escritos en la tabla.
De la misma forma, si a los datos entrantes les faltan columnas que aparecen en el
esquema de tabla existente, se escriben en la tabla con el valor establecido en null.

Requisitos previos
Acceso al área de trabajo Premium de Fabric donde se encuentran sus secuencias
de eventos con los permisos de Colaborador o superiores.
Acceso al área de trabajo Premium de Fabric donde se encuentra el almacén de
lago con permisos de Colaborador o superiores.

7 Nota

El número máximo de orígenes y destinos para una secuencia de eventos es 11.

Agregar un almacén de lago como destino


Para agregar un destino de almacén de lago a una secuencia de eventos
predeterminada o derivada, siga estos pasos.

1. En Modo de edición para la secuencia de eventos, seleccione Agregar destino en


la cinta de opciones y seleccione Almacén de lago en la lista desplegable.

2. Conectar el nodo de almacén de lago al nodo de secuencia o al operador.

3. En la pantalla de configuración de almacén de lago, complete la siguiente


información:
a. Especifique el Nombre del destino.
b. Seleccione el área de trabajo que contiene el almacén de lago.
c. Seleccione un almacén de lago existente del área de trabajo que especificó.
d. Seleccione una tabla delta existente o cree una nueva para recibir datos.
e. Seleccione el formato de los datos de entrada que se envían al almacén de
lago. Los formatos de datos admitidos son JSON, Avro y CSV (con encabezado).
4. Seleccione Advanced (Avanzadas).

5. Hay dos modos de ingesta disponibles para un destino de lago de datos. En


función de su escenario, configure estos modos para optimizar cómo escribe la
secuencia de eventos de Fabric en el almacén de lago.

Mínimo de filas es el número mínimo de filas que el almacén de lago ingiere


en un único archivo. El mínimo es 1 fila y el máximo es de 2 millones de filas
por archivo. Cuanto menor sea el número mínimo de filas, más archivos
creará el almacén de lago durante la ingesta.

Duración máxima es la duración máxima que tarda el almacén de lago en


ingerir un único archivo. El mínimo es de 1 minuto y el máximo es de 2 horas.
Cuanto mayor sea la duración, más filas se ingerirán en un archivo.
6. Seleccione Guardar.

7. Para implementar el destino de almacén de lago recién agregado, seleccione


Publicar.

Una vez completados estos pasos, el destino del almacén de lago está disponible para
su visualización en la Vista en vivo. En el panel Detalles, puede seleccionar el acceso
directo Optimizar tabla en el cuaderno para iniciar un trabajo de Apache Spark en un
cuaderno, que consolida los archivos de streaming pequeños dentro de la tabla de
almacén de lago de destino.

Contenido relacionado
Para obtener información sobre cómo agregar otros destinos a Eventstream, consulte
los siguientes artículos:

Redirigir eventos a destinos


Aplicación personalizada como destino
Destino de flujo derivado
Destino del centro de eventos
Reflex como destino
Crear un Eventstream

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Referencia a datos en lakehouse para
proyectos de Ciencia de datos
Artículo • 15/11/2023

En este inicio rápido se explica cómo hacer referencia a los datos almacenados en una
cuenta de ADLS externa y cómo usarlos en los proyectos de ciencia de datos. Después
de completar este inicio rápido, tendrá un acceso directo al almacenamiento de ADLS
en la instancia de LakeHouse y un cuaderno con código de Spark que accede a los datos
externos.

Preparar los datos para el acceso directo


1. En Azure, cree una cuenta de ADLS Gen2

2. Habilitar los espacios de nombres jerárquicos

3. Crear carpetas para los datos

4. Carga de datos

5. Incorporación de la identidad de usuario al rol BlobStorageContributor

6. Obtener el punto final de la cuenta de almacenamiento

Crear un acceso directo


1. Abra su instancia de Lakehouse para llegar al Explorador de Lakehouse
2. En archivos, cree una carpeta en la que haga referencia a los datos

3. Haga clic con el botón derecho en (...) y seleccione Nuevo acceso directo junto al
nombre de la carpeta

4. Seleccionar fuentes externas > ADLS Gen2

5. Proporcione el nombre del acceso directo, el punto de conexión de la cuenta de


almacenamiento y finalice la ubicación de la carpeta de datos en la cuenta de
almacenamiento

6. Selección de Crear
Acceso a los datos referenciados en Notebook
1. Abrir un cuaderno existente o crear nuevo cuaderno
2. Ancle su lakehouse al cuaderno
3. Examinar los datos en la carpeta de acceso directo
4. Seleccione un archivo con datos estructurados y arrástrelo al cuaderno para
obtener el código generado
5. Ejecutar código para obtener el contenido del archivo
6. Adición de código para el análisis de datos

Pasos siguientes
Carga a las tablas de Delta Lake
¿Qué es Delta Lake?

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Escenario de un extremo a otro de un
almacén de lago: introducción y
arquitectura
Artículo • 21/08/2024

Microsoft Fabric es una solución de análisis todo en uno para empresas que abarca
todo, desde el movimiento de datos hasta la ciencia de datos, el análisis en tiempo real
y la inteligencia empresarial. Ofrece un conjunto completo de servicios que incluye un
lago de datos, ingeniería de datos e integración de datos, todo en un solo lugar. Para
obtener más información, consulte ¿Qué es Microsoft Fabric?

Este tutorial le guiará a través de un escenario de un extremo a otro, desde la


adquisición de datos hasta el consumo de datos. Le ayuda a crear un conocimiento
básico de Fabric, incluidas las diferentes experiencias y cómo se integran, así como las
experiencias profesionales y de desarrollador civil que vienen con el trabajo en esta
plataforma. Este tutorial no está pensado para ser una arquitectura de referencia, una
lista exhaustiva de características y funcionalidades, o una recomendación de
procedimientos recomendados específicos.

Escenario de un extremo a otro de un almacén


de lago
Tradicionalmente, las organizaciones han estado creando almacenes de datos modernos
para sus necesidades de análisis de datos transaccionales y estructurados. Y almacenes
de lago de datos para las necesidades de análisis de macrodatos (semiestructurados/no
estructurados). Estos dos sistemas se ejecutaban en paralelo, creando silos, duplicación
de datos y un mayor costo total de propiedad.

Fabric con su unificación del almacén de datos y la estandarización en formato


Delta Lake permite eliminar silos, eliminar la duplicación de datos y reducir
drásticamente el costo total de propiedad.

Con la flexibilidad que ofrece Fabric, puede implementar arquitecturas de almacén de


lago o almacenamiento de datos, o combinarlas para obtener lo mejor de ambas con
una implementación sencilla. En este tutorial, se va a tomar el ejemplo de una
organización minorista y construiremos su almacén de lago de principio a fin. Usa la
arquitectura medallion, donde la capa de bronce tiene los datos sin procesar, la capa de
plata tiene los datos validados y desduplicados, y la capa dorada tiene datos muy
refinados. Puede adoptar el mismo enfoque para implementar un almacén de lago para
cualquier organización de cualquier sector.

En este tutorial se explica cómo un desarrollador de la empresa ficticia


Wide World Importers del dominio minorista completa los pasos siguientes:

1. Inicie sesión en su cuenta de Power BI y regístrese para obtener la prueba gratuita


de Microsoft Fabric. Si no tiene una licencia de Power BI, regístrese para obtener
una licencia gratuita y, a continuación, podrá iniciar la evaluación de Fabric.

2. Cree e implemente un almacén de lago de un extremo a otro para su organización:

Cree un área de trabajo de Fabric.


Cree un almacén de lago.
Ingiera datos, transfórmelos y cárguelos en el almacén de lago. También
puede explorar OneLake, una copia de los datos a través del modo de
almacén de lago y el modo de punto de conexión de análisis SQL.
Conéctese a un almacén de lago mediante el punto de conexión de análisis
SQL y cree un informe de Power BI mediante DirectLake para analizar los
datos de ventas en diferentes dimensiones.
De manera opcional, puede orquestar y programar el flujo de ingesta y
transformación de los datos con una canalización.

3. Limpie los recursos eliminando el área de trabajo y otros elementos.

Architecture
En la imagen siguiente se muestra la arquitectura de un extremo a otro del almacén de
lago. Los componentes implicados se describen en la lista siguiente.
Orígenes de datos: Fabric facilita la conexión rápida y sencilla a
Azure Data Services, así como a otras plataformas basadas en la nube y orígenes
de datos locales, para una ingesta de datos simplificada.

Ingesta: puede crear rápidamente información para su organización con más de


200 conectores nativos. Estos conectores se integran en la canalización de Fabric y
usan la transformación de datos de arrastrar y colocar fácil de usar con el flujo de
datos. Además, con la característica de acceso directo de Fabric, puede conectarse
a los datos existentes sin tener que copiarlos ni moverlos.

Transformación y almacenamiento: Fabric normaliza el formato Delta Lake. Esto


significa que todos los motores de Fabric pueden acceder y manipular el mismo
conjunto de datos almacenado en OneLake sin duplicar los datos. Este sistema de
almacenamiento proporciona la flexibilidad de crear almacenes de lago mediante
una arquitectura medallion o una malla de datos, según sus necesidades
organizativas. Puede elegir entre una experiencia de poco código o sin código
para la transformación de datos, mediante canalizaciones/flujos de datos, o
cuadernos/Spark para una experiencia de código primero.

Consumo: Power BI puede consumir datos de la instancia de Lakehouse para la


creación de informes y la visualización. Cada almacén de lago tiene un punto de
conexión de TDS integrado denominado punto de conexión de análisis SQL para
facilitar la conectividad y la consulta de datos en las tablas Lakehouse desde otras
herramientas de informes. El punto de conexión de análisis SQL proporciona a los
usuarios la funcionalidad de conexión de SQL.
Conjunto de datos de ejemplo
En este tutorial se usa la base de datos de ejemplo Wide World Importers (WWI), que se
importará en el lakehouse en el siguiente tutorial. Para el escenario de un extremo a
otro de almacén de lago, hemos generado datos suficientes para explorar las
funcionalidades de escala y rendimiento de la plataforma Fabric.

Wide World Importers (WWI) es un importador y distribuidor mayorista de artículos de


novedades que opera desde el área de la bahía de San Francisco. Como mayorista, los
clientes de WWI principalmente incluyen empresas que revenden a particulares. WWI
vende a clientes minoristas de todos los Estados Unidos, incluyendo tiendas
especializadas, supermercados, tiendas de informática, tiendas de atracciones turísticas
y algunos particulares. WWI también vende a otros mayoristas a través de una red de
agentes que promocionan los productos en nombre de WWI. Para obtener más
información sobre el perfil y el funcionamiento de la empresa, consulte Bases de datos
de ejemplo de Wide World Importers para Microsoft SQL.

En general, los datos proceden de sistemas transaccionales o aplicaciones de línea de


negocio en un almacén de lago. Sin embargo, por motivos de simplicidad en este
tutorial, usamos el modelo dimensional proporcionado por WWI como origen de datos
inicial. Lo usamos como origen para ingerir los datos en un almacén de lago y
transformarlos a través de diferentes fases (Bronce, Plata y Oro) de una arquitectura
medallion.

Modelo de datos
Aunque el modelo dimensional de WWI contiene numerosas tablas de hechos, para este
tutorial, usamos la tabla de hechos Sale y sus dimensiones correlacionadas. En el
ejemplo siguiente se muestra el modelo de datos de WWI:
Flujo de datos y transformación
Como se ha descrito anteriormente, se usan los datos de ejemplo de los datos de
ejemplo de Wide World Importers (WWI) para crear este almacén de lago de un
extremo a otro. En esta implementación, los datos de ejemplo se almacenan en una
cuenta de almacenamiento de Azure Data en formato de archivo Parquet para todas las
tablas. Sin embargo, en escenarios reales, los datos normalmente se originan en varios
orígenes y en distintos formatos.

En la imagen siguiente se muestra el origen, el destino y la transformación de datos:


Origen de datos: los datos de origen están en formato de archivo Parquet y en
una estructura sin particiones. Se almacenan en una carpeta para cada tabla. En
este tutorial, configuramos una canalización para ingerir los datos históricos
completos o únicos en el almacén de lago.

En este tutorial, usamos la tabla de hechos Sale, que tiene una carpeta principal
con datos históricos de 11 meses (con una subcarpeta por cada mes) y otra
carpeta que contiene datos incrementales durante tres meses (una subcarpeta
para cada mes). Durante la ingesta de datos inicial, se ingieren 11 meses de datos
en la tabla del almacén de lago. Sin embargo, cuando llegan los datos
incrementales, incluyen datos actualizados para octubre y noviembre, y los nuevos
datos de diciembre, octubre y noviembre se combinan con los datos existentes y
los nuevos datos de diciembre se escriben en la tabla del almacén de lago, como
se muestra en la siguiente imagen:
Almacén de lago: en este tutorial, crea un almacén de lago, ingiere datos en la
sección de archivos del almacén de lago y, a continuación, crea tablas de delta lake
en la sección Tablas del almacén de lago.

Transformación: para la preparación y transformación de los datos, verá dos


enfoques diferentes. Se muestra el uso de Notebooks/Spark para los usuarios que
prefieren una experiencia de código primero y el uso de canalizaciones/flujos de
datos para los usuarios que prefieren una experiencia de poco código o sin
código.

Consumo: para demostrar el consumo de los datos, verá cómo puede usar la
característica DirectLake de Power BI para crear informes, paneles y consultar
directamente los datos desde el almacén de lago. Además, se muestra cómo
puede hacer que los datos estén disponibles para herramientas de informes de
terceros mediante el punto de conexión de análisis de TDS/SQL. Este punto de
conexión le permite conectarse al almacenamiento y ejecutar consultas SQL para el
análisis.

Paso siguiente
Crear un almacén de lago
Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Tutorial de Lakehouse: Creación de un
área de trabajo de Fabric
Artículo • 19/07/2024

Antes de empezar a crear la instancia de Lakehouse, debe crear un área de trabajo en la


que pueda crear el resto del tutorial.

Requisitos previos
Regístrese para obtener la evaluación gratuita de Microsoft Fabric. La versión de prueba
de Fabric requiere una licencia de Power BI. Si no tiene una, regístrese para obtener una
licencia gratuita de Power BI y, a continuación, puede iniciar la versión de prueba de
Fabric.

Creación de un área de trabajo


En este paso, creará un área de trabajo de Fabric. El área de trabajo contiene todos los
elementos necesarios para este tutorial sobre el almacén de lago, que incluye el
almacén de lago, flujos de datos, canalizaciones de Data Factory, cuadernos, modelos
semánticos de Power BI e informes.

1. Inicie sesión en Power BI .

2. Seleccione Áreas de trabajo y Nueva área de trabajo.


3. Rellene el formulario Crear un área de trabajo con los detalles siguientes:

Nombre: Escriba Fabric Lakehouse Tutorial y cualquier carácter adicional para


que el nombre sea único.

Descripción: escriba una descripción opcional para el área de trabajo.


Avanzado: en Modo de licencia, seleccione capacidad de Prueba. También
puede elegir capacidad de Fabric con la SKU F64 o una capacidad Premium
de Power BI con la SKU P1 si tiene acceso a ellas. Estas SKU proporcionan
acceso a todas las funcionalidades de Fabric.

4. Seleccione Aplicar para crear y abrir el área de trabajo.

Paso siguiente
Crear una instancia de Lakehouse en Microsoft Fabric
Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Tutorial de lagos de datos: Creación de
una instancia de lago de datos, ingesta
de datos de ejemplo y compilación de
un informe
Artículo • 25/07/2024

En este tutorial, creará una instancia de lago de datos, ingerirá datos de ejemplo en la
tabla delta, aplicará la transformación cuando sea necesario y, a continuación, creará
informes.

Requisitos previos
Antes de crear un lakehouse, deberá crear un área de trabajo de Fabric.
Antes de ingerir un archivo CSV, debe tener configurado OneDrive. Si no tiene
OneDrive configurado, regístrese para obtener la evaluación gratuita de Microsoft
365: Evaluación gratuita: Pruebe Microsoft 365 durante un mes .

Creación de un almacén de lago


1. En Power BI , seleccione Áreas de trabajo en el menú de la izquierda.

2. Para abrir el área de trabajo, escriba su nombre en el cuadro de texto de búsqueda


ubicado en la parte superior y selecciónelo en los resultados de la búsqueda.

3. En el conmutador situado en la parte inferior izquierda, seleccione Ingeniería de


datos.
4. En la pantalla Ingeniería de datos, seleccione Lakehouse para crear un lakehouse.

5. En el cuadro de diálogo Nuevo lago, escriba wwilakehouse en el campo Nombre.

6. Seleccione Crear para crear y abrir el nuevo lago.

Ingesta de datos de ejemplo

7 Nota

Si no tiene OneDrive configurado, regístrese para obtener la evaluación gratuita de


Microsoft 365: Evaluación gratuita: Pruebe Microsoft 365 durante un mes .

1. Descargue el archivo dimension_customer.csv del repositorio de ejemplos de


Fabric .

2. En la pestaña Inicio, en Obtener datos en el lakehouse, verá opciones para cargar


datos en el lakehouse. Seleccione Nuevo Flujo de datos Gen2.
3. En la nueva pantalla de flujo de datos, seleccione Importar desde un archivo de
texto/CSV.

4. En la pantalla Conectar al origen de datos, seleccione el botón de selección


Cargar archivo. Arrastre y coloque el archivo dimension_customer.csv que descargó
en el paso 1. Una vez cargado el archivo, seleccione Siguiente.

5. En la página Vista previa de los datos del archivo, obtenga una vista previa de los
datos y seleccione Crear para continuar y volver al lienzo del flujo de datos.

6. En el panel Configuración de consulta , actualice el campo Nombre a


dimension_customer.

7 Nota

Fabric agrega un espacio y un número al final del nombre de la tabla de


forma predeterminada. Los nombres de tabla deben estar en minúsculas y no
deben contener espacios. Cambie el nombre de forma adecuada y quite los
espacios del nombre de la tabla.

7. En este tutorial, ya asoció los datos del cliente a una instancia de Lakehouse. Si
tiene otros elementos de datos que desee asociar al lakehouse, puede agregarlos
mediante los siguientes pasos:

a. En los elementos de menú, seleccione Agregar destino de datos y seleccione


Lago de datos. En la pantalla Conectar al destino de datos, inicie sesión en su
cuenta si es necesario y seleccione Siguiente.

b. Vaya a wwilakehouse en el área de trabajo.

c. Si la tabla dimension_customer no existe, seleccione la opción Nueva tabla y


escriba el nombre de la tabla dimension_customer. Si la tabla ya existe,
seleccione la opción Tabla existente y elija dimension_customer en la lista de
tablas del explorador de objetos. Seleccione Siguiente.
d. En el panel Elegir configuración de destino, seleccione Reemplazar como
método de Actualización. Seleccione Guardar configuración para volver al
lienzo del flujo de datos.

8. Desde el lienzo del flujo de datos, puede transformar fácilmente los datos en
función de sus requisitos empresariales. Por motivos de simplicidad, no estamos
realizando ningún cambio en este tutorial. Para continuar, seleccione Publicar en la
parte inferior derecha de la pantalla.
9. Un círculo giratorio junto al nombre del flujo de datos indica que la publicación
está en curso en la vista de elementos. Una vez completada la publicación,
seleccione ... y seleccione Propiedades. Cambie el nombre del flujo de datos a
Cargar tabla de lago de datos y seleccione Guardar.

10. Seleccione la opción Actualizar ahora junto al nombre del flujo de datos para
actualizar el flujo de datos. Esta opción ejecuta el flujo de datos y mueve los datos
del archivo de origen a la tabla de lago de datos. Mientras está en curso, verá un
círculo giratorio en la columna Actualizado en la vista de elementos.
11. Una vez actualizado el flujo de datos, seleccione una nueva instancia de Lakehouse
en la barra de navegación izquierda para ver la tabla delta de
dimension_customer.

12. Seleccione la tabla para obtener una vista previa de sus datos. También puede usar
el punto de conexión de SQL Analytics del almacén de lago para consultar los
datos con instrucciones SQL. Seleccione Punto de conexión de SQL Analytics en el
menú desplegable de Almacén de lago en la parte superior derecha de la pantalla.

13. Seleccione la tabla dimension_customer para obtener una vista previa de sus
datos o seleccione Nueva consulta SQL para escribir las instrucciones SQL.

14. La siguiente consulta de ejemplo agrega el recuento de filas en función de la


columna BuyingGroup de la tabla dimension_customer. Los archivos de consulta
SQL se guardan automáticamente para futuras referencias y puede cambiar el
nombre o eliminar estos archivos en función de sus necesidades.

Para ejecutar el script, seleccione el icono Ejecutar en la parte superior del archivo
de script.

SQL

SELECT BuyingGroup, Count(*) AS Total


FROM dimension_customer
GROUP BY BuyingGroup
Generación de un informe
1. Previamente, todas las tablas y vistas del almacén de lago se añadieron
automáticamente al modelo semántico. Con las actualizaciones recientes, para las
nuevas instancias de Lakehouse, debe añadir manualmente las tablas al modelo
semántico. Abra lakehouse y cambie a la vista punto de conexión de análisis SQL.
En la pestaña Informes, seleccione Administrar modelo semántico
predeterminado y seleccione las tablas que desea añadir al modelo semántico. En
este caso, seleccione la tabla dimension_customer.

2. Para asegurarse de que las tablas del modelo semántico estén siempre
sincronizadas, cambie a la vista punto de conexión de análisis SQL y abra el panel
de configuración del almacén de lago. Seleccione modelo semántico
predeterminado de Power BI y active Sincronizar el modelo semántico de Power
BI predeterminado. Consulte Modelos semánticos predeterminados de Power BI
para obtener más información.

3. Una vez añadida la tabla, Fabric crea un modelo semántico con el mismo nombre
que el lakehouse.
4. En el panel del modelo semántico, puede ver todas las tablas. Tiene opciones para
crear informes desde cero, informes paginados o permitir que Power BI cree
automáticamente un informe en función de los datos. Para este tutorial, seleccione
Creación automática de un informe en Explorar estos datos. En el siguiente
tutorial, se crea un informe desde cero.

5. Dado que la tabla es una dimensión y no hay ninguna medida en ella, Power BI
crea una medida para el recuento de filas y la agrega en distintas columnas y crea
gráficos diferentes, como se muestra en la imagen siguiente. Para guardar este
informe en el futuro, seleccione Guardar en la cinta de opciones superior. Puede
realizar más cambios en este informe para satisfacer sus necesidades si incluye o
excluye otras tablas o columnas.

Paso siguiente
Ingesta de datos en un lago de datos

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Tutorial de Lakehouse: Ingesta de datos
en el lago
Artículo • 08/05/2024

En este tutorial, ingerirá más tablas dimensionales y de hechos de Wide World Importers
(WWI) en el lago.

Requisitos previos
Si no tiene una instancia de Lakehouse, debe crear un lakehouse.

Ingerir datos
En esta sección, usará la actividad Copiar datos de la canalización de Data Factory para
ingerir datos de ejemplo de una cuenta de almacenamiento de Azure en la sección
Archivos de la instancia de Lakehouse que creó anteriormente.

1. Seleccione Áreas de trabajo en el panel de navegación izquierdo y, a continuación,


seleccione el área de trabajo nueva en el menú Áreas de trabajo. Aparece la vista
de elementos del área de trabajo.

2. En el elemento de menú +Nuevo de la cinta del área de trabajo, seleccione


Canalización de datos.
3. En el cuadro de diálogo Nueva canalización, especifique el nombre como
IngestDataFromSourceToLakehouse y seleccione Crear. Se crea y abre una nueva
canalización de factoría de datos.

4. En la canalización de factoría de datos recién creada, seleccione Actividad de


canalización para agregar una actividad a la canalización y seleccione Copiar
datos. Esta acción agrega actividad de copia de datos al lienzo de la canalización.

5. Seleccione la actividad de copia de datos recién agregada en el lienzo. Las


propiedades de actividad aparecen en un panel debajo del lienzo (es posible que
tenga que expandir el panel hacia arriba arrastrando el borde superior). En la
pestaña General del panel de propiedades, escriba Copia de datos al lakehouse en
el campo Nombre.
6. En la pestaña Origen de la actividad de copia de datos seleccionada, seleccione
Externo como Tipo de almacén de datos y, a continuación, seleccione + Nuevo
para crear una nueva conexión al origen de datos.
7. En este tutorial, todos los datos de ejemplo están disponibles en un contenedor
público de Azure Blob Storage. Se conecta a este contenedor para copiar datos de
él. En la primera pantalla de Nueva conexión, seleccione Azure Blob Storage y,
después, seleccione Continuar.

8. En la pantalla Ajustes de conexión, escriba los detalles siguientes y seleccione


Crear para crear la conexión al origen de datos.

ノ Expandir tabla

Propiedad Valor

URL o nombre de cuenta [Link]

Connection Crear una nueva conexión

Nombre de conexión wwisampledata

Tipo de autenticación Anónimas


9. Una vez creada la nueva conexión, vuelva a la pestaña Origen de la actividad de
copia de datos y la conexión recién creada estará seleccionada de forma
predeterminada. Especifique las siguientes propiedades antes de pasar a la
configuración de destino.

ノ Expandir tabla

Propiedad Valor

Tipo de almacén de Externo


datos

Conexión wwisampledata

Tipo de ruta de acceso Ruta de archivo


de archivo

Ruta de archivo Nombre del contenedor (primer cuadro de texto): sampledata


Nombre del directorio (segundo cuadro de texto):
WideWorldImportersDW/parquet

Recursively Activada

Formato de archivo Binario


10. En la pestaña Destino de la actividad de copia de datos seleccionada, especifique
las siguientes propiedades:

ノ Expandir tabla

Propiedad Valor

Tipo de almacén de datos Área de trabajo

Tipo de banco de datos de área de Lakehouse


trabajo

Lakehouse wwilakehouse

Carpeta raíz Archivos

Ruta de archivo Nombre del directorio (primer cuadro de texto):


wwi-raw-data

Formato de archivo Binario


11. Ha configurado la actividad de copia de datos. Seleccione el icono de Guardar de
la cinta superior (en Inicio) para guardar los cambios y seleccione Ejecutar para
ejecutar la canalización y su actividad. También puede programar canalizaciones
para actualizar los datos a intervalos definidos para satisfacer los requisitos
empresariales. Para este tutorial, ejecutamos la canalización solo una vez haciendo
clic en Ejecutar.

Esta acción desencadena la copia de datos del origen de datos subyacente al lago
especificado y puede tardar hasta un minuto en completarse. Puede supervisar la
ejecución de la canalización y su actividad en la pestaña Salida, que aparece al
hacer clic en cualquier lugar del lienzo. Opcionalmente, puede seleccionar el icono
de gafas, que aparece al mantener el puntero sobre el nombre, para ver los
detalles de la transferencia de datos.
12. Una vez copiados los datos, vaya a la vista de elementos del área de trabajo y
seleccione el nuevo lakehouse (wwilakehouse) para iniciar la vista Explorador.

13. Compruebe que en la vista Explorador aparece una nueva carpeta, wwi-raw-data,
y que se han copiado allí los datos de todas las tablas.

Para cargar datos incrementales en una instancia de LakeHouse, consulte Carga


incremental de datos desde un almacenamiento de datos a una instancia de LakeHouse.

Paso siguiente
Preparación y transformación de datos

Comentarios
¿Le ha resultado útil esta página?  Sí  No
Proporcionar comentarios sobre el producto | Preguntar a la comunidad
Tutorial de Lakehouse: Preparación y
transformación de datos en el almacén
de lago
Artículo • 01/05/2024

En este tutorial, usará cuadernos con el Entorno de ejecución de Spark para transformar
y preparar los datos sin procesar en el lakehouse.

Requisitos previos
Si no tiene una instancia de Lakehouse que contenga datos, debe:

Crear un lakehouse.
Introducir datos en el lakehouse.

Preparar los datos


En los pasos anteriores del tutorial, tenemos datos sin procesar ingeridos desde el
origen hasta la sección Archivos del almacén de lago. Ahora puede transformar esos
datos y prepararlos para crear tablas delta.

1. Descargue los cuadernos de la carpeta Código fuente del tutorial de Lakehouse .

2. En el conmutador situado en la parte inferior izquierda de la pantalla, seleccione


Ingeniería de datos.
3. Seleccione Importar cuaderno en la sección Nuevo de la parte superior de la
página de aterrizaje.

4. Seleccione Cargar en el panel Estado de importación que se abre en el lado


derecho de la pantalla.

5. Seleccione todos los cuadernos que descargó en el primer paso de esta sección.

6. Seleccione Abrir. Una notificación que indica el estado de la importación aparece


en la esquina superior derecha de la ventana del explorador.

7. Una vez que la importación se realiza correctamente, vaya a la vista de elementos


del área de trabajo y ver los cuadernos recién importados. Seleccione el almacén
de lago wwilakehouse para abrirlo.
8. Una vez que se abra el almacén de lago wwilakehouse, seleccione Abrir
cuaderno>Cuaderno existente en el menú de navegación superior.

9. En la lista de cuadernos existentes, seleccione el cuaderno 01 - Crear tablas delta y


seleccione Abrir.

10. En el cuaderno abierto en el Explorador del almacén de lago, verá que ya está
vinculado al almacén de lago abierto.

7 Nota

Fabric proporciona la funcionalidad de orden V para escribir archivos


Delta Lake optimizados. El orden V a menudo mejora la compresión de tres a
cuatro veces y hasta diez veces la aceleración del rendimiento en los archivos
Delta Lake que no están optimizados. Spark en Fabric optimiza
dinámicamente las particiones al generar archivos con un tamaño
predeterminado de 128 MB. El tamaño del archivo de destino se puede
cambiar según los requisitos de carga de trabajo mediante configuraciones.

Con la capacidad para optimizar escritura, el motor de Apache Spark reduce


el número de archivos escritos y tiene como objetivo aumentar el tamaño de
archivo individual de los datos escritos.

11. Antes de escribir datos como tablas Delta Lake en la sección Tablas del almacén de
lago, use dos características de Fabric (orden V y Optimizar escritura) para la
escritura de datos optimizada y para mejorar el rendimiento de lectura. Para
habilitar estas características en la sesión, establezca estas configuraciones en la
primera celda del cuaderno.

Para iniciar el cuaderno y ejecutar todas las celdas en secuencia, seleccione


Ejecutar todo en la cinta superior (en Inicio). O bien, para ejecutar solo código
desde una celda específica, seleccione el icono Ejecutar que aparece a la izquierda
de la celda al mantener el puntero, o presione MAYÚS + ENTRAR en el teclado
mientras el control está en la celda.

Al ejecutar una celda, no tiene que especificar los detalles del clúster o grupo de
Spark subyacente, ya que Fabric los proporciona a través de un Grupo activo. Cada
área de trabajo de Fabric incluye un grupo de Spark predeterminado, denominado
Grupo activo. Esto significa que, al crear cuadernos, no tiene que preocuparse por
especificar ninguna configuración de Spark ni detalles del clúster. Al ejecutar el
primer comando de cuaderno, el grupo activo estará en funcionamiento en unos
segundos. Y se establece la sesión de Spark y comienza a ejecutar el código. La
ejecución de código posterior es casi instantánea en este cuaderno mientras la
sesión de Spark esté activa.

12. A continuación, leerá datos sin procesar de la sección Archivos del almacén de
lago y agregará más columnas para diferentes partes de fecha como parte de la
transformación. Por último, use la API de Spark partitionBy para particionar los
datos antes de escribirlos en formato de tabla delta en función de las columnas de
elementos de datos recién creadas (Año y Trimestre).

Python

from [Link] import col, year, month, quarter

table_name = 'fact_sale'

df = [Link]("parquet").load('Files/wwi-raw-
data/full/fact_sale_1y_full')
df = [Link]('Year', year(col("InvoiceDateKey")))
df = [Link]('Quarter', quarter(col("InvoiceDateKey")))
df = [Link]('Month', month(col("InvoiceDateKey")))

[Link]("overwrite").format("delta").partitionBy("Year","Quarter"
).save("Tables/" + table_name)

13. Después de cargar las tablas de hechos, puede pasar a cargar datos para el resto
de las dimensiones. En la celda siguiente se crea una función para leer datos sin
procesar de la sección Archivos del almacén de lago para cada uno de los
nombres de tabla pasados como parámetro. A continuación, se crea una lista de
tablas de dimensiones. Por último, recorre en bucle la lista de tablas y crea una
tabla delta para cada nombre de tabla que se lee del parámetro de entrada. Tenga
en cuenta que el script elimina la columna denominada Photo en este ejemplo
porque la columna no se utiliza.

Python

from [Link] import *


def loadFullDataFromSource(table_name):
df = [Link]("parquet").load('Files/wwi-raw-data/full/' +
table_name)
df = [Link]("Photo")
[Link]("overwrite").format("delta").save("Tables/" +
table_name)

full_tables = [
'dimension_city',
'dimension_date',
'dimension_employee',
'dimension_stock_item'
]

for table in full_tables:


loadFullDataFromSource(table)
14. Para validar las tablas creadas, haga clic con el botón derecho y seleccione
Actualizar en el almacén de lago wwilakehouse. Aparecen las tablas.

15. Vuelva a ir a la vista de elementos del área de trabajo y seleccione el almacén de


lago wwilakehouse para abrirlo.

16. Ahora, abra el segundo cuaderno. En la vista de almacén de lago, seleccione Abrir
cuaderno>Cuaderno existente en la cinta de opciones.

17. En la lista de cuadernos existentes, seleccione el cuaderno 02 - Transformación de


datos: empresa para abrirlo.
18. En el cuaderno abierto en el Explorador del almacén de lago, verá que ya está
vinculado al almacén de lago abierto.

19. Una organización podría tener ingenieros de datos que trabajen con Scala/Python
y otros ingenieros de datos que trabajen con SQL (Spark SQL o T-SQL), todos
trabajando en la misma copia de los datos. Fabric permite que estos diferentes
grupos, con una experiencia y preferencia variadas, trabajen y colaboren. Los dos
enfoques diferentes transforman y generan agregados empresariales. Puede elegir
el adecuado para usted o mezclar y combinar estos enfoques en función de sus
preferencias sin poner en peligro el rendimiento:

Enfoque 1: use PySpark para combinar y agregar datos para generar


agregados empresariales. Este enfoque es preferible para alguien con
experiencia en programación (Python o PySpark).

Enfoque 2: use Spark SQL para combinar y agregar datos para generar
agregados empresariales. Este enfoque es preferible para alguien con
experiencia en SQL y que está realizando la transición a Spark.

20. Enfoque 1 (sale_by_date_city): use PySpark para combinar y agregar datos para
generar agregados empresariales. Con el código siguiente, se crean tres
dataframes de Spark diferentes, cada uno de las cuales hace referencia a una tabla
delta existente. A continuación, puede combinar estas tablas mediante los
dataframes, “agrupar por” para generar la agregación, cambiar el nombre de
algunas de las columnas y, por último, escribirla como una tabla delta en la sección
Tablas del almacén de lago para conservar los datos.

En esta celda, creará tres dataframes de Spark diferentes, cada uno de las cuales
hace referencia a una tabla delta existente.

Python

df_fact_sale = [Link]("wwilakehouse.fact_sale")
df_dimension_date = [Link]("wwilakehouse.dimension_date")
df_dimension_city = [Link]("wwilakehouse.dimension_city")

En esta celda, puede combinar estas tablas mediante los dataframes que creó
anteriormente, “agrupar por” para generar la agregación, cambiar el nombre de
algunas de las columnas y, por último, escribirla como una tabla delta en la sección
Tablas del almacén de lago.

Python
sale_by_date_city = df_fact_sale.alias("sale") \
.join(df_dimension_date.alias("date"), df_fact_sale.InvoiceDateKey ==
df_dimension_date.Date, "inner") \
.join(df_dimension_city.alias("city"), df_fact_sale.CityKey ==
df_dimension_city.CityKey, "inner") \
.select("[Link]", "[Link]", "[Link]",
"[Link]", "[Link]", "[Link]",
"[Link]", "[Link]", "[Link]",
"[Link]", "[Link]", "[Link]")\
.groupBy("[Link]", "[Link]", "[Link]",
"[Link]", "[Link]", "[Link]",
"[Link]", "[Link]")\
.sum("[Link]", "[Link]",
"[Link]", "[Link]")\
.withColumnRenamed("sum(TotalExcludingTax)", "SumOfTotalExcludingTax")\
.withColumnRenamed("sum(TaxAmount)", "SumOfTaxAmount")\
.withColumnRenamed("sum(TotalIncludingTax)", "SumOfTotalIncludingTax")\
.withColumnRenamed("sum(Profit)", "SumOfProfit")\
.orderBy("[Link]", "[Link]", "[Link]")

sale_by_date_city.[Link]("overwrite").format("delta").option("overw
riteSchema", "true").save("Tables/aggregate_sale_by_date_city")

21. Enfoque 2 (sale_by_date_employee): use Spark SQL para combinar y agregar


datos para generar agregados empresariales. Con el código siguiente, se crea una
vista temporal de Spark mediante la combinación de tres tablas, se “agrupa por”
para generar la agregación y se cambia el nombre de algunas de las columnas. Por
último, leerá la vista temporal de Spark y la escribirá como una tabla delta en la
sección Tablas del almacén de lago para conservarlo con los datos.

En esta celda, creará una vista temporal de Spark mediante la combinación de tres
tablas, “agrupará por” para generar una agregación y cambiará el nombre de
algunas de las columnas.

Python

%%sql
CREATE OR REPLACE TEMPORARY VIEW sale_by_date_employee
AS
SELECT
[Link], [Link]
, [Link], [Link] Month, CalendarYear Year
,[Link], [Link]
,SUM([Link]) SumOfTotalExcludingTax
,SUM([Link]) SumOfTaxAmount
,SUM([Link]) SumOfTotalIncludingTax
,SUM(Profit) SumOfProfit
FROM wwilakehouse.fact_sale FS
INNER JOIN wwilakehouse.dimension_date DD ON [Link] =
[Link]
INNER JOIN wwilakehouse.dimension_Employee DE ON [Link] =
[Link]
GROUP BY [Link], [Link], [Link], [Link],
[Link], [Link], [Link]
ORDER BY [Link] ASC, [Link] ASC, [Link] ASC

En esta celda, leerá de la vista temporal de Spark creada en la celda anterior y, por
último, la escribirá como una tabla delta en la sección Tablas del almacén de lago.

Python

sale_by_date_employee = [Link]("SELECT * FROM


sale_by_date_employee")
sale_by_date_employee.[Link]("overwrite").format("delta").option("o
verwriteSchema", "true").save("Tables/aggregate_sale_by_date_employee")

22. Para validar las tablas creadas, haga clic con el botón derecho y seleccione
Actualizar en el almacén de lago wwilakehouse. Aparecen las tablas agregadas.

Los dos enfoques producen un resultado similar. Puede elegir en enfoque que se adapte
mejor a su experiencia y a sus preferencias, para minimizar la necesidad de aprender
una nueva tecnología o poner en peligro el rendimiento.
También puede notar que está escribiendo datos como archivos Delta Lake. La
característica automática de detección y registro de tablas de Fabric los recoge y
registra en la tienda de metadatos. No es necesario llamar a las instrucciones CREATE
TABLE explícitamente para crear tablas que se usarán con SQL.

Paso siguiente
Compilación de informes mediante Power BI

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Tutorial de Lakehouse: Creación de
informes en Microsoft Fabric
Artículo • 19/07/2024

En esta sección del tutorial, creará un modelo de datos de Power BI y creará un informe
desde cero.

Requisitos previos
Debe completar estas tareas antes de comenzar este tutorial:

Crear un almacén de lago


Ingesta de datos en un lago de datos
Preparación y transformación de los datos mediante cuadernos y tiempo de
ejecución de Spark

Generación de un informe
Power BI se integra de forma nativa en toda la experiencia de Fabric. Esta integración
nativa incluye un modo único, denominado DirectLake, para acceder a los datos desde
lakehouse para proporcionar la experiencia de informes y consultas más eficaces.
DirectLake es una nueva funcionalidad innovadora que permite analizar modelos
semánticos muy grandes en Power BI. Con DirectLake podrá cargar archivos con
formato Parquet directamente desde un almacén de lago sin tener que consultar un
punto de conexión de almacén o lakehouse y sin tener que importar o duplicar datos en
un modelo semántico de Power BI. DirectLake es una ruta rápida para cargar los datos
del lago de datos directamente en el motor Power BI, listo para el análisis.

En el modo DirectQuery tradicional, el motor de Power BI consulta directamente los


datos del origen para cada ejecución de consulta y el rendimiento de la consulta
depende de la velocidad de recuperación de datos. DirectQuery elimina la necesidad de
copiar datos, asegurando que cualquier cambio en la fuente se refleje inmediatamente
en los resultados de la consulta. Por otro lado, en el modo de importación, el
rendimiento es mejor porque los datos están disponibles en memoria sin tener que
consultar los datos del origen para cada ejecución de consulta, pero el motor de Power
BI primero debe copiar los datos en la memoria en el momento de la actualización de
datos. Los cambios realizados en el origen de datos subyacente se seleccionan durante
la siguiente actualización de datos (en programada, así como en la actualización a
petición).
El modo DirectLake ahora elimina este requisito de importación cargando los archivos
de datos directamente en la memoria. Debido a que no hay un proceso de importación
explícito, es posible recoger cualquier cambio en el origen a medida que se produce,
combinando así las ventajas de DirectQuery y el modo de importación al tiempo que se
evitan sus desventajas. El modo DirectLake es la opción ideal para analizar modelos
semánticos muy grandes y modelos de datos con actualizaciones frecuentes en el
origen.

1. En su almacén de lago, wwilakehouse , seleccione Punto de conexión de análisis


SQL en el menú desplegable Almacén de lago de la parte superior derecha de la
pantalla.

2. En el panel punto de conexión de SQL, debería poder ver todas las tablas que ha
creado. Si aún no los ve, seleccione el icono Actualizar en la parte superior. Luego,
seleccione la pestaña Modelo en la parte inferior para abrir el modelo semántico
predeterminado de Power BI.
3. Para este modelo de datos, debe definir la relación entre diferentes tablas para
que pueda crear informes y visualizaciones en función de los datos que proceden
de tablas diferentes. Desde la tabla fact_sale, arrastre el campo CityKey y suéltelo
en el campo CityKey en la tabla Dimension_City para crear una relación. Aparecerá
el cuadro de diálogo Nueva relación.

4. En el cuadro de dialogo Nueva relación:

La tabla 1 se rellena con fact_sale y la columna de CityKey.

La tabla 2 se rellena con dimension_city y la columna de CityKey.

Cardinalidad: Muchos a uno (*:1).

Dirección de filtro cruzado: Único.

Deje la casilla junto a Activar esta relación seleccionada.

Seleccione la casilla junto a Asume la integridad referencial.

Seleccione Aceptar.
7 Nota

Al definir las relaciones para este informe, asegúrese de tener una relación de
muchos a uno desde la tabla fact_sale (Tabla 1) hasta las tablas dimension_*
(Tabla 2) y no viceversa.

5. A continuación, añada estas relaciones con la misma configuración de Nueva


relación que se muestra en el paso anterior, pero con las siguientes tablas y
columnas:

StockItemKey(fact_sale) - StockItemKey(dimension_stock_item)
Salespersonkey(fact_sale) - EmployeeKey(dimension_employee)
CustomerKey(fact_sale) - CustomerKey(dimension_customer)
InvoiceDateKey(fact_sale) - Date(dimension_date)

Después de agregar estas relaciones, el modelo de datos está listo para la


generación de informes, como se muestra en la imagen siguiente:
6. Seleccione Nuevo informe para comenzar a crear informes/paneles en Power BI.
En el lienzo de informes de Power BI, puede crear informes para cumplir con los
requisitos de su empresa arrastrando las columnas requeridas desde el panel
Datos al lienzo y utilizando una o más de las visualizaciones disponibles.

7. Agregar un título:

a. En la cinta de opciones, seleccione Cuadro de texto.

b. Escriba WW Importers Profit Reporting.

c. Resalte el texto y aumente el tamaño a 20 y colóquelo en la parte superior


izquierda de la página del informe.

8. Incorporar una tarjeta:


a. En el panel Datos, expanda fact_sale y active la casilla situada junto a Beneficio.
Esta selección crea un gráfico de columnas y agrega el campo al eje Y.

b. Con el gráfico seleccionado, seleccione el objeto visual Tarjeta en el panel de


visualización. Esta selección convierte el objeto visual en una tarjeta.

c. Coloque la tarjeta bajo el título.

9. Agregar un gráfico de barras:

a. En el panel Datos, expanda fact_sales y active la casilla situada junto a


Beneficio. Esta selección crea un gráfico de columnas y agrega el campo al eje
X.

b. En el panel Datos , expanda dimension_city y active la casilla situada junto a


SalesTerritory. Esta selección agrega el campo al eje Y.

c. Con el gráfico de barras seleccionado, seleccione el Gráfico de barras


agrupadas en el panel de visualización. Esta selección convierte el gráfico de
columnas en un gráfico de barras.

d. Cambie el tamaño del gráfico de barras y muévalo bajo el título y la tarjeta.


10. Haga clic en cualquier parte del lienzo en blanco (o presione la tecla Esc) para que
el gráfico de barras ya no esté seleccionado.

11. Cree un objeto visual de gráfico de áreas apiladas:

a. En el panel Visualizaciones, seleccione el icono Gráfico de barras apiladas.

b. Cambie la posición y cambie el tamaño del gráfico de áreas apiladas a la


derecha de los objetos visuales de gráfico de tarjetas y barras creados en los
pasos anteriores.

c. En el panel Datos, expanda fact_sales y active la casilla situada junto a


Beneficio. Expanda dimension_date y active la casilla situada junto a
FiscalMonthNumber. Esta selección crea un gráfico de líneas rellenado que
muestra los beneficios por mes fiscal.

d. En el panel Datos , expanda dimension_stock_item y arrastre BuyingPackage al


área Leyenda. Esta selección agrega una línea para cada uno de los paquetes de
compra.

12. Haga clic en cualquier lugar del lienzo en blanco (o presione la tecla Esc) para que
el gráfico de áreas apiladas ya no esté seleccionado.

13. Crear un gráfico de columnas:

a. En el panel Visualizaciones, seleccione el icono Gráfico de barras apiladas.

b. En el panel Datos, expanda fact_sales y active la casilla situada junto a


Beneficio. Esta selección agrega el campo al eje Y.
c. En el panel Datos , expanda dimension_city y active la casilla situada junto a
Empleado. Esta selección agrega el campo al eje X.

14. Haga clic en cualquier parte del lienzo en blanco (o presione la tecla Esc) para que
el gráfico ya no esté seleccionado.

15. En la cinta, seleccione Archivo>Guardar.

16. Escriba el nombre del informe como Informe de beneficios.

17. Seleccione Guardar.

Paso siguiente
Limpieza de recursos

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Tutorial de Lakehouse: Limpieza de
recursos de Fabric
Artículo • 19/07/2024

Como último paso del tutorial, limpie los recursos. En este artículo se muestra cómo
eliminar un área de trabajo.

Requisitos previos
Creación del modelo de datos de Power BI y un informe

Limpieza de recursos
Puede eliminar informes, canalizaciones, almacenes y otros elementos individuales o
quitar todo el área de trabajo. Siga estos pasos para eliminar el área de trabajo que creó
para este tutorial:

1. Seleccione el área de trabajo, el Tutorial de Fabric Lakehouse en el menú de


navegación izquierdo. Abre la vista de elemento del área de trabajo.

2. Seleccione Configuración del área de trabajo.

3. Seleccione Otro y Quitar esta área de trabajo.


4. Cuando aparezca la advertencia, seleccione Eliminar.

Contenido relacionado
Opciones para obtener datos en el almacén de lago de Fabric

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


¿Qué es un almacén de lago en
Microsoft Fabric?
Artículo • 15/11/2023

Microsoft Fabric Lakehouse es una plataforma de arquitectura de datos para almacenar,


administrar y analizar datos estructurados y no estructurados en una sola ubicación. Es
una solución flexible y escalable que permite a las organizaciones manejar grandes
volúmenes de datos utilizando diversas herramientas y marcos para procesar y analizar
esos datos. Se integra con otras herramientas de administración y análisis de datos para
proporcionar una solución completa para la ingeniería y el análisis de datos.

Punto de conexión de análisis SQL de


Lakehouse
El Lakehouse crea una capa de servicio generando automáticamente un punto de
conexión análisis SQL y un modelo semántico predeterminado durante la creación. Esta
nueva funcionalidad transparente permite al usuario trabajar directamente sobre las
tablas Delta del lago para ofrecer una experiencia sin fricciones y de alto rendimiento,
desde la ingesta de datos hasta la elaboración de informes.

Es importante tener en cuenta que el punto de conexión de análisis SQL es una


experiencia de solo lectura y no admite el área expuesta completa de T-SQL de un
almacenamiento de datos transaccional.

7 Nota
Solo las tablas en formato Delta están disponibles en el punto de conexión de
análisis SQL. No se pueden consultar parquet, CSV y otros formatos mediante el
punto de conexión de análisis SQL. Si no ve la tabla, necesitará convertirla en
formato Delta.

Detección y registro automáticos de tablas


La detección y el registro automáticos de tablas es una característica de Lakehouse que
proporciona una experiencia de archivo a tabla totalmente administrada para ingenieros
de datos y científicos de datos. Puedes soltar un archivo en el área gestionada de
Lakehouse y el sistema lo valida automáticamente para los formatos estructurados
admitidos, y lo registra en el metastore con los metadatos necesarios, como nombres de
columnas, formatos, compresión, etc. (Actualmente, el único formato admitido es la
tabla Delta). Luego, puede hacer referencia al archivo como una tabla y usar la sintaxis
de SparkSQL para interactuar con los datos.

Interacción con el elemento de Lakehouse


Un ingeniero de datos puede interactuar con el almacén de lago y los datos dentro de
él de varias maneras:

El explorador de Lakehouse: el explorador es la página de interacción principal de


Lakehouse. Con el explorador de objetos, puede cargar datos y explorarlos en
Lakehouse, establecer etiquetas MIP y mucho más. Más información sobre la
experiencia del explorador: Navegación por el explorador de Lakehouse.

Cuadernos: los ingenieros de datos pueden usar el cuaderno para escribir código
para leer, transformar y escribir directamente en Lakehouse como tablas o
carpetas. Puede obtener más información sobre cómo aprovechar los cuadernos
en Lakehouse: Explorar los datos del almacén de lago con un cuaderno y Cómo
usar un cuaderno para cargar datos en el almacén de lago.

Canalizaciones: los ingenieros de datos pueden usar herramientas de integración


de datos como la herramienta de copia de canalización para extraer datos de otros
orígenes y copiarlos en Lakehouse. Obtenga más información sobre cómo usar la
actividad de copia: Cómo copiar datos mediante la actividad de copia.

Definiciones de trabajos de Apache Spark: los ingenieros de datos pueden


desarrollar aplicaciones sólidas y organizar la ejecución de trabajos de Spark
compilados en Java, Scala y Python. Más información sobre los trabajos de Spark:
¿Qué es una definición de trabajo de Apache Spark?
Dataflows Gen 2: Los ingenieros de datos pueden utilizar Dataflows Gen 2 para
ingerir y preparar sus datos. Obtenga más información sobre la carga de datos
mediante flujos de datos en: Creación del primer flujo de datos para obtener y
transformar datos.

Obtenga más información sobre las distintas formas de cargar datos en lakehouse:
Opciones para obtener datos en Fabric Lakehouse.

Multitarea con almacén de datos


La experiencia de multitarea proporciona un diseño de pestaña del explorador que le
permite abrir y cambiar entre varios elementos sin problemas, lo que le permite
administrar su almacén de lago de datos de forma más eficaz que nunca. No más
malabarismos entre diferentes ventanas o pérdida del seguimiento de las tareas.
Lakehouse proporciona una experiencia de multitarea mejorada para que el recorrido
de administración de datos sea lo más eficaz y fácil de usar posible con las siguientes
funcionalidades:

Conservar las operaciones en ejecución: puede cargar o ejecutar la operación de


carga de datos en una pestaña y comprobar otra tarea en otra pestaña. Con las
tareas múltiples mejoradas, las operaciones en ejecución no se cancelan al navegar
entre pestañas. Puede centrarse en su trabajo sin interrupciones.

Conservar el contexto: los objetos seleccionados, las tablas de datos o los archivos
permanecen abiertos y disponibles fácilmente al cambiar entre pestañas. El
contexto de su almacén de lago de datos siempre está a su alcance.

Recarga de lista sin bloqueo: mecanismo de recarga sin bloqueo para la lista de
archivos y tablas. Puede seguir trabajando mientras la lista se actualiza en segundo
plano. Garantiza que tiene los datos más recientes a la vez que proporciona una
experiencia fluida e ininterrumpida.

Notificaciones claramente definidas: las notificaciones del sistema especifican de


qué almacén de lago proceden, lo que facilita el seguimiento de los cambios y las
actualizaciones en el entorno de varias tareas.

Diseño de almacén de lago accesible


La accesibilidad siempre ha sido una prioridad máxima para garantizar que Lakehouse
sea inclusivo y fácil de usar para todos. Estas son las iniciativas clave que hemos
implementado hasta ahora para admitir la accesibilidad:
Compatibilidad con lectores de pantalla: puede trabajar sin problemas con
lectores de pantalla populares, lo que permite a los usuarios con discapacidades
visuales navegar e interactuar con nuestra plataforma de forma eficaz.

Reflujo de texto diseño dinámico que se adapta a diferentes tamaños y


orientaciones de pantalla. Reflujo de texto y contenido de forma dinámica, lo que
facilita a los usuarios ver e interactuar con nuestra aplicación en una variedad de
dispositivos.

Navegación por teclado: se ha mejorado la navegación por el teclado para


permitir que los usuarios se muevan a través del almacén de lago sin depender de
un mouse, lo que mejora la experiencia de los usuarios con discapacidades
motoras.

Texto alternativo para imágenes: todas las imágenes ahora incluyen un texto
alternativo descriptivo, lo que permite a los lectores de pantalla transmitir
información significativa.

Campos de formulario y etiquetas: todos los campos de formulario tienen


etiquetas asociadas, lo que simplifica la entrada de datos para todos los usuarios,
incluidos los que usan lectores de pantalla.

Pasos siguientes
En esta información general, obtendrá una comprensión básica de los almacenes de
lago. Avanza al siguiente artículo para aprender a crear y utilizar tu propia casa del lago:

Para empezar a utilizar las casas lago, consulta Crear una casa lago en Microsoft
Fabric.

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Crear una instancia de Lakehouse en
Microsoft Fabric
Artículo • 02/07/2024

En este tutorial, aprenderá diferentes formas de crear un Almacén de lago de datos en


Microsoft Fabric.

Creación de un almacén de lago


El proceso de creación de un almacén de lago de datos es rápido y sencillo. Hay varias
maneras de empezar.

Formas de crear un almacén de lago de datos


Hay varias maneras de empezar a trabajar con el proceso de creación:

1. Página principal de Ingeniería de datos

Puede crear fácilmente un almacén de lago de datos a partir de la tarjeta


Almacén de lago de datos en la sección Nuevo de la página principal.

2. Vista Área de trabajo

También puede crear un almacén de lago a través de la vista Área de trabajo


en Ingeniería de datos mediante el menú desplegable Nuevo.
3. Página Creación

Existe un punto de entrada para crear un almacén de lago de datos en la


página Creación en Ingeniería de datos.

Creación de un almacén de lago de datos desde la página


principal de Ingeniería de datos
1. Vaya a la página principal de Ingeniería de datos.

2. En la sección Nuevo, busque la tarjeta Almacén de lago de datos y selecciónela


para empezar a trabajar con el proceso de creación.

3. Escriba un nombre para el almacén de lago de datos y una etiqueta de


confidencialidad si su organización requiere una, y luego seleccione Crear.
4. Una vez creado el almacén de lago de datos, se le redirigirá a la página Editor de
almacén de lago de datos, donde puede empezar y cargar datos.

7 Nota

El almacén de lago de datos se creará en el área de trabajo actual en la que se


encuentra.

Eliminación de un almacén de lago


Para eliminar un almacén de lago, vaya al centro de datos de OneLake y busque su
almacén de lago. Seleccione … junto al nombre del almacén de lago y seleccione
Eliminar. Se eliminará el almacén de lago junto con el punto de conexión de análisis
SQL y el modelo semántico asociados.

7 Nota

Un almacén de lago no se puede eliminar si se hace referencia a él en otro


lugar, por ejemplo, en una canalización o en un flujo de trabajo de análisis en
tiempo real.
No se puede restaurar una instancia de Lakehouse después de eliminarla.

Contenido relacionado
Ahora que ha creado correctamente el almacén de lago de datos, obtenga más
información sobre:

Si quiere ver distintas formas de cargar datos en el almacén de lago, consulte


Opciones para obtener datos en el almacén de lago de Fabric

Al navegar por el explorador del almacén de lago de datos, consulte Navegación


por el explorador del Almacén de lago de datos.

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Navegación por el Explorador del
almacén de lago de datos de Fabric
Artículo • 16/04/2024

La página del explorador del almacén de lago sirve como lugar central para todas las
interacciones dentro del entorno del almacén de lago. El explorador está integrado en el
portal de Fabric. Para abrir el explorador del almacén de lago, cambie a la experiencia de
Ingeniero de datos desde el conmutador de carga de trabajo. Busque y navegue hasta
el elemento del almacén de lago, que abre el explorador donde puede interactuar con
los datos del almacén de lago. El explorador es la puerta de enlace para cargar datos sin
problemas en el almacén de lago, navegar por los datos, obtener una vista previa del
contenido y realizar diversas tareas relacionadas con los datos. La página se divide en
tres secciones: el explorador del almacén de lago, la vista principal y la barra de
herramientas.

Explorador del almacén de lago de datos


El explorador del almacén de lago ofrece una representación gráfica unificada de todo
el almacén de lago, lo que proporciona a los usuarios una interfaz intuitiva para la
navegación, el acceso y la administración de datos.

La sección Tabla es una representación fácil de usar del área administrada dentro
del almacén de lago. Normalmente, esta área se organiza y se gobierna para
facilitar un procesamiento y análisis de datos eficaces. Aquí encontrará todas las
tablas, tanto si se generaron automáticamente como si se crearon y registraron
explícitamente en el metastore. Puede seleccionar una tabla para obtener una vista
previa, inspeccionar el esquema de la tabla, acceder a los archivos subyacentes y
ejecutar otras acciones relacionadas con los datos.

El Área no identificada es un espacio único dentro del área administrada del


almacén de lago. Muestra las carpetas o archivos presentes en el área administrada
que carecen de tablas asociadas en SyMS. Por ejemplo, si un usuario carga
archivos no admitidos (como imágenes o archivos de audio) en el área
administrada, no se detectarán y vincularán automáticamente a tablas. En su lugar,
aparecen en esta área no identificada. El propósito principal de esta sección es
pedir a los usuarios que quiten estos archivos del área administrada o los
transfieran a la sección Archivo para su posterior procesamiento.

La sección Archivo representa el área no administrada del almacén de lago y se


puede considerar una "zona de aterrizaje" para los datos sin procesar ingeridos
desde varios orígenes. Antes de que estos datos se puedan usar para el análisis, a
menudo se requiere procesamiento adicional. En esta sección, puede navegar por
los directorios, seleccionar un directorio para obtener una vista previa, cargar una
carpeta en una tabla y realizar otras acciones. Cabe destacar que la sección
Archivo muestra objetos de nivel de carpeta exclusivamente. Para ver los objetos
de nivel de archivo, debe usar el área Vista principal.

Área de vista principal


El área de vista principal de la página Almacén de lago de datos es el espacio donde se
produce la mayor parte de la interacción de datos. La vista cambia en función de lo que
seleccione. Dado que el explorador de objetos solo muestra una jerarquía de nivel de
carpeta del lago, el área de vista principal es lo que se usa para navegar por los archivos,
obtener una vista previa de los archivos y tablas, además de otras tareas.

Vista previa de tabla


La cuadrícula de datos de vista previa de tablas está equipada con un conjunto de
potentes características que mejoran las interacciones con los datos para que el trabajo
con ellos sea aún más fluido. Estas son algunas características clave:

Ordenar las columnas en orden ascendente o descendente con un simple clic. Esta
característica le proporciona control total sobre la organización de los datos
mientras trabaja con modelos semánticos grandes o cuando necesita identificar
rápidamente las tendencias.

Filtrar los datos por substring o mediante la selección en una lista de valores
disponibles en la tabla.
Cambiar el tamaño de las columnas para adaptar la vista de datos a sus
preferencias. Esta característica le ayuda a priorizar los datos esenciales o a
expandir el campo de vista para abarcar una gama más amplia de información.

Vista previa de archivo


La vista previa de los archivos de datos de un almacén de lago ofrece una variedad de
ventajas que mejoran la calidad, la comprensión y la eficacia general de la
administración de datos. Permite a los profesionales de datos tomar decisiones
fundamentadas, optimizar la asignación de recursos y asegurarse de que su análisis se
basa en datos confiables y valiosos.

La vista previa está disponible para los siguientes tipos de archivo: bmp, css, csv, gif,
html, jpeg, jpg, js, json, md, mjs, png, ps1, py, svg, ts, tsx, txt, xml y yaml

Cinta de opciones
La barra de herramientas del almacén de lago es la barra de acciones de acceso rápido,
que ofrece una manera cómoda de realizar tareas esenciales dentro del almacén de
lago. Desde aquí, puede actualizar el almacén de lago, actualizar la configuración, cargar
datos, crear o abrir notebooks, crear nuevos modelos semánticos personalizados o
gestionar el acceso a los datos de OneLake con facilidad.

Diferentes formas de cargar datos en un almacén de lago


de datos
Hay varias maneras de cargar datos en el almacén de lago de datos desde la página del
explorador:

Carga de archivos y carpetas locales: cargue fácilmente los datos desde la


máquina local directamente a la sección Archivo del almacén de lago. Obtenga
más información aquí**.

Código del cuaderno: use las bibliotecas de Spark disponibles para conectarse a
orígenes de datos y cargar datos en dataframes y, a continuación, guardarlos en el
almacén de lago. Puede encontrar información adicional aquí**.

Herramienta de copia en canalizaciones: conéctese a varios orígenes de datos y


deposite los datos en su formato original o conviértalos en una tabla Delta. Puede
obtener más información aquí**.
Flujos de datos Gen 2: cree flujos de datos para importar datos, transformarlos y
publicarlos en el almacén de lago. Obtenga más información aquí**.

Accesos directos: creación de accesos directos para conectarse a los datos


existentes en el almacén de lago sin tener que copiarlos directamente. Puede
encontrar información adicional aquí**.

Ejemplos: ingesta rápida de datos de ejemplo para iniciar la exploración de tablas


y modelos semánticos.

Descubra diferentes casos de uso para comprender la mejor manera de cargar datos en
el almacén de lago.

Acceso al punto de conexión de SQL Analytics del


almacén de lago
Se puede acceder directamente al punto de conexión de SQL Analytics desde la
experiencia del almacén de lago mediante la lista desplegable en el área superior
derecha de la barra de herramientas. Con este método de acceso rápido, se llega
inmediatamente al modo T-SQL, lo que le permitirá trabajar directamente en las tablas
Delta del lago para ayudarle a prepararlas para los informes.

Contenido relacionado
Esperamos que esta guía le ayude a aprovechar al máximo el explorador del almacén de
lago y sus diversas funcionalidades. No dude en explorar, experimentar y hacer que las
tareas de administración de datos sean más eficaces.

Obtención de la experiencia de datos en el almacén de lago.

Explorar los datos del lago de datos con un cuaderno

Cómo usar un cuaderno para cargar datos en un lago de datos.

Cómo copiar datos mediante la actividad de copia.

Creación del primer flujo de datos para obtener y transformar datos.

Creación de un acceso directo de OneLake

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


¿Cuál es el punto de conexión de
análisis SQL para un almacén de lago?
Artículo • 28/05/2024

Microsoft Fabrics proporciona una experiencia basada en SQL para las tablas delta del
almacén de lago. Esta experiencia basada en SQL se llama punto de conexión de SQL
Analytics. Puede analizar datos en tablas delta mediante el lenguaje T-SQL, guardar
funciones, generar vistas y aplicar la seguridad de SQL. Para acceder al punto de
conexión de análisis de SQL, seleccione un elemento correspondiente en la vista del
área de trabajo o cambie al modo de punto de conexión de análisis de SQL en el
Explorador del almacén de lago.

La creación de un almacén de lago crea un punto de conexión de análisis de SQL, que


apunta al almacenamiento de tablas delta del almacén de lago. Una vez creada una
tabla delta en el almacén de lago, estará disponible inmediatamente para realizar
consultas mediante el punto de conexión de análisis de SQL. Para más información,
consulte Documentación de Data Warehouse: punto de conexión de SQL Analytics.

Reaprovisionamiento de puntos de conexión


de SQL Analytics
Ofrecemos la capacidad de reintentar el aprovisionamiento de puntos de conexión de
análisis de SQL directamente dentro de la experiencia del almacén de lago. Por lo tanto,
si se produce un error en el intento de aprovisionamiento inicial, tiene la opción de
volver a intentarlo sin necesidad de crear un almacén de lago completamente nuevo.
Esta característica le permite mitigar automáticamente los problemas de
aprovisionamiento de forma cómoda en la interfaz de usuario, lo que evita la necesidad
de recreación completa del almacén de lago.

7 Nota

Es importante tener en cuenta que, aunque esta característica mejora la experiencia


del usuario, el reaprovisionamiento de puntos de conexión de análisis de SQL
todavía puede producir un error, como puede ocurrir durante la creación inicial de
un almacén de lago.

Modo de solo lectura del punto de conexión de


SQL Analytics
El punto de conexión de análisis SQL funciona en modo de solo lectura sobre las tablas
delta del almacén de lago. Solo puede leer datos de tablas delta mediante el punto de
conexión de análisis de SQL. Pueden guardar funciones, vistas y establecer la seguridad
de nivel de objeto de SQL.

7 Nota

Las tablas delta externas creadas con el código de Spark no serán visibles para el
punto de conexión de análisis de SQL. Utilice accesos directos en el espacio Tabla
para hacer que las tablas delta externas sean visibles para el punto de conexión de
análisis de SQL.

Para modificar los datos de las tablas delta del almacén de lago, debe cambiar al modo
de almacén de lago y usar Apache Spark.

Control de acceso mediante la seguridad de


SQL
Puede establecer la seguridad de nivel de objeto para acceder a los datos mediante el
punto de conexión de SQL Analytics. Estas reglas de seguridad solo se aplicarán para
acceder a los datos mediante el punto de conexión de SQL Analytics. Para asegurarse de
que no se puede acceder a los datos de otras formas, debe establecer los roles y
permisos del área de trabajo; consulte Roles y permisos del área de trabajo.

Contenido relacionado
Introducción al punto de conexión de SQL Analytics del almacén de lago en
Microsoft Fabric
Planificación de los roles y permisos
Seguridad para el almacenamiento de datos en Microsoft Fabric

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


¿Qué son los esquemas de almacenes
de lago (versión preliminar)?
Artículo • 25/10/2024

Lakehouse admite la creación de esquemas personalizados. Los esquemas le permiten


agrupar las tablas para mejorar la detección de datos, el control de acceso y mucho
más.

Crear un esquema de llakehouse


Para habilitar la compatibilidad de esquemas con el almacén de lago, active la casilla
situada junto a esquemas de almacenes de lago (versión preliminar pública) al crearlo.

) Importante

Los nombres de área de trabajo solo deben contener caracteres alfanuméricos


debido a las limitaciones de la versión preliminar. Si se usan caracteres especiales
en nombres de área de trabajo algunas de las características de Lakehouse no
funcionarán.

Una vez que cree un almacén de lago, puede encontrar un esquema predeterminado
denominado dbo en Tablas. Este esquema siempre está ahí y no se puede cambiar ni
quitar. Para crear un nuevo esquema, pase el ratón por encima de Tablas, seleccione ... y
elija Nuevo esquema. Escriba el nombre del esquema y seleccione Crear. Verá el
esquema en Tablas en orden alfabético.
Almacenamiento de tablas en esquemas de
almacenes de lago
Necesita un nombre de esquema para almacenar una tabla en un esquema. De lo
contrario, va al esquema dbo predeterminado.

Python

[Link]("Overwrite").saveAsTable("[Link]")

Puede usar el explorador de Lakehouse para organizar las tablas y arrastrar y colocar
nombres de tabla en esquemas diferentes.
U Precaución

Si modifica la tabla, también debe actualizar elementos relacionados, como código


de cuaderno o flujos de datos, para asegurarse de que están alineados con el
esquema correcto.

Incorporación de varias tablas con acceso


directo de esquema
Para hacer referencia a varias tablas Delta desde otra instancia de Fabric Lakehouse o
almacenamiento externo, use el acceso directo de esquema que muestra todas las
tablas en el esquema o carpeta elegido. Los cambios en las tablas de la ubicación de
origen también aparecen en el esquema. Para crear un acceso directo a un esquema,
pase el ratón por encima de Tablas, seleccione ... y elija Nuevo acceso directo a
esquema. A continuación, seleccione un esquema en otra instancia de un almacén de
lago o una carpeta con tablas Delta en el almacenamiento externo, como Azure Data
Lake Storage (ADLS) Gen2. Esta acción crea un nuevo esquema con las tablas a las que
se hace referencia.
Acceso a esquemas de almacenes de lago para
informes de Power BI
Para crear el modelo semántico, simplemente elija las tablas que desea usar. Las tablas
pueden estar en esquemas diferentes. Si las tablas de esquemas diferentes tienen el
mismo nombre, verá números junto a nombres de tabla cuando se encuentran en la
vista de modelo.

Esquemas de almacenes de lago en el cuaderno


Al examinar una instancia de almacén de lago habilitada para el esquema en el
explorador de objetos del cuaderno, verá que las tablas están en esquemas. Puede
arrastrar y colocar la tabla en una celda de código y obtener un fragmento de código
que haga referencia al esquema donde se encuentra la tabla. Utilice este espacio de
nombres para hacer referencia a tablas en el código:
"[Link]". Si deja fuera cualquiera de los elementos, el
ejecutor usa la configuración predeterminada. Por ejemplo, si solo asigna un nombre de
tabla, se utiliza el esquema predeterminado (dbo) de lakehouse predeterminado para el
cuaderno.

) Importante

Si desea usar esquemas en el código, asegúrese de que está habilitado el almacén


de lago predeterminado para el cuaderno.

Consultas SQL de Spark entre áreas de trabajo


Utilice este espacio de nombres "[Link]" para hacer
referencia a tablas en el código. De este modo, puede combinar tablas de diferentes
áreas de trabajo si el usuario que ejecuta el código tiene permiso para acceder a las
tablas.

SQL

SELECT *
FROM [Link] as employees
INNER JOIN [Link] as departments
ON [Link] = [Link];

) Importante

Asegúrese de combinar tablas solo desde almacenes de lago que tengan esquemas
habilitados. La combinación de tablas de almacenes de lago que no tienen
esquemas habilitados no funcionará.

Limitaciones de la vista preliminar pública


A continuación se enumeran las características o funcionalidades no admitidas para la
versión actual de la versión preliminar pública. Se resolverán en las próximas versiones
antes de la disponibilidad general.

ノ Expandir tabla

Funcionalidad/función no Notas
admitidas

Shared Lakehouse El uso del área de trabajo en el espacio de nombres para las casas
de lago compartidas no funcionará, por ejemplo,
Funcionalidad/función no Notas
admitidas

[Link]. El usuario debe tener


un rol de área de trabajo para poder usar el área de trabajo en
namaspace.

Esquema de tabla No se admite la obtención de esquema para tablas con formato


administrada, no delta administrado y no delta (por ejemplo, CSV). La expansión de estas
tablas en el explorador de Lakehouse no muestra ninguna
información de esquema en la experiencia de usuario.

Tablas de Spark externas No se admiten las operaciones de tabla de Spark externas (por
ejemplo, detección, obtención de esquema, etc.). Estas tablas no se
han identificado en la experiencia de usuario.

API pública Las API públicas (tablas de lista, carga de tabla, exponer la
propiedad extendida defaultSchema, etc.) no se admiten para el
Lakehouse habilitado para el esquema. Las API públicas existentes
llamadas en un esquema habilitado para Lakehouse producen un
error.

Mantenimiento de tablas No admitida.

Actualizar propiedades de la No admitida.


tabla

Nombre del área de trabajo No se admite el área de trabajo con caracteres especiales (por
que contiene caracteres ejemplo, espacios o barras diagonales). Se muestra un error de
especiales usuario.

Vistas de Spark No admitida.

Características específicas No admitida.


de Hive

USE <schemaName> No funciona entre áreas de trabajo diferentes, pero se admite en la


misma área de trabajo.

Migración No se admite la migración de las instancias existentes que no son


esquemas de almacenes de lago a almacenes de lago basados en
esquemas.

Contenido relacionado
Navegación por el explorador de Lakehouse de Fabric
Explorar los datos de lago de datos con un cuaderno
Opciones para obtener datos en el almacén de lago
Más información sobre los accesos directos
Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Canalizaciones de implementación de
Lakehouse e integración de Git (versión
preliminar)
Artículo • 16/11/2023

El Lakehouse se integra con las funcionalidades de administración del ciclo de vida de


Microsoft Fabric, lo que proporciona una colaboración estandarizada entre todos los
miembros del equipo de desarrollo durante toda la vida del producto. La administración
del ciclo de vida facilita un proceso eficaz de versiones y versiones del producto
mediante la entrega continua de características y correcciones de errores en varios
entornos. Para obtener más información, visite ¿Qué es la administración del ciclo de
vida en Microsoft Fabric?

) Importante

Esta característica se encuentra en versión preliminar.

Integración de Git en Lakehouse


Lakehouse es un elemento que contiene tanto metadatos como datos a los que se hace
referencia en varios objetos del área de trabajo. Lakehouse contiene tablas, carpetas y
accesos directos como elementos de contenedor de datos administrables principales.
Desde una perspectiva del flujo de trabajo de desarrollo, los siguientes objetos
dependientes pueden hacer referencia a una instancia de Lakehouse:

Flujos de datos y Canalizaciones de datos


Definiciones de trabajos de Spark
Blocs de notas
Modelos semánticos y Power BI

El modelo semántico predeterminado y los metadatos del punto de conexión de SQL


Analytics están relacionados con una instancia de Lakehouse y se administran mediante
el proceso de actualización de Git de forma predeterminada. Como principio, no se
realiza un seguimiento de los datos en git, solo de los metadatos.

Representación de Git
La siguiente información de Lakehouse se serializa y realiza un seguimiento en un área
de trabajo conectada de Git:

Nombre para mostrar


Descripción
Guid lógico

7 Nota

El seguimiento lógico es un identificador entre áreas de trabajo generado


automáticamente que representa un elemento y su representación de control de
código fuente.

) Importante

Solo se realiza un seguimiento del artefacto de contenedor de almacén de lago en


Git en la experiencia actual. No se realiza un seguimiento de las tablas, las carpetas,
los accesos directos y otros cambios de metadatos, ni tampoco se versionan en Git.

Funcionalidades de integración de Git en Lakehouse


Están disponibles las siguientes funcionalidades:

Serialización de los metadatos del objeto Lakehouse en una representación JSON


de Git.
Se deben aplicar los cambios directamente o usando la solicitud de incorporación
de cambios para controlar los cambios en áreas de trabajo y ramas ascendentes o
descendentes.
Se realiza un seguimiento del cambio de nombre de Lakehouses en Git. Actualizar
un Lakehouse cuyo nombre ha cambiado también cambia el nombre del modelo
de datos semántico predeterminado y el punto de conexión de SQL Analytics.
No se aplica ninguna acción a tablas, carpetas y accesos directos. Además, los
metadatos y datos de esos elementos siempre se conservan.

Canalizaciones de implementación en
Lakehouse
Lakehouse se admite en canalizaciones de implementación de administración del ciclo
de vida de Microsoft Fabric. Habilita la segmentación del entorno procedimientos
recomendados.

Funcionalidades de la integración de canalizaciones de implementación de Lakehouse:

Implementación entre áreas de trabajo de desarrollo, pruebas y producción.

Lakehouse se puede eliminar como objeto dependiente de la implementación.


También se admite la asignación de diferentes Lakehouses dentro del contexto de
canalización de implementación.

Si no se especifica nada durante la configuración de la canalización de


implementación, se crea un nuevo objeto de almacén de lago vacío con el
mismo nombre en el área de trabajo de destino. Las definiciones de trabajos de
Spark y Notebook se reasignan para hacer referencia al nuevo objeto Lakehouse
en el nuevo área de trabajo.

Si la dependencia del almacén de lago está configurada para hacer referencia a


otra instancia del almacén de lago durante el tiempo de configuración de la
canalización de implementación, como la instancia del almacén de lago
ascendente, se crea un nuevo objeto almacén de lago vacío con el mismo
nombre en el área de trabajo de destino, pero las referencias a Notebooks y
definiciones de trabajos de Spark se conservan tal y como se solicitan en un
almacén de lago distinto.

Los puntos de conexión de SQL Analytics y los modelos semánticos se


aprovisionan como parte de la implementación de Lakehouse.

No se sobrescribe ningún objeto dentro de Lakehouse.

Las actualizaciones del nombre de Lakehouse se pueden sincronizar entre áreas de


trabajo en un contexto de canalización de implementación.

Pasos siguientes
¿Qué es la administración del ciclo de vida en Microsoft Fabric?
Tutorial: Administración del ciclo de vida en Fabric
Introducción a la integración de Git
Introducción a las canalizaciones de implementación

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Administrar almacén de lago en
Microsoft Fabric con la API de REST
Artículo • 05/09/2024

La API de REST de Microsoft Fabric proporciona un punto de conexión de servicio para


el funcionamiento de CRUD de un elemento de Fabric. Las siguientes acciones están
disponibles para el almacén de lago:

ノ Expandir tabla

Acción Descripción

Crear Crea un almacén de lago dentro de un área de trabajo. También se


aprovisiona un punto de conexión de análisis SQL junto con el almacén de
lago.

Actualizar Actualiza el nombre de un almacén de lago y el punto de conexión de


análisis SQL.

Eliminar Elimina un almacén de lago y el punto de conexión de análisis SQL


asociado.

Obtención de Obtiene las propiedades de un almacén de lago y el punto de conexión de


propiedades análisis SQL.

Enumeración de Enumera las tablas en el almacén de lago.


tablas

Carga de tablas Crea tablas delta a partir de CSV y de archivos y carpetas parquet.

Mantenimiento de Aplica la compactación bin, el orden V y la eliminación de archivos sin


tablas referencia y antiguos.

Requisitos previos
Para usar la API de REST de Fabric, primero debe obtener un token de Microsoft
Entra para el servicio de Fabric. A continuación, use ese token en el encabezado de
autorización de la llamada API.

La API de REST de Microsoft Fabric define un punto de conexión unificado para las
operaciones. El extremo es
[Link] . Los

marcadores de posición {workspaceId} y {lakehouseId} deben reemplazarse por


los valores adecuados al emitir los comandos que se ejemplifican en este artículo.
CRUD en el almacén de lago
Use la siguiente API para realizar la creación, las modificaciones y la eliminación del
almacén de lago dentro de un área de trabajo.

Creación de un almacén de lago


Solicitud:

HTTP

POST [Link]
{
"displayName": "demo",
"type": "Lakehouse"
}

Respuesta:

JSON

{
"id": "56c6dedf-2640-43cb-a412-84faad8ad648",
"type": "Lakehouse",
"displayName": "demo",
"description": "",
"workspaceId": "fc67689a-442e-4d14-b3f8-085076f2f92f"
}

Crear un almacén de lago


Actualice la descripción y cambie el nombre del almacén de lago.

Solicitud:

HTTP

PATCH
[Link]
47d7-4c2d-9358-740f50c0aa31
{
"displayName": "newname",
"description": "Item's New description"
}

Respuesta:
JSON

{
"id": "56c6dedf-2640-43cb-a412-84faad8ad648",
"type": "Lakehouse",
"displayName": "newname",
"description": "",
"workspaceId": "fc67689a-442e-4d14-b3f8-085076f2f92f"
}

Obtención de propiedades de almacén de lago


Solicitud:

HTTP

GET
[Link]
ehouseId}

Respuesta:

JSON

{
"id": "daaa77c7-9ef4-41fc-ad3c-f192604424f5",
"type": "Lakehouse",
"displayName": "demo",
"description": "",
"workspaceId": "bee6c118-c2aa-4900-9311-51546433bbb8",
"properties": {
"oneLakeTablesPath":
"[Link]
",
"oneLakeFilesPath":
"[Link]
,
"sqlEndpointProperties": {
"connectionString": "A1bC2dE3fH4iJ5kL6mN7oP8qR9-
[Link]",
"id": "0dfbd45a-2c4b-4f91-920a-0bb367826479",
"provisioningStatus": "Success"
}
}
}

Eliminación de un almacén de lago


Al eliminar un almacén de lago, se eliminan los metadatos y los datos del objeto. Las
referencias de acceso directo se eliminan, pero los datos se conservan en el destino.

Solicitud:

HTTP

DELETE
[Link]
eId}

Respuesta: vacía

Enumerar tablas en un almacén de lago


Solicitud:

HTTP

GET
[Link]
ehouseId}/tables

Respuesta:

JSON

{
"continuationToken": null,
"continuationUri": null,
"data": [
{
"type": "Managed",
"name": "demo1",
"location": "abfss://c522396d-7ac8-435d-8d77-
442c3ff21295@[Link]/{workspaceId}/Tables/demo1",
"format": "delta"
}
]
}

La API de tablas de lista admite la paginación. Proporcione maxResults por página


como parámetro para la solicitud y la API responde con el URI de continuación que se
puede usar para obtener la siguiente página de resultados.
Ejemplo de paginación
Solicitud:

HTTP

GET
[Link]
ehouseId}/tables?maxResults=1

Respuesta:

JSON

{
"continuationToken": "+RID:~HTsuAOseYicH-
GcAAAAAAA==#RT:1#TRC:1#ISV:2#IEO:65567#QCF:8#FPC:AgKfAZ8BnwEEAAe8eoA=",
"continuationUri":
"[Link]
/{lakehouseId}/tables?continuationToken=%2BRID%3A~HTsuAOseYicH-
GcAAAAAAA%3D%3D%23RT%3A1%23TRC%3A1%23ISV%3A2%23IEO%3A65567%23QCF%3A8%23FPC%3
AAgKfAZ8BnwEEAAe8eoA%3D",
"data": [
{
"type": "Managed",
"name": "nyctaxismall",
"location": "abfss://bee6c118-c2aa-4900-9311-
51546433bbb8@[Link]/daaa77c7-9ef4-41fc-ad3c-
f192604424f5/Tables/nyctaxismall",
"format": "delta"
}
]
}

Cargar en tablas
Esta API muestra las funcionalidades de la característica del almacén de lago Cargar en
tablas. Con esta API, es posible cargar archivos CSV y parquet en tablas de lago delta
nuevas o existentes en el almacén de lago.

Esta API es asincrónica, por lo que se requieren tres pasos:

1. Cargue archivos y carpetas en la sección Archivos del almacén de lago mediante


las API de OneLake.
2. Envíe la carga a la solicitud de API de tablas.
3. Realice un seguimiento del estado de la operación hasta la finalización.
En las secciones siguientes se supone que los archivos ya se cargaron.

Carga en la solicitud de API de tablas


El parámetro mode admite operaciones overwrite y append . El parámetro pathType
especificado si se cargan archivos individuales o todos los archivos de la carpeta
especificada. Tanto CSV como parquet se admiten como parámetro del archivo format .

En este ejemplo se carga un archivo CSV denominado [Link] en una tabla existente
denominada demo .

Solicitud:

HTTP

POST
[Link]
ehouseId}/tables/demo/load
{
"relativePath": "Files/[Link]",
"pathType": "File",
"mode": "overwrite",
"formatOptions":
{
"header": true,
"delimiter": ",",
"format": "CSV"
}
}

El encabezado de respuesta contiene el URI para sondear el estado de las operaciones


asincrónicas. El URI está en la variable Location del encabezado de respuesta.

La variable Location contiene un URI como se indica a continuación:


[Link]

d}/operations/32ad6d2a-82bb-420d-bb57-4620c8860373 . El guid 32ad6d2a-82bb-420d-bb57-


4620c8860373 es el identificador de operación para consultar el estado de ejecución de la

carga en las operaciones de tablas, tal como se describe en la sección siguiente.

Supervisión de la carga en las operaciones de tablas


Después de capturar el operationId de la respuesta de la carga a la solicitud de API de
tablas, ejecute la siguiente solicitud:

Solicitud:
HTTP

GET
[Link]
ehouseId}/operations/{operationId}

Respuesta:

JSON

{
"Status": 3,
"CreatedTimeUtc": "",
"LastUpdatedTimeUtc": "",
"PercentComplete": 100,
"Error": null
}

Estado de operación posible para la carga en tablas:

1 - Operación no iniciada
2 - En ejecución
3 - Correcta
4 - Error

Mantenimiento de tablas
Esta API expone las funcionalidades de la característica de mantenimiento de tablas de
almacén de lago. Con esta API, es posible aplicar la compactación bin, el orden V y la
limpieza de archivos antiguos sin referencia.

Esta API es asincrónica, por lo que se requieren dos pasos:

1. Envíe una solicitud de API de mantenimiento de tabla.


2. Realice un seguimiento del estado de la operación hasta la finalización.

Solicitud de API de mantenimiento de tablas


En este ejemplo se ejecuta un trabajo de mantenimiento de tabla que aplica orden V a
una tabla, mientras que también se aplica orden Z a la columna tipAmount y se ejecuta
la operación VACUUM con una retención de siete días y una hora.

Solicitud:
HTTP

POST
[Link]
eId}/jobs/instances?jobType=TableMaintenance
{
"executionData": {
"tableName": "{table_name}",
"optimizeSettings": {
"vOrder": true,
"zOrderBy": [
"tipAmount"
]
},
"vacuumSettings": {
"retentionPeriod": "7.[Link]"
}
}
}

El encabezado de respuesta contiene el URI para sondear el estado de las operaciones


asincrónicas. El URI está en la variable Location del encabezado de respuesta.

La variable Location contiene un URI como se indica a continuación:


[Link]
bs/instances/f2d65699-dd22-4889-980c-15226deb0e1b . El guid f2d65699-dd22-4889-980c-

15226deb0e1b es el identificador de la operación para consultar el estado de las

operaciones de mantenimiento de tablas en ejecución, tal como se describe en la


sección siguiente.

Supervisión de operaciones de mantenimiento de tablas


Después de capturar operationId de la respuesta de la carga a la solicitud de API de
tablas, ejecute la solicitud siguiente:

Solicitud:

HTTP

GET
[Link]
eId}/jobs/instances/{operationId}

Respuesta:

JSON
{
"parameters": {
"workspaceId": "{workspaceId}",
"itemId": "{lakehouseId}",
"jobInstanceId": "{operationId}"
},
"responses": {
"200": {
"body": {
"id": "{operationId}",
"itemId": "431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7",
"jobType": "DefaultJob",
"invokeType": "Manual",
"status": "Completed",
"rootActivityId": "8c2ee553-53a4-7edb-1042-0d8189a9e0ca",
"startTimeUtc": "2023-04-22T[Link].7812154",
"endTimeUtc": "2023-04-22T[Link].8033333",
"failureReason": null
}
}
}
}

Estado de operación posible para el mantenimiento de tablas:

NotStarted: trabajo no iniciado


InProgress: trabajo en curso
Completed: trabajo completado
Error: error en el trabajo
Canceled: trabajo cancelado
Deduped: ya se está ejecutando una instancia del mismo tipo de trabajo y se omite
esta instancia de trabajo

Contenido relacionado
Característica Cargar en tablas del almacén de lago.
Uso de la característica de mantenimiento de tablas para administrar tablas delta
en Fabric.
Optimización de tablas de Delta Lake y Orden V.

Comentarios
¿Le ha resultado útil esta página?  Sí  No
Proporcionar comentarios sobre el producto | Preguntar a la comunidad
Opciones para obtener datos en el
almacén de lago de Fabric
Artículo • 15/11/2023

La experiencia de obtención de datos cubre todos los escenarios del usuario para
incorporar datos al lago de datos, como:

Conectar a un SQL Server existente y copiar datos en la tabla delta del lago de
datos.
Cargando archivos desde el equipo.
Copiar y combinar varias tablas de otros lagos de datos en una nueva tabla delta.
Conexión a un origen de streaming para aterrizar datos en un almacén de lago.
Hacer referencia a datos sin copiarlos desde otros almacenes de lago internos u
orígenes externos.

Diferentes formas de cargar datos en un lago


de datos
En Microsoft Fabric, hay varias maneras de meter datos en un almacén de lago:

Cargar archivos desde el equipo local


Ejecutar una herramienta de copia en las canalizaciones
Configurar un flujo de datos
Bibliotecas de Apache Spark en el código del cuaderno

Carga de archivos local


También puede cargar datos almacenados en el equipo local. Puede hacerlo
directamente en el explorador del lago de datos.

Herramienta Copiar en canalizaciones


La herramienta Copiar es una solución de Integración de datos altamente escalable que
le permite conectarse a diferentes orígenes de datos y cargar los datos en formato
original o convertirlos en una tabla delta. La herramienta de copia es una parte de las
actividades de canalización que se pueden orquestar de varias maneras, como la
programación o el desencadenamiento en función del evento. Para obtener más
información, consulte Cómo copiar datos mediante la actividad de copia.

Flujos de datos
Para los usuarios que están familiarizados con los flujos de datos de Power BI, la misma
herramienta está disponible para cargar datos en el lago de datos. Es posible acceder de
forma rápida desde la opción "Obtener datos" del explorador del lago de datos y
obtener datos de más de 200 conectores. Para obtener más información, consulte Inicio
rápido: Creación del primer flujo de datos para obtener y transformar datos.

Código del cuaderno


Puede usar las bibliotecas de Spark disponibles para conectarse directamente a un
origen de datos, cargar datos en un marco de datos y, a continuación, guardarlos en un
lago de datos. Este método es la forma más abierta de cargar datos en un lago de datos
que el código de usuario administra por completo.

7 Nota

Las tablas Delta externas creadas con el código de Spark no serán visibles para un
punto de conexión de SQL Analytics. Use accesos directos en el espacio Tabla para
hacer que las tablas Delta externas sean visibles para un punto de conexión de SQL
Analytics.

Consideraciones al elegir el enfoque para


cargar datos
Caso de uso Recomendación

Carga de archivos pequeña desde la máquina Uso de la carga de archivos local


local

Datos pequeños o conectores específicos Uso de flujos de datos

Origen de datos grande Uso de la herramienta Copiar en


canalizaciones

Transformaciones de datos complejas Uso de código del cuaderno

Pasos siguientes
Explorar los datos de lago de datos con un cuaderno
Inicio rápido: Cree su primera canalización para copiar datos
Cómo copiar datos mediante la actividad de copia
Traslado de datos de la base de datos de Azure SQL al almacén de lago mediante
el asistente de copia

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Creación de accesos directos en el
lakehouse
Artículo • 26/08/2024

Los accesos directos de una instancia de Lakehouse permiten a los usuarios hacer
referencia a datos sin copiarlos. Unifica los datos de diferentes instancias de Lakehouse,
áreas de trabajo o almacenamiento externo, como ADLS Gen2 o AWS S3. Puede hacer
que grandes cantidades de datos estén disponibles rápidamente en la instancia de
Lakehouse localmente sin la latencia de copiar datos desde el origen.

Creación de un acceso directo a archivos o


tablas
Para crear un acceso directo, abre el Explorador del lakehouse. Selecciona el símbolo ...
situado junto a la sección Tablas o Archivos y luego Nuevo acceso directo. La creación
de un acceso directo a una tabla con formato Delta en la sección Tablas del explorador
del lakehouse la registra automáticamente como una tabla que permite el acceso a
datos a través de Spark, punto de conexión de análisis SQL y modelo semántico
predeterminado. Spark puede acceder a accesos directos en la sección Archivos para
proyectos de ciencia de datos o para la transformación en datos estructurados.

Después de crear un acceso directo, puedes diferenciar un archivo o una tabla normales
desde el acceso directo desde sus propiedades. Las propiedades tienen un parámetro
Tipo de acceso directo que indica que el elemento es un acceso directo.

Access Control para accesos directos


Los accesos directos a los orígenes internos de Microsoft Fabric usarán la identidad de
usuario que llama. Los accesos directos externos usarán detalles de conectividad,
incluidos los detalles de seguridad especificados cuando se cree el acceso directo.

Contenido relacionado
Más información sobre los accesos directos

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Obtención de datos de streaming en
lakehouse con streaming estructurado
de Spark
Artículo • 15/11/2023

Structured Streaming es un motor de procesamiento de flujos escalable y tolerante a


errores basado en Spark. Spark se encarga de ejecutar la operación de streaming de
forma incremental y continua a medida que los datos continúan llegando.

El streaming estructurado está disponible en Spark 2.2. Desde entonces, ha sido el


enfoque recomendado para el streaming de datos. El principio fundamental detrás de la
secuencia estructurada es tratar un flujo de datos en directo como una tabla donde los
nuevos datos siempre se anexan continuamente, como una nueva fila en una tabla. Hay
algunos orígenes de archivos de streaming integrados definidos, como CSV, JSON, ORC,
Parquet y compatibilidad integrada con servicios de mensajería como Kafka y Event
Hubs.

En este artículo se proporciona información sobre cómo optimizar el procesamiento y la


ingesta de eventos a través del streaming de estructuras de Spark en entornos de
producción con un alto rendimiento. Los enfoques sugeridos incluyen:

Optimización del rendimiento de streaming de datos


Optimización de las operaciones de escritura en la tabla delta y
Procesamiento por lotes de eventos

Definiciones de trabajos de Spark y cuadernos


de Spark
Los cuadernos de Spark son una excelente herramienta para validar ideas y realizar
experimentos para obtener información de los datos o el código. Los cuadernos se
utilizan ampliamente en la preparación de datos, la visualización, el aprendizaje
automático y otros escenarios de big data. Las definiciones de trabajos de Spark son
tareas no interactivas orientadas a código que se ejecutan en un clúster de Spark
durante largos períodos. Las definiciones de trabajos de Spark proporcionan solidez y
disponibilidad.

Los cuadernos de Spark son un origen excelente para probar la lógica del código y
abordar todos los requisitos empresariales. Sin embargo, para mantenerla en ejecución
en un escenario de producción, las definiciones de trabajo de Spark con la directiva de
reintento habilitada son la mejor solución.

Directiva de reintento para definiciones de


trabajos de Spark
En Microsoft Fabric, el usuario puede establecer una directiva de reintento para trabajos
de definición de trabajos de Spark. Aunque el script del trabajo puede ser infinito, la
infraestructura que ejecuta el script podría incurrir en un problema que requiere detener
el trabajo. O bien, el trabajo podría eliminarse debido a las necesidades subyacentes de
aplicación de revisiones de infraestructura. La directiva de reintento permite al usuario
establecer reglas para reiniciar automáticamente el trabajo si se detiene debido a
cualquier problema subyacente. Los parámetros especifican con qué frecuencia se debe
reiniciar el trabajo, hasta reintentos infinitos y establecer el tiempo entre reintentos. De
este modo, los usuarios pueden asegurarse de que sus trabajos de definición de trabajo
de Spark sigan ejecutándose infinitamente hasta que el usuario decida detenerlos.

Orígenes de streaming
La configuración de streaming con Event Hubs requiere una configuración básica, que
incluye el nombre del espacio de nombres de Event Hubs, el nombre del centro, el
nombre de la clave de acceso compartido y el grupo de consumidores. Un grupo de
consumidores es una vista de un centro de eventos completo. Permite que varias
aplicaciones consumidoras tengan una vista separada del flujo de eventos y lean el flujo
de forma independiente, a su propio ritmo y con sus desplazamientos.

Las particiones son una parte esencial de poder controlar un gran volumen de datos. Un
único procesador tiene una capacidad limitada para controlar eventos por segundo,
mientras que varios procesadores pueden realizar un mejor trabajo cuando se ejecutan
en paralelo. Las particiones permiten procesar grandes volúmenes de eventos en
paralelo.

Si se usan demasiadas particiones con una tasa de ingesta baja, los lectores de
particiones tratan con una pequeña parte de estos datos, lo que provoca un
procesamiento no óptimo. El número ideal de particiones depende directamente de la
velocidad de procesamiento deseada. Si desea ampliar su procesamiento de eventos,
considere la posibilidad de añadir más particiones. No hay ningún límite de rendimiento
específico en una partición. Sin embargo, el rendimiento agregado en su espacio de
nombres está limitado por el número de unidades de rendimiento. A medida que
aumente el número de unidades de rendimiento en su espacio de nombres, es posible
que desee particiones adicionales para permitir que los lectores concurrentes alcancen
su máximo rendimiento.

La recomendación es investigar y probar el mejor número de particiones para el


escenario de rendimiento. Pero es habitual ver escenarios con un alto rendimiento
mediante 32 o más particiones.

El conector Azure Event Hubs para Apache Spark (azure-event-hubs-spark ) se


recomienda para conectar la aplicación Spark a Azure Event Hubs.

Lakehouse como receptor de streaming


Delta Lake es una capa de almacenamiento de código abierto que proporciona
transacciones ACID (atomicidad, coherencia, aislamiento y durabilidad) sobre las
soluciones de almacenamiento de lago de datos. Delta Lake también admite el control
de metadatos escalables, la evolución del esquema, el viaje en tiempo (control de
versiones de datos), el formato abierto y otras características.

En Fabric Ingeniería de datos, Delta Lake se usa para:

Upsert (insert/update) fácilmente y eliminar datos mediante Spark SQL.


Compacte los datos para minimizar el tiempo dedicado a consultar los datos.
Vea el estado de las tablas antes y después de ejecutar las operaciones.
Recupere un historial de operaciones realizadas en tablas.

Delta se añade como uno de los posibles formatos de receptores de salidas usados en
writeStream. Para obtener más información sobre los receptores de salida existentes,
consulte Guía de programación de streaming estructurado de Spark .

En el ejemplo siguiente se muestra cómo es posible transmitir datos a Delta Lake.

PySpark

import [Link] as f
from [Link] import *

df = spark \
.readStream \
.format("eventhubs") \
.options(**ehConf) \
.load()

Schema = StructType([StructField("<column_name_01>", StringType(), False),


StructField("<column_name_02>", StringType(), False),
StructField("<column_name_03>", DoubleType(), True),
StructField("<column_name_04>", LongType(), True),
StructField("<column_name_05>", LongType(), True)])

rawData = df \
.withColumn("bodyAsString", [Link]("body").cast("string")) \
.select(from_json("bodyAsString", Schema).alias("events")) \
.select("events.*") \
.writeStream \
.format("delta") \
.option("checkpointLocation", " Files/checkpoint") \
.outputMode("append") \
.toTable("deltaeventstable")

Acerca del código recortado en el ejemplo:

format() es la instrucción que define el formato de salida de los datos.


outputMode() define cómo se escriben las nuevas filas del flujo (es decir, añadir,
sobrescribir).
toTable() persiste los datos transmitidos en una tabla Delta creada utilizando el
valor pasado como parámetro.

Optimización de las escrituras Delta


La partición de datos es un elemento fundamental para crear una solución de streaming
robusta: la partición mejora la organización de los datos y el rendimiento. Los archivos
se fragmentan fácilmente tras las operaciones Delta, lo que da lugar a demasiados
archivos pequeños. Y los archivos demasiado grandes también son un problema, debido
al largo tiempo para escribirlos en el disco. El desafío de la creación de particiones de
datos es encontrar el equilibrio adecuado que da lugar a tamaños de archivo óptimos.
Spark admite la creación de particiones en memoria y en el disco. Los datos con
particiones correctas pueden proporcionar el mejor rendimiento al conservar los datos
en Delta Lake y consultar datos desde Delta Lake.

Al particionar datos en disco, puede elegir cómo particionar los datos basándose
en columnas utilizando partitionBy(). partitionBy() es una función que se usa para
crear particiones de un modelo semántico grande en archivos más pequeños en
función de una o varias columnas que se proporcionan al escribir en el disco. La
creación de particiones es una manera de mejorar el rendimiento de la consulta al
trabajar con un modelo semántico grande. Evite elegir una columna que genere
particiones demasiado pequeñas o demasiado grandes. Defina una partición
basada en un conjunto de columnas con una buena cardinalidad y divida los datos
en archivos de tamaño óptimo.
La partición de los datos en memoria puede realizarse utilizando las
transformaciones repartition() o coalesce(), distribuyendo los datos en múltiples
nodos trabajadores y creando múltiples tareas que puedan leer y procesar datos
en paralelo utilizando los fundamentos de Resilient Distributed Dataset (RDD).
Permite dividir el modelo semántico en particiones lógicas, que se pueden calcular
en distintos nodos del clúster.
repartition() se utiliza para aumentar o disminuir el número de particiones en
memoria. Repartition reorganiza todos los datos de la red y los reparte entre
todas las particiones.
coalesce() is only used to effectively reduce the number of partitions. Es una
versión optimizada de repartition() donde el movimiento de datos a través de
todas las particiones es menor usando coalesce().

Combinar ambos enfoques de creación de particiones es una buena solución en


escenarios con un alto rendimiento. repartition() crea un número específico de
particiones en memoria, mientras que partitionBy() escribe archivos en disco para cada
partición de memoria y columna de partición. En el ejemplo siguiente se muestra el uso
de ambas estrategias de creación de particiones en el mismo trabajo de Spark: los datos
se dividen primero en 48 particiones en memoria (suponiendo que tenemos un total de
48 núcleos de CPU) y, a continuación, se particionan en disco en dos columnas
existentes de la carga.

PySpark

import [Link] as f
from [Link] import *
import json

rawData = df \
.withColumn("bodyAsString", [Link]("body").cast("string")) \
.select(from_json("bodyAsString", Schema).alias("events")) \
.select("events.*") \
.repartition(48) \
.writeStream \
.format("delta") \
.option("checkpointLocation", " Files/checkpoint") \
.outputMode("append") \
.partitionBy("<column_name_01>", "<column_name_02>") \
.toTable("deltaeventstable")

Escritura optimizada
Otra opción para optimizar las escrituras en Delta Lake es usar escritura optimizada.
Escritura optimizada es una característica opcional que mejora la forma en que los datos
se escriben en la tabla Delta. Spark combina o divide las particiones antes de escribir los
datos, lo que maximiza el rendimiento de los datos que se escriben en el disco. Sin
embargo, incurre en orden aleatorio completo, por lo que para algunas cargas de
trabajo puede provocar una degradación del rendimiento. Los trabajos que utilizan
coalesce() y/o repartition() para particionar datos en disco pueden ser refactorizados
para comenzar a utilizar Optimized Write en su lugar.

El código siguiente es un ejemplo del uso de Escritura optimizada. Tenga en cuenta que
se sigue usando partitionBy().

PySpark

[Link]("[Link]", true)

rawData = df \
.withColumn("bodyAsString", [Link]("body").cast("string")) \
.select(from_json("bodyAsString", Schema).alias("events")) \
.select("events.*") \
.writeStream \
.format("delta") \
.option("checkpointLocation", " Files/checkpoint") \
.outputMode("append") \
.partitionBy("<column_name_01>", "<column_name_02>") \
.toTable("deltaeventstable")

Eventos de procesamiento por lotes


Para minimizar el número de operaciones para mejorar el tiempo dedicado a la ingesta
de datos en Delta Lake, los eventos de procesamiento por lotes son una alternativa
práctica.

Los desencadenadores definen la frecuencia con la que se debe ejecutar (desencadenar)


una consulta de streaming y emitir nuevos datos, configurarlos define un intervalo de
tiempo de procesamiento periódico para microbatches, acumular datos y procesar
eventos por lotes en pocas operaciones persistentes, en lugar de escribir en el disco
todo el tiempo.

En el ejemplo siguiente se muestra una consulta de streaming en la que los eventos se


procesan periódicamente en intervalos de un minuto.

PySpark

rawData = df \
.withColumn("bodyAsString", [Link]("body").cast("string")) \
.select(from_json("bodyAsString", Schema).alias("events")) \
.select("events.*") \
.repartition(48) \
.writeStream \
.format("delta") \
.option("checkpointLocation", " Files/checkpoint") \
.outputMode("append") \
.partitionBy("<column_name_01>", "<column_name_02>") \
.trigger(processingTime="1 minute") \
.toTable("deltaeventstable")

La ventaja de combinar el procesamiento por lotes de eventos en las operaciones de


escritura de tablas delta es que crea archivos Delta más grandes con más datos en ellos,
evitando archivos pequeños. Debe analizar la cantidad de datos que se ingieren y
encontrar el mejor tiempo de procesamiento para optimizar el tamaño de los archivos
Parquet creados por la biblioteca Delta.

Supervisión
Spark 3.1 y versiones superiores tienen incorporada una interfaz de usuario de
streaming estructurado que contiene las siguientes métricas de streaming:

Velocidad de entrada
Velocidad de proceso
Filas de entrada
Duración del lote
Duración de la operación

Pasos siguientes
Obtenga datos de streaming en el almacén de lago y acceda con el punto de
conexión de análisis SQL

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Adición de un destino de lago de datos
a una secuencia de eventos
Artículo • 25/10/2024

En este artículo se muestra cómo agregar una instancia de Lakehouse como destino a
una secuencia de eventos de Microsoft Fabric. Para optimizar el rendimiento del
streaming y las consultas en tiempo real, considere la posibilidad de transmitir datos a
un centro de eventos con agregar el destino de Eventhouse a una secuencia de eventos
y, a continuación, habilitar la disponibilidad de Eventhouse OneLake.

7 Nota

Si quiere usar funcionalidades mejoradas que están en versión preliminar,


seleccione Funcionalidades mejoradas en la parte superior. De lo contrario,
seleccione Funcionalidades estándar. Para obtener información sobre las
funcionalidades mejoradas que se encuentran en versión preliminar, vea
Introducción a los flujos de eventos de Fabric.

) Importante

Hay una obligatoriedad de esquema para escribir datos en una tabla de destino de
almacén de lago. Todas las nuevas escrituras en la tabla deben ser compatibles con
el esquema de la tabla de destino en el momento de la escritura, lo que garantiza
la calidad de los datos.

Cuando la salida se escribe en una nueva tabla delta, el esquema de tabla se crea
en función del primer registro. Todos los registros de los datos de salida se
proyectan en el esquema de la tabla existente.

Si los datos entrantes tienen columnas que no están en el esquema de tabla


existente, las columnas adicionales no se incluyen en los datos escritos en la tabla.
De la misma forma, si a los datos entrantes les faltan columnas que aparecen en el
esquema de tabla existente, se escriben en la tabla con el valor establecido en null.

Requisitos previos
Acceso al área de trabajo Premium de Fabric donde se encuentran sus secuencias
de eventos con los permisos de Colaborador o superiores.
Acceso al área de trabajo Premium de Fabric donde se encuentra el almacén de
lago con permisos de Colaborador o superiores.

7 Nota

El número máximo de orígenes y destinos para una secuencia de eventos es 11.

Agregar un almacén de lago como destino


Para agregar un destino de almacén de lago a una secuencia de eventos
predeterminada o derivada, siga estos pasos.

1. En Modo de edición para la secuencia de eventos, seleccione Agregar destino en


la cinta de opciones y seleccione Almacén de lago en la lista desplegable.

2. Conectar el nodo de almacén de lago al nodo de secuencia o al operador.

3. En la pantalla de configuración de almacén de lago, complete la siguiente


información:
a. Especifique el Nombre del destino.
b. Seleccione el área de trabajo que contiene el almacén de lago.
c. Seleccione un almacén de lago existente del área de trabajo que especificó.
d. Seleccione una tabla delta existente o cree una nueva para recibir datos.
e. Seleccione el formato de los datos de entrada que se envían al almacén de
lago. Los formatos de datos admitidos son JSON, Avro y CSV (con encabezado).
4. Seleccione Advanced (Avanzadas).

5. Hay dos modos de ingesta disponibles para un destino de lago de datos. En


función de su escenario, configure estos modos para optimizar cómo escribe la
secuencia de eventos de Fabric en el almacén de lago.

Mínimo de filas es el número mínimo de filas que el almacén de lago ingiere


en un único archivo. El mínimo es 1 fila y el máximo es de 2 millones de filas
por archivo. Cuanto menor sea el número mínimo de filas, más archivos
creará el almacén de lago durante la ingesta.

Duración máxima es la duración máxima que tarda el almacén de lago en


ingerir un único archivo. El mínimo es de 1 minuto y el máximo es de 2 horas.
Cuanto mayor sea la duración, más filas se ingerirán en un archivo.
6. Seleccione Guardar.

7. Para implementar el destino de almacén de lago recién agregado, seleccione


Publicar.

Una vez completados estos pasos, el destino del almacén de lago está disponible para
su visualización en la Vista en vivo. En el panel Detalles, puede seleccionar el acceso
directo Optimizar tabla en el cuaderno para iniciar un trabajo de Apache Spark en un
cuaderno, que consolida los archivos de streaming pequeños dentro de la tabla de
almacén de lago de destino.

Contenido relacionado
Para obtener información sobre cómo agregar otros destinos a Eventstream, consulte
los siguientes artículos:

Redirigir eventos a destinos


Aplicación personalizada como destino
Destino de flujo derivado
Destino del centro de eventos
Reflex como destino
Crear un Eventstream

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Roles de área de trabajo en Lakehouse
Artículo • 04/04/2024

Los roles de área de trabajo definen lo que el usuario puede hacer con los elementos de
Microsoft Fabric. Los roles se pueden asignar a usuarios o grupos de seguridad desde la
vista del área de trabajo. Consulte Dar acceso a los usuarios a las áreas de trabajo.

Se pueden asignar al usuario los siguientes roles:

Administración
Miembro
Colaborador
Visor

En un almacén de lago los usuarios con rol de Administrador, Miembro y Colaborador


pueden realizar todas las operaciones CRUD sobre todos los datos. Un usuario con el rol
Visor solo puede leer los datos almacenados en las tablas mediante el punto de
conexión de análisis SQL.

) Importante

Al acceder a datos mediante el punto de conexión de análisis SQL con el rol Visor,
debe asegurarse de que se concede la directiva de acceso de SQL para leer las
tablas necesarias.

Contenido relacionado
Roles en las áreas de trabajo
Permisos de acceso a datos OneLake
Seguridad de Fabric y OneLake

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Cómo funciona el uso compartido de
almacenes de lago
Artículo • 05/08/2024

Cuando compartes un almacén de lago, concedes a otros usuarios o grupos acceso a un


almacén de lago sin dar acceso al área de trabajo y al resto de sus elementos. Para ver la
lista de elementos que otros usuarios han compartido contigo, selecciona Examinar en
la barra de navegación de Fabric y, a continuación, selecciona Compartido conmigo.
También puedes ver los almacenes de lago que otros usuarios comparten contigo en el
centro de datos de OneLake.

Compartir un almacén de lago también concede acceso al punto de conexión de análisis


de SQL y al modelo semántico predeterminado asociado.

Para compartir una instancia de almacén de lago, ve al área de trabajo y selecciona los
puntos suspensivos (...) junto al nombre del almacén de lago. En el menú Más opciones,
selecciona Compartir. Completa los campos de la pantalla Conceder acceso a personas
y selecciona Conceder.

Para editar o quitar permisos, consulta Administración de permisos.

Uso compartido y permisos


De forma predeterminada, el uso compartido de un almacén de lago concede a los
usuarios permiso de lectura en el lago compartido, el punto de conexión de análisis de
SQL asociado y el modelo semántico predeterminado. Además de estos permisos
predeterminados, puedes conceder:

Permiso ReadData en el punto de conexión de análisis de SQL para acceder a


datos sin directiva SQL.
Permiso ReadAll en el almacén de lago para acceder a todos los datos usando
Apache Spark.
Permiso de compilación en el modelo semántico predeterminado para permitir la
creación de informes de Power BI sobre el modelo semántico.

Administración de permisos
Después de compartir un elemento, puedes editar o quitar permisos en la pantalla
Acceso directo para ese elemento. Para administrar los permisos de almacén de lago
que has compartido, ve al área de trabajo y selecciona los puntos suspensivos (...) junto
al nombre del almacén de lago. Desde el menú Más opciones, selecciona Administrar
permisos. En la pantalla Acceso directo, puedes ver el acceso concedido, agregar
permisos personalizados y quitar el acceso y los permisos personalizados.

Control de acceso a nivel de carpetas


Los permisos de acceso a datos de OneLake (versión preliminar) te permiten crear roles
personalizados dentro de un almacén de lago y conceder permisos de lectura solo a
carpetas especificadas en OneLake. La seguridad de carpetas OneLake se puede heredar
para todas las subcarpetas. Para cada rol de OneLake, puedes asignar usuarios, grupos
de seguridad o conceder una asignación automática basada en el rol de área de trabajo.

Más información sobre el Control de acceso basado en roles (RBAC) de OneLake.

Roles de acceso a datos de OneLake


Para crear un nuevo rol de acceso a datos:

1. Abre el almacén de lago donde desea definir el nuevo rol.


2. Selecciona Administrar acceso a datos de OneLake (versión preliminar) en la
cinta de opciones y confirma que deseas habilitar roles de acceso a datos (versión
preliminar) para el almacén de lago.
3. A continuación, selecciona Nuevo rol y escribe un nombre para el rol.
4. Si deseas que este rol se aplique a todas las carpetas de este almacén de lago,
selecciona Todas las carpetas. Si deseas que el rol solo se aplique a las carpetas
seleccionadas, elige Carpetas seleccionadas y selecciona las carpetas pertinentes.
5. Seleccione Guardar. Aparece una notificación que confirma la creación del nuevo
rol.
6. En el panel Editar <nombre> de rol, concede al nuevo rol Permisos de lectura.
Para ello, selecciona Asignar rol.
7. Elige los permisos que deseas asignar, escribe nombres o direcciones de correo
electrónico en el campo Agregar personas o grupos y selecciona Agregar.
8. Revisa la lista de asignados en Personas y grupos asignados, quita los que no
desees en la lista y selecciona Guardar.

Para obtener más información, consulta Introducción a los roles de acceso a datos de
OneLake.

Contenido relacionado
Roles de área de trabajo en almacenes de lago
Compartir elementos en Microsoft Fabric
Control de acceso basado en rol (RBAC)

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


¿Qué es el proceso de Apache Spark en
Microsoft Fabric?
Artículo • 14/06/2024

Se aplica a: Ingeniería de datos y ciencia de datos en Microsoft Fabric

Las experiencias de Ingeniería de datos y Ciencia de datos de Microsoft Fabric funcionan


en una plataforma de proceso Apache Spark totalmente administrada. Esta plataforma
está diseñada para ofrecer una velocidad y eficiencia inigualables. Con los grupos de
inicio, puede esperar una rápida inicialización de la sesión de Apache Spark,
normalmente en 5 a 10 segundos, sin necesidad de configuración manual. También
dispone de flexibilidad para personalizar los grupos de Apache Spark según sus
requisitos específicos de ingeniería y ciencia de datos. La plataforma permite una
experiencia de análisis optimizada y adaptada.

Grupos de inicio
Los grupos de inicio son una manera rápida y sencilla de usar Spark en la plataforma de
Microsoft Fabric en cuestión de segundos. Puede usar las sesiones de Spark de
inmediato, en lugar de esperar a que Spark configure los nodos, lo que le ayuda a hacer
más con los datos y obtener información más rápido.
Los grupos de inicio tienen clústeres de Apache Spark siempre activados y listos para las
solicitudes. Usan nodos medianos que se escalan verticalmente de forma dinámica en
función de las necesidades del trabajo de Spark.
Los grupos de inicio también tienen una configuración predeterminada que le permite
instalar bibliotecas rápidamente sin ralentizar la hora de inicio de la sesión. Sin
embargo, si desea utilizar propiedades o bibliotecas Apache Spark personalizadas
adicionales de su área de trabajo o configuración de capacidad, Spark tardará más
tiempo en obtener los nodos por usted. En lo que respecta a la facturación y el
consumo de capacidad, se le cobra por el consumo de capacidad cuando empieza a
ejecutar la definición de trabajo de bloc de notas o Apache Spark. No se le cobrará por
el tiempo que los clústeres estén inactivos en el grupo.

Por ejemplo, si envía un trabajo de bloc de notas a un grupo de inicio, solo se le


facturará por el periodo de tiempo en el que la sesión de bloc de notas esté activa. El
tiempo facturado no incluye el tiempo de inactividad ni el tiempo empleado en
personalizar la sesión con el contexto Spark.

Grupos de Spark
Un grupo de Spark es una manera de indicar a Spark qué tipo de recursos necesita para
las tareas de análisis de datos. Puede asignar un nombre al grupo de Spark y elegir el
número y el tamaño de los nodos (las máquinas que realizan el trabajo). También puede
indicar a Spark cómo ajustar el número de nodos en función del trabajo que tenga. La
creación de un grupo de Spark es gratuita; solo paga cuando ejecuta un trabajo de
Spark en el grupo y, a continuación, Spark configura los nodos por usted.

Si no utiliza su grupo de Spark durante 2 minutos después de que expire su sesión, su


grupo de Spark será desasignado. Este período de tiempo de expiración de sesión
predeterminado se establece en 20 minutos y puede cambiarlo si lo desea. Si es
administrador del área de trabajo, también puede crear grupos de Spark personalizados
para el área de trabajo y convertirlos en la opción predeterminada para otros usuarios.
De este modo, puede ahorrar tiempo y evitar la configuración de un nuevo grupo de
Spark cada vez que ejecute un cuaderno o un trabajo de Spark. Los grupos de Spark
personalizados tardan unos tres minutos en iniciarse, ya que Spark debe obtener los
nodos de Azure.

Incluso puede crear grupos de Spark de un solo nodo, estableciendo el número mínimo
de nodos en uno, de modo que el controlador y el ejecutor se ejecuten en un único
nodo que viene con alta disponibilidad restaurable y es adecuado para cargas de
trabajo pequeñas.

El tamaño y el número de nodos que puede tener en el grupo de Spark personalizado


depende de la capacidad de Microsoft Fabric. La capacidad es una medida de la
potencia informática que puede usar en Azure. Una manera de pensar es que dos
núcleos virtuales de Apache Spark (una unidad de potencia informática para Spark) son
iguales a una unidad de capacidad. Por ejemplo, una SKU de capacidad de Fabric F64
tiene 64 unidades de capacidad, que equivalen a 128 núcleos virtuales de Spark. Puede
usar estos núcleos virtuales de Spark para crear nodos de diferentes tamaños para el
grupo de Spark personalizado, siempre que el número total de núcleos virtuales de
Spark no supere los 128.

Los grupos de Spark se facturan como los grupos iniciales; no paga por los grupos de
Spark personalizados que haya creado a menos que tenga una sesión Spark activa
creada para ejecutar un bloc de notas o una definición de trabajo Spark. Solo se le
factura por la duración de sus trabajos. No se le facturan etapas como la creación del
clúster y la desasignación una vez finalizado el trabajo.

Por ejemplo, si envía un trabajo de bloc de notas a un grupo de Spark personalizado,


solo se le cobrará por el periodo de tiempo en que la sesión esté activa. La facturación
de esa sesión de bloc de notas se detiene una vez que la sesión de Spark se ha detenido
o ha expirado. No se le cobrará por el tiempo empleado en adquirir instancias de clúster
de la nube ni por el tiempo empleado en inicializar el contexto de Spark.

Posibles configuraciones de grupo personalizadas para F64 según el ejemplo anterior:

ノ Expandir tabla

SKU de capacidad Unidades de Núcleos virtuales Tamaño del Número máximo


de Fabric capacidad de Spark nodo de nodos

F64 64 384 Pequeño 96

F64 64 384 Media 48


SKU de capacidad Unidades de Núcleos virtuales Tamaño del Número máximo
de Fabric capacidad de Spark nodo de nodos

F64 64 384 grande 24

F64 64 384 Mas grande 12

F64 64 384 Extra grande 6

7 Nota

Para crear grupos personalizados, necesita permisos de administrador para el área


de trabajo. Además, el administrador de capacidad de Microsoft Fabric debe
conceder permisos para permitir que los administradores del área de trabajo
dimensionen sus grupos de Spark personalizados. Para más información, consulte
Introducción a grupos de Spark personalizados en Fabric

Nodos
Una instancia de grupo de Spark Apache consta de un nodo principal y nodos
trabajadores, podría iniciar un mínimo de un nodo en una instancia de Spark. El nodo
principal ejecuta servicios de administración adicionales, como Livy, Yarn Resource
Manager, Zookeeper y el controlador de Apache Spark. Todos los nodos ejecutan
servicios como Node Agent y Yarn Node Manager. Todos los nodos de trabajo ejecutan
el servicio Apache Spark Executor.

Tamaño de nodo
Un grupo de Spark puede definirse con tamaños de nodo que van desde un nodo de
computación pequeño (con 4 vCore y 32 GB de memoria) hasta un nodo de
computación grande (con 64 vCore y 512 GB de memoria por nodo). El tamaño de los
nodos puede modificarse tras la creación del pool, aunque habría que reiniciar la sesión
activa.

ノ Expandir tabla

Size vCore Memoria

Small 4 32 GB

Media 8 64 GB
Size vCore Memoria

grande 16 128 GB

Mas grande 32 256 GB

Extra grande 64 512 GB

Escalado automático
La escalabilidad automática para grupos de Apache Spark proporciona la capacidad de
escalar y reducir verticalmente los recursos de proceso en función de la cantidad de
actividad. Cuando activas la función de auto escalado, establece el número mínimo y
máximo de nodos a escalar. Cuando se deshabilita la función de auto escala, el número
de nodos establecido permanece fijo. Puede modificar esta configuración tras la
creación del grupo, aunque es posible que tenga que reiniciar la instancia.

7 Nota

De forma predeterminada, [Link] se establece


como “true”, lo que permite el apagado automático de nodos infrautilizados para
optimizar la eficacia del proceso. Si se prefiere reducir verticalmente de forma
menos agresiva, esta configuración se puede establecer como “false”.

Asignación dinámica
La asignación dinámica permite a la aplicación Apache Spark solicitar más ejecutores si
las tareas superan la carga que los ejecutores actuales pueden soportar. También libera
los ejecutores cuando se completan los trabajos, y si la aplicación Spark pasa a estado
inactivo. A los usuarios empresariales a menudo les resulta difícil ajustar las
configuraciones del ejecutor porque son muy diferentes en las distintas etapas del
proceso de ejecución de un trabajo de Spark. Estas configuraciones también dependen
del volumen de datos procesados, que cambian de vez en cuando. Puede habilitar la
opción de asignación dinámica de ejecutores como parte de la configuración del grupo,
lo que permite la asignación automática de ejecutores a la aplicación Spark en función
de los nodos disponibles en el grupo Spark.

Cuando habilita la opción de asignación dinámica para cada aplicación Spark enviada, el
sistema reserva ejecutores durante el paso de envío del trabajo basándose en los nodos
máximos. Se especifican los nodos máximos para admitir escenarios de escalado
automático satisfactorios.
Contenido relacionado
Introducción a la configuración de administración de Ingeniería de datos/ciencia
para la capacidad del tejido
Configuración de la gestión del área de trabajo de Apache Spark en Microsoft
Fabric

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Configurar grupos de inicio en
Microsoft Fabric
Artículo • 12/04/2024

En este artículo, se explica cómo personalizar grupos de inicio en Microsoft Fabric para
las cargas de trabajo de análisis. Los grupos de inicio son una manera rápida y sencilla
de usar Spark en la plataforma de Microsoft Fabric en cuestión de segundos. Puede usar
las sesiones de Spark de inmediato, en lugar de esperar a que Spark configure los
nodos, lo que le ayuda a hacer más con los datos y obtener información más rápido.

Los grupos de inicio tienen clústeres de Spark siempre activados y listos para las
solicitudes. Usan nodos de tamaño mediano y se pueden escalar verticalmente en
función de los requisitos de carga de trabajo.

Puede especificar los nodos máximos para el escalado automático en función de los
requisitos de carga de trabajo de ingeniería de datos o ciencia de datos. En función de
los nodos máximos que configure, el sistema adquiere y retira dinámicamente los nodos
a medida que cambian los requisitos de proceso del trabajo, lo que da como resultado
un escalado eficaz y un rendimiento mejorado.

También puede establecer el límite máximo de ejecutores en grupos de inicio y con la


asignación dinámica habilitada, el sistema ajusta el número de ejecutores en función de
las necesidades de proceso de nivel de trabajo y volumen de datos. Este proceso le
permite centrarse en las cargas de trabajo sin preocuparse por la optimización del
rendimiento y la administración de recursos.

7 Nota

Para personalizar un grupo de inicio, necesita acceso de administrador al área de


trabajo.

Configurar grupos de inicio


Para administrar el grupo de inicio asociado al área de trabajo:

1. Vaya al área de trabajo y elija la configuración del área de trabajo.


2. A continuación, seleccione la opción Ingeniería de datos/Ciencia para expandir el


menú.

3. Seleccione la opción StarterPool.


4. Puede establecer la configuración máxima de nodos para sus grupos de inicio en
un número permitido basado en la capacidad adquirida o reducir la configuración
máxima de nodos predeterminada a un valor menor cuando ejecute cargas de
trabajo más pequeñas.

En la sección siguiente se enumeran varias configuraciones predeterminadas y los


límites máximos de nodos admitidos para los grupos de inicio basados en las SKU de
capacidad de Microsoft Fabric:

ノ Expandir tabla

Nombre de Unidades de Núcleos Tamaño Nodos máximos Número


SKU capacidad virtuales de del nodo predeterminados máximo de
Spark nodos

F2 2 4 Media 1 1

F4 4 8 Media 1 1

F8 8 16 Media 2 2

F16 16 32 Media 3 4

F32 32 64 Media 8 8

F64 64 128 Media 10 16

(Capacidad 64 128 Media 10 16


de prueba)

F128 128 256 Media 10 32

F256 256 512 Media 10 64

F512 512 1024 Media 10 128

F1024 1024 2048 Media 10 200

F2048 2048 4096 Media 10 200

7 Nota

Para personalizar un grupo de inicio, necesita acceso de administrador al área de


trabajo.

Contenido relacionado
Obtenga más información en la documentación pública de Apache Spark.
Introducción a la configuración de administración del área de trabajo de Spark en
Microsoft Fabric.

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Creación de grupos de Spark
personalizados en Microsoft Fabric
Artículo • 14/11/2023

En este documento, se explica cómo crear grupos de Apache Spark personalizados en


Microsoft Fabric para las cargas de trabajo de análisis. Los grupos de Apache Spark
permiten a los usuarios crear entornos de proceso personalizados en función de sus
requisitos específicos, lo que garantiza un rendimiento y un uso óptimo de los recursos.

Especifique los nodos mínimo y máximo para el escalado automático. En función de


esos valores, el sistema adquiere y retira dinámicamente los nodos a medida que
cambian los requisitos de proceso del trabajo, lo que da como resultado un escalado
eficaz y un rendimiento mejorado. La asignación dinámica de ejecutores en grupos de
Spark también reduce la necesidad de configuración manual del ejecutor. En su lugar, el
sistema ajusta el número de ejecutores en función del volumen de datos y las
necesidades de proceso de nivel de trabajo. Este proceso le permite centrarse en las
cargas de trabajo sin preocuparse por la optimización del rendimiento y la
administración de recursos.

7 Nota

Para crear un grupo de Spark personalizado, necesita acceso de administrador al


área de trabajo. El administrador de capacidad debe habilitar la opción Grupos de
áreas de trabajo personalizadas en la sección Proceso de Spark de la
configuración de Capacidad Administración. Para más información, vea
Configuración de proceso de Spark para capacidades de Fabric.

Creación de grupos de Spark personalizados


Para crear o administrar el grupo de Spark asociado al área de trabajo:

1. Vaya al área de trabajo y seleccione Configuración del área de trabajo.


2. Seleccione la opción ingeniería/Ciencia de datos para expandir el menú y, luego,
seleccione Spark Compute.

3. Seleccione la opción Nuevo grupo . En la pantalla Crear grupo, asigne un nombre


al grupo de Spark. También elija la familia de nodos y seleccione un tamaño de
nodo de entre los tamaños disponibles (Pequeño, Mediano, Grande, Más grande
y Extra grande) en función de los requisitos de proceso de tus cargas de trabajo.
4. Puedes establecer la configuración mínima de nodo para los grupos
personalizados en 1. Dado que Fabric Spark proporciona disponibilidad restaurable
para clústeres con un solo nodo, no tiene que preocuparse por los errores de
trabajo, la pérdida de sesión durante los errores o el pago por encima del proceso
para trabajos de Spark más pequeños.

5. Puede habilitar o deshabilitar el escalado automático para los grupos de Spark


personalizados. Cuando se habilita el escalado automático, el grupo adquirirá
dinámicamente nuevos nodos hasta el límite máximo de nodos especificado por el
usuario y, a continuación, los retirará después de la ejecución del trabajo. Esta
característica garantiza un mejor rendimiento ajustando los recursos en función de
los requisitos del trabajo. Puede ajustar el tamaño de los nodos, que se ajustan a
las unidades de capacidad adquiridas como parte de la SKU de capacidad de
Fabric.
6. También puede optar por habilitar la asignación dinámica del ejecutor para el
grupo de Spark, que determina automáticamente el número óptimo de ejecutores
dentro del límite máximo especificado por el usuario. Esta característica ajusta el
número de ejecutores en función del volumen de datos, lo que mejora el
rendimiento y el uso de los recursos.

Estos grupos personalizados tienen una duración de pausa automática predeterminada


de 2 minutos. Una vez alcanzada la duración de la pausa automática, la sesión expira y
los clústeres no se asignan. Se le cobrará en función del número de nodos y la duración
durante la que se usan los grupos de Spark personalizados.

Pasos siguientes
Obtenga más información en la documentación pública de Apache Spark.
Introducción a la configuración de administración del área de trabajo de Spark en
Microsoft Fabric.

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Informes de facturación y uso para
Apache Spark en Microsoft Fabric
Artículo • 18/06/2024

Se aplica a: Ingeniería de datos y ciencia de datos en Microsoft Fabric

En este artículo se explica el uso de proceso y los informes de Apache Spark que
impulsan las cargas de trabajo de ingeniería de datos y ciencia de Synapse en Microsoft
Fabric. El uso del proceso incluye operaciones de almacenes de lago, como la vista
previa de tablas, la carga en delta, las ejecuciones de cuadernos desde la interfaz, las
ejecuciones programadas, las ejecuciones desencadenadas por los pasos del cuaderno
en las canalizaciones y las ejecuciones de definición de trabajos de Apache Spark.

Al igual que otras experiencias en Microsoft Fabric, la ingeniería de datos también usa la
capacidad asociada a un área de trabajo para ejecutar este trabajo y los cargos de
capacidad generales aparecen en Azure Portal en la suscripción de Microsoft Cost
Management. Para comprender la facturación de Fabric, visita Describir la factura de
Azure en una capacidad de Fabric.

Capacidad de Fabric
Como usuario, se puede comprar una capacidad de Fabric de Azure especificando una
suscripción de Azure. El tamaño de la capacidad determina la cantidad de potencia de
cálculo disponible. Para Apache Spark para Fabric, cada CU comprada se traduce en 2
núcleos virtuales de Spark. Por ejemplo, si adquieres una capacidad de Fabric F128, esto
se traduce en 256 SparkVCores. Una capacidad de Fabric se comparte en todas las áreas
de trabajo agregadas y en las que el proceso total de Apache Spark permitido se
comparte entre todos los trabajos enviados desde todas las áreas de trabajo asociadas a
una capacidad. Para entender las distintas SKU, la asignación de núcleos y la limitación
en Spark, consulte Límites de simultaneidad y colas en Apache Spark para Microsoft
Fabric.

Configurar el proceso de Spark y la capacidad


comprada
El proceso de Apache Spark para Fabric ofrece dos opciones cuando se trata de la
configuración de proceso.
1. Grupos de inicio: estos grupos predeterminados son una manera rápida y sencilla
de usar Spark en la plataforma de Microsoft Fabric en cuestión de segundos.
Puede usar las sesiones de Spark de inmediato, en lugar de esperar a que Spark
configure los nodos, lo que le ayuda a hacer más con los datos y obtener
información más rápido. En lo que respecta a la facturación y el consumo de
capacidad, se cobra por el consumo de capacidad cuando se empieza a ejecutar la
definición de trabajo de bloc de notas o Spark. No se le cobrará por el tiempo que
los clústeres estén inactivos en el grupo.

Por ejemplo, si envía un trabajo de bloc de notas a un grupo de inicio, solo se le


facturará por el periodo de tiempo en el que la sesión de bloc de notas esté activa.
El tiempo facturado no incluye el tiempo de inactividad ni el tiempo empleado en
personalizar la sesión con el contexto Spark. Para obtener más información sobre
la configuración de grupos de inicio en función de la SKU de capacidad de Tejido
comprada, visita Configurar grupos de inicio basados en la capacidad de tejido

2. Grupos de Spark: se trata de grupos personalizados, donde se pueden


personalizar el tamaño de los recursos que necesita para las tareas de análisis de
datos. Puede asignar un nombre al grupo de Spark y elegir el número y el tamaño
de los nodos (las máquinas que realizan el trabajo). También puede indicar a Spark
cómo ajustar el número de nodos en función del trabajo que tenga. La creación de
un grupo de Spark es gratuita; solo paga cuando ejecuta un trabajo de Spark en el
grupo y, a continuación, Spark configura los nodos por usted.

El tamaño y el número de nodos que puede tener en el grupo de Spark


personalizado depende de la capacidad de Microsoft Fabric. Puede usar estos
núcleos virtuales de Spark para crear nodos de diferentes tamaños para el
grupo de Spark personalizado, siempre que el número total de núcleos
virtuales de Spark no supere los 128.
Los grupos de Spark se facturan como los grupos iniciales; no paga por los
grupos de Spark personalizados que haya creado a menos que tenga una
sesión Spark activa creada para ejecutar un bloc de notas o una definición de
trabajo Spark. Solo se le factura por la duración de sus trabajos. No se le
facturan etapas como la creación del clúster y la desasignación una vez
finalizado el trabajo.

Por ejemplo, si envía un trabajo de bloc de notas a un grupo de Spark


personalizado, solo se le cobrará por el periodo de tiempo en que la sesión esté
activa. La facturación de esa sesión de bloc de notas se detiene una vez que la
sesión de Spark se ha detenido o ha expirado. No se le cobrará por el tiempo
empleado en adquirir instancias de clúster de la nube ni por el tiempo empleado
en inicializar el contexto de Spark. Para obtener más información sobre la
configuración de grupos de Spark en función de la SKU de capacidad de Fabric
comprada, visita Configurar grupos basados en la capacidad de tejido

7 Nota

El período de tiempo de expiración de sesión predeterminado para los grupos de


inicio y los grupos de Spark que cree se establece en 20 minutos. Si no utiliza su
grupo de Spark durante 2 minutos después de que expire su sesión, su grupo de
Spark será desasignado. Para detener la sesión y la facturación después de
completar la ejecución del cuaderno antes del período de tiempo de expiración de
la sesión, puede hacer clic en el botón Detener sesión desde el menú Inicio de
cuadernos o ir a la página central de supervisión y detener la sesión allí.

Informes de uso de proceso de Spark


La aplicación Métricas de capacidad de Microsoft Fabric proporciona visibilidad sobre el
uso de la capacidad para todas las cargas de trabajo de Fabric en un solo lugar. Los
administradores de capacidad usan para supervisar el rendimiento de las cargas de
trabajo y su uso, en comparación con la capacidad adquirida.

Una vez se haya instalado la aplicación, selecciona el tipo de elemento


Cuaderno,Lakehouse,definición de trabajo de Spark en la lista desplegable Seleccionar
tipo de elemento:. El gráfico de cinta de opciones de varias métricas ahora se puede
ajustar a un período de tiempo deseado para comprender el uso de todos estos
elementos seleccionados.
Todas las operaciones relacionadas con Spark se clasifican como operaciones en
segundo plano. El consumo de capacidad de Spark se muestra en un cuaderno, una
definición de trabajo de Spark o un lago de datos, y se agrega por nombre de operación
y elemento. Por ejemplo: si se ejecuta un trabajo de cuaderno, puedes ver la ejecución
del cuaderno, las RU usadas por el cuaderno (El total de núcleos virtuales de Spark/2
como 1 CU proporciona 2 núcleos virtuales de Spark), la duración que ha tomado el
trabajo en el informe.

Para obtener más información sobre los informes de uso de capacidad de Spark,
consulta Supervisión del consumo de capacidad de Apache Spark

Ejemplo de facturación
Imagine la siguiente situación:

Hay una capacidad C1 que hospeda un área de trabajo de Tejido W1 y esta área de
trabajo contiene Lakehouse LH1 y Notebook NB1.
Cualquier operación de Spark que realice el cuaderno (NB1) o lakehouse(LH1)
se notifica en la capacidad C1.

Extender este ejemplo a un escenario en el que hay otra capacidad C2 que


hospeda un área de trabajo de Fabric W2 y permite decir que esta área de trabajo
contiene una definición de trabajo de Spark (SJD1) y Lakehouse (LH2).
Si la definición de trabajo de Spark (SDJ2) del área de trabajo (W2) lee datos de
lakehouse (LH1), el uso se notifica con la capacidad C2 que está asociada al área
de trabajo (W2) que hospeda el elemento.
Si el cuaderno (NB1) realiza una operación de lectura desde Lakehouse(LH2), el
consumo de capacidad se notifica con la capacidad C1 que alimenta el área de
trabajo W1 que hospeda el elemento del cuaderno.

Contenido relacionado
Introducción a la configuración de administración de Ingeniería de datos/ciencia
para la capacidad del tejido
Configuración de la gestión del área de trabajo de Apache Spark en Microsoft
Fabric
Instalación de la aplicación de métricas de Premium
Uso de la aplicación de métricas de Premium

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Modo de simultaneidad alta en Fabric
Spark
Artículo • 06/12/2023

El modo de simultaneidad alta permite a los usuarios compartir las mismas sesiones de
Spark en Fabric Spark para cargas de trabajo de ingeniería de datos y ciencia de datos.
Un elemento como un cuaderno usa una sesión estándar de Spark para su ejecución. En
el modo de simultaneidad alta, la sesión de Spark puede admitir la ejecución
independiente de varios elementos dentro de núcleos individuales de bucle de lectura
eval-impresión (REPL) que existen dentro de la aplicación Spark. Estos núcleos REPL
proporcionan aislamiento para cada elemento e impiden que las variables de cuaderno
locales se sobrescriban con el mismo nombre de otros cuadernos que comparten la
misma sesión.

Como la sesión ya se está ejecutando, esto proporciona a los usuarios una experiencia
de ejecución instantánea al reutilizar la sesión en varios cuadernos.

7 Nota

En el caso de los grupos personalizados con el modo de simultaneidad alta, los


usuarios obtienen una experiencia de inicio de sesión 36 veces más rápida en
comparación con una sesión estándar de Spark.

) Importante

Entre las condiciones para el uso compartido de sesiones se incluyen las siguientes:
Las sesiones deben estar dentro de un límite de usuario único.
Las sesiones deben tener la misma configuración predeterminada del almacén
de lago.
Las sesiones deben tener las mismas propiedades de proceso de Spark.

Como parte de la inicialización de la sesión de Spark, se crea un núcleo REPL. Cada vez
que un nuevo elemento comience a compartir la misma sesión y los ejecutores se
asignen de forma basada en FAIR a estos cuadernos que se ejecutan en estos núcleos
REPL dentro de la aplicación Spark, lo que impide escenarios de colapso.

Contenido relacionado
Para empezar a trabajar con el modo de simultaneidad alta en cuadernos, consulte
Configurar el modo de simultaneidad alta para cuadernos de Fabric.

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


¿Qué es el ajuste automático para las
configuraciones de Apache Spark en
Fabric?
Artículo • 18/06/2024

El ajuste automático ajusta automáticamente las configuraciones de Apache Spark, lo


que acelera la ejecución de la carga de trabajo y optimiza el rendimiento general. El
ajuste automático ahorra tiempo y recursos en comparación con el ajuste manual, lo
que requiere un esfuerzo extenso, recursos, tiempo y experimentación. El ajuste
automático usa datos de ejecución históricos de las cargas de trabajo para detectar y
aplicar de forma iterativa las configuraciones más eficaces para una carga de trabajo
específica.

7 Nota

La característica de ajuste de consultas del ajuste automático de Microsoft Fabric


está actualmente en versión preliminar. El ajuste automático está disponible en
todas las regiones de producción, pero está deshabilitado de forma
predeterminada. Puede activarlo a través de la configuración de Spark dentro del
entorno o d entro de una sola sesión mediante la inclusión de la configuración de
Spark correspondiente en el cuaderno de Spark o el código de definición de
trabajo de Spark.

Ajuste de las consultas


El ajuste automático configura tres opciones de Apache Spark para cada una de las
consultas por separado:

[Link] : establece el recuento de particiones para el orden

aleatorio de datos durante combinaciones o agregaciones. El valor


predeterminado es 200.
[Link] : configura el tamaño máximo en bytes para

una tabla que se transmite a todos los nodos de trabajo al realizar una operación
de combinación. El valor predeterminado es de 10 MB.
[Link] : Define el número máximo de bytes que se

empaquetan en una sola partición al leer archivos. Funciona para orígenes basados
en archivos Parquet, JSON y ORC. El valor predeterminado es 128 MB.
 Sugerencia

El ajuste de consultas del ajuste automático examina las consultas individuales y


crea un modelo de ML distinto para cada consulta. Se dirige específicamente a:

Consultas repetitivas
Consultas de ejecución prolongada (aquellas con más de 15 segundos de
ejecución)
Consultas de la API de Apache Spark SQL (excepto las escritas en la API de
RDD, que son muy poco frecuentes), pero optimizamos todas las consultas
independientemente del lenguaje (Scala, PySpark, R, Spark SQL)

Esta característica es compatible con cuadernos, definiciones de trabajos de Apache


Spark y canalizaciones. Las ventajas varían en función de la complejidad de la
consulta, los métodos usados y la estructura. Las pruebas exhaustivas han
demostrado que se obtienen mayores ventajas con consultas relacionadas con el
análisis de datos exploratorios, como la lectura de datos, la ejecución de
combinaciones, agregaciones y ordenación.

Intuición basada en IA detrás del ajuste


automático
La característica de ajuste automático utiliza un proceso iterativo para optimizar el
rendimiento de las consultas. Comienza con una configuración predeterminada y
emplea un modelo de aprendizaje automático para evaluar la eficacia. Cuando un
usuario envía una consulta, el sistema recupera los modelos almacenados en función de
las interacciones anteriores. Genera posibles configuraciones en torno a una
configuración predeterminada denominada centroid. Se aplica el mejor candidato
previsto por el modelo. Después de la ejecución de la consulta, los datos de
rendimiento se devuelven al sistema para mejorar el modelo.

El bucle de comentarios cambia gradualmente el centroid hacia una configuración


óptima. Ajusta el rendimiento a lo largo del tiempo, a la vez que minimiza el riesgo de
regresión. Las actualizaciones continuas basadas en las consultas de usuario permiten el
ajuste de los puntos de referencia de rendimiento. Además, el proceso actualiza las
configuraciones centroid para asegurarse de que el modelo avanza hacia una
configuración más eficaz de forma incremental. Esto se logra mediante la evaluación de
los rendimientos anteriores y su uso para guiar los ajustes futuros. Usa todos los puntos
de datos para mitigar el impacto de las anomalías.

Desde una perspectiva de inteligencia artificial responsable, la característica de ajuste


automático incluye mecanismos de transparencia diseñados para mantenerle informado
sobre el uso y las ventajas de los datos. La seguridad y la privacidad se alinean con los
estándares de Microsoft. La supervisión continua mantiene el rendimiento y la
integridad del sistema después del lanzamiento.

Habilitación del ajuste automático


El ajuste automático está disponible en todas las regiones de producción, pero está
deshabilitado de forma predeterminada. Puede activarlo a través de la configuración
de Spark dentro del entorno. Para habilitar el ajuste automático, cree un nuevo
entorno o, para el entorno existente, establezca la propiedad de Spark
"[Link] = true", como se muestra en la captura de pantalla
siguiente. A continuación, todos los cuadernos y trabajos que se ejecutan en ese
entorno heredan esta configuración, que los ajusta automáticamente.

El ajuste automático incluye un mecanismo integrado para la supervisión del


rendimiento y para detectar regresiones de rendimiento. Por ejemplo, si una consulta
procesa una cantidad inusualmente grande de datos, el ajuste automático se desactivará
automáticamente. El ajuste automático requiere entre 20 y 25 iteraciones para aprender
e identificar la configuración óptima.

7 Nota

El ajuste automático es compatible con Fabric Runtime 1.1 y Runtime 1.2. El ajuste
automático no funciona con el modo de simultaneidad alta o cuando el punto de
conexión privado está habilitado. Sin embargo, el ajuste automático se integra
perfectamente con el escalado automático, independientemente de su
configuración.

Puede habilitar el ajuste automático dentro de una sola sesión mediante la inclusión de
la configuración de Spark correspondiente en el cuaderno de Spark o el código de
definición de trabajo de Spark.

Spark SQL

SQL

%%sql
SET [Link]=TRUE

Puede controlar el ajuste automático a través de la configuración de Spark para el


cuaderno de Spark respectivo o el código de definición de trabajo de Spark. Para
deshabilitar el ajuste automático, ejecuta los siguientes comandos como la primera
celda (cuaderno) o línea del código (SJD).

Spark SQL

SQL

%%sql
SET [Link]=FALSE

Caso práctico
Al ejecutar una consulta de Apache Spark, el ajuste automático crea un modelo de ML
personalizado dedicado a optimizar la ejecución de la consulta. Analiza los patrones de
consulta y las necesidades de recursos. Considere la posibilidad de que una consulta
inicial filtre un conjunto de datos basado en un atributo específico, como un país.
Aunque en este ejemplo se usa el filtrado geográfico, el principio se aplica
universalmente a cualquier atributo u operación dentro de la consulta:

Python

%%pyspark
[Link]([Link] == "country-A")

El ajuste automático aprende de esta consulta, optimizando las ejecuciones posteriores.


Cuando la consulta cambia, por ejemplo, modificando el valor del filtro o aplicando una
transformación de datos diferente, la esencia estructural de la consulta suele ser
coherente:

Python

%%pyspark
[Link]([Link] == "country-B")

A pesar de las modificaciones, el ajuste automático identifica la estructura fundamental


de la nueva consulta, implementando optimizaciones aprendidas anteriormente. Esta
funcionalidad garantiza una alta eficiencia sostenida sin necesidad de reconfiguración
manual para cada nueva iteración de consulta.

Registros
Para cada una de las consultas, el ajuste automático determina la configuración más
óptima para tres configuraciones de Spark. Para ver la configuración sugerida, vaya a los
registros. Las configuraciones recomendadas por el ajuste automático se encuentran en
los registros del controlador, específicamente en las entradas que comienzan por
[Autotune].

Puede encontrar varios tipos de entradas en los registros. Entre las siguientes se
incluyen las que son clave:

ノ Expandir tabla

Estado Descripción

AUTOTUNE_DISABLED Se omite. El ajuste automático está deshabilitado; evita la


recuperación de datos de telemetría y la optimización de
consultas. Habilite el ajuste automático para usar
completamente sus funcionalidades al tiempo que respeta la
privacidad del cliente".

QUERY_TUNING_DISABLED Se omite. El ajuste de consultas de ajuste automático está


deshabilitado. Habilite esta opción para ajustar la
configuración de las consultas SQL de Spark.

QUERY_PATTERN_NOT_MATCH Se omite. El patrón de consulta no coincide. El ajuste


automático es eficaz para las consultas de solo lectura.

QUERY_DURATION_TOO_SHORT Se omite. La duración de la consulta es demasiado corta para


optimizar. El ajuste automático requiere consultas más largas
para un ajuste eficaz. Las consultas deben ejecutarse durante al
menos 15 segundos.

QUERY_TUNING_SUCCEED Correcto. Se completó la optimización de consultas.


Configuración óptima de Spark aplicada.
Nota de transparencia
En cumplimiento de la norma de IA responsable, esta sección tiene como objetivo
aclarar los usos y la validación de la característica de ajuste automático (Autotune),
promover la transparencia y habilitar la toma de decisiones fundamentada.

Propósito del ajuste automático (Autotune)


El ajuste automático se ha desarrollado para mejorar la eficacia de la carga de trabajo de
Apache Spark, principalmente para profesionales de datos. Sus funciones clave incluyen:

Automatización del ajuste de la configuración de Apache Spark para reducir los


tiempos de ejecución.
Minimizar los esfuerzos de ajuste manual.
Utilizar datos históricos de carga de trabajo para ajustar las configuraciones de
forma iterativa.

Validación del ajuste automático


El ajuste automático ha realizado pruebas exhaustivas para garantizar su eficacia y
seguridad:

Pruebas rigurosas con diversas cargas de trabajo de Spark para comprobar la


eficacia del algoritmo de optimización.
Pruebas comparativas con métodos de optimización estándar de Spark para
demostrar las ventajas de rendimiento.
Casos prácticos reales para resaltar el valor práctico del ajuste automático.
Cumplimiento de estrictos estándares de seguridad y privacidad para proteger los
datos de los usuarios.

Los datos de usuario se usan exclusivamente para mejorar el rendimiento de la carga de


trabajo, con protecciones sólidas para evitar el uso indebido o la exposición de
información confidencial.

Contenido relacionado
Límites de simultaneidad y puesta en cola en Apache Spark para Microsoft Fabric

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Límites de simultaneidad y puesta en
cola en Microsoft Fabric Spark
Artículo • 03/05/2024

Se aplica a: Ingeniería de datos y ciencia de datos en Microsoft Fabric

Microsoft Fabric permite la asignación de unidades de proceso a través de la capacidad,


que es un conjunto dedicado de recursos que está disponible en un momento dado
para su uso. La capacidad define la aptitud de un recurso para realizar una actividad o
generar resultados. Los diferentes elementos consumen capacidad diferente en un
momento determinado. Microsoft Fabric ofrece capacidad a través de las SKU y las
pruebas de Fabric. Para obtener más información, consulte ¿Qué es la capacidad?

Cuando los usuarios crean una capacidad de Microsoft Fabric en Azure, eligen un
tamaño de capacidad en función de su tamaño de carga de trabajo de análisis. En Spark,
los usuarios obtienen dos núcleos virtuales de Spark para cada unidad de capacidad que
reservan como parte de su SKU.

Una unidad de capacidad = dos núcleos virtuales de Spark

Una vez que hayan adquirido la capacidad, los administradores pueden crear áreas de
trabajo dentro de la capacidad en Microsoft Fabric. Los núcleos virtuales de Spark
asociados a la capacidad se comparten entre todos los elementos basados en Spark,
como cuadernos, definiciones de trabajos de Spark y almacenes de lago creados en
estas áreas de trabajo.

Limitación de simultaneidad y puesta en cola


Fabric Spark aplica un mecanismo de limitación y cola basado en núcleos, donde los
usuarios pueden enviar trabajos en función de las SKU de capacidad de Fabric
compradas. El mecanismo de puesta en cola es una cola sencilla basada en FIFO, que
comprueba las ranuras de trabajo disponibles y vuelve a intentar automáticamente los
trabajos una vez que la capacidad esté disponible. Cuando los usuarios envían trabajos
de cuadernos y lagos de datos como la carga en la tabla cuando la capacidad está en su
uso máximo debido a trabajos en ejecución simultáneos que utilizan todos los núcleos
virtuales de Spark disponibles para su SKU de capacidad de Fabric adquirida, se limitan
con el mensaje

Código de respuesta HTTP 430: Este trabajo de Spark no se puede ejecutar porque se ha
alcanzado un límite de velocidad de proceso o API de Spark. Para ejecutar este trabajo de
Spark, cancele un trabajo activo de Spark a través del centro de supervisión, elija una SKU
de capacidad mayor o vuelva a intentarlo más adelante.

Con la puesta en cola habilitada, los trabajos de cuadernos desencadenados desde


canalizaciones y el programador de trabajo y definiciones de trabajos de Spark se
agregan a la cola y se reintentan automáticamente cuando se libera la capacidad. La
expiración de la cola se establece en 24 horas a partir del envío del trabajo. Después de
este periodo, los trabajos deberán volver a enviarse.

Las capacidades de Fabric están habilitadas con expansión, lo que le permite consumir
núcleos de proceso adicionales más allá de lo que se ha adquirido para acelerar la
ejecución de una carga de trabajo. Para las cargas de trabajo de Spark, la expansión
permite a los usuarios enviar trabajos con un total de 3X los núcleos virtuales de Spark
adquiridos.

7 Nota

El factor de expansión solo aumenta el número total de núcleos virtuales de Spark


para ayudar con la simultaneidad, pero no aumenta los núcleos máximos por
trabajo. Los usuarios no pueden enviar un trabajo que requiera más núcleos que lo
que ofrece su capacidad de Fabric.

La siguiente sección enumera varios límites basados en núcleos para cargas de trabajo
Spark basados en SKU de capacidad de Microsoft Fabric:

ノ Expandir tabla

SKU de SKU de Power BI Núcleos Número máximo de Límite


capacidad de equivalente virtuales de núcleos virtuales de Spark de cola
Fabric Spark con factor de ráfaga

F2 - 4 20 4

F4 - 8 24 4

F8 - 16 48 8

F16 - 32 96 16

F32 - 64 192 32

F64 P1 128 384 64

F128 P2 256 768 128

F256 P3 512 1536 256


SKU de SKU de Power BI Núcleos Número máximo de Límite
capacidad de equivalente virtuales de núcleos virtuales de Spark de cola
Fabric Spark con factor de ráfaga

F512 P4 1024 3072 512

F1024 - 2048 6144 1024

F2048 - 4096 12288 2048

Capacidad de P1 128 128 N/D


prueba

Cálculo de ejemplo: F64 SKU ofrece 128 núcleos virtuales de Spark. El factor de ráfaga
aplicado para una SKU F64 es 3, lo que da un total de 384 núcleos virtuales de Spark. El
factor de ráfaga solo se aplica para ayudar con la simultaneidad y no aumenta los
núcleos máximos disponibles para un único trabajo de Spark. Esto significa que un único
cuaderno o definición de trabajo de Spark o un trabajo de Lakehouse puede usar una
configuración de grupo de 128 núcleos virtuales como máximo y 3 trabajos con la
misma configuración se pueden ejecutar simultáneamente. Si los cuadernos usan una
configuración de proceso más pequeña, se pueden ejecutar simultáneamente hasta que
el uso máximo alcance el límite de 384 núcleos virtuales de Spark.

7 Nota

Los trabajos tienen un período de expiración de cola de 24 horas, después del cual
se cancelan, y los usuarios deben volver a enviarlos para la ejecución del trabajo.

La limitación de Spark de Fabric no tiene límites arbitrarios basados en trabajos y la


limitación solo se basa en el número de núcleos permitidos por la SKU de capacidad de
Fabric comprada. La admisión de trabajos de manera predeterminada será un control de
admisión optimista, en el que los trabajos se admiten en función de sus requisitos
mínimos de núcleos. Más información sobre la admisión optimista de trabajos Admisión
y administración de trabajos Si se selecciona la opción de grupo predeterminado (Grupo
de inicio) para el área de trabajo, en la tabla siguiente se enumeran los límites máximos
simultáneos de los trabajos.

Obtén más información sobre las configuraciones predeterminadas del grupo de inicio
en función de la SKU de capacidad de Fabric en Configuración de grupos de inicio.

Ampliación en el nivel de trabajo


Los administradores pueden configurar sus grupos de Spark para usar el máximo de
núcleos de Spark con factor de ráfaga disponible para toda la capacidad. Por ejemplo,
un administrador del área de trabajo que tenga su área de trabajo asociada a una
capacidad F46 de Fabric ahora puede configurar su grupo de Spark (grupo de inicio o
grupo personalizado) en 364 núcleos virtuales de Spark, donde los nodos máximos de
grupos de inicio se pueden establecer en 48 o los administradores pueden configurar
un grupo de tamaño extragrande (XX Large) con 6 nodos máximos.

Contenido relacionado
Introducción a la configuración de administración del área de trabajo de Spark en
Microsoft Fabric.
Obtenga información sobre la experiencia de ingeniería de datos y ciencia de
datos del proceso de Spark para Fabric.

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Admisión de trabajos en Microsoft
Fabric Spark
Artículo • 13/05/2024

Se aplica a: Ingeniería de datos y ciencia de datos en Microsoft Fabric

Fabric Spark utiliza la técnica de admisión de trabajos optimista para determinar el


requisito básico mínimo para los trabajos de Spark. Este proceso es aplicable a trabajos
interactivos o por lotes de cuadernos, almacenes de lago o definiciones de trabajos de
Spark. Se basa en la configuración de nodo mínima del grupo de Spark elegido en la
configuración del área de trabajo o en el entorno asociado. Si los núcleos disponibles se
encuentran en la capacidad de Fabric vinculada al área de trabajo, el trabajo se acepta y
comienza la ejecución. Los trabajos se inician con su configuración mínima de nodo y
pueden escalar verticalmente dentro de sus límites máximos de nodos según las fases
de trabajo. Si los núcleos totales usados por la ejecución de trabajos que usan la
capacidad de Fabric están por debajo de los núcleos de ráfaga máximos asignados, la
capa de admisión y limitación del trabajo en Fabric Spark permite que el trabajo se
escale verticalmente.

Para obtener más información, consulte Límites de simultaneidad y puesta en cola en


Microsoft Fabric Spark.

¿Cómo funciona la admisión de trabajo


optimista?
En Fabric, los grupos de inicio incluyen un mínimo predeterminado de un nodo,
mientras que los grupos personalizados permiten establecer nodos mínimos en función
de las necesidades de carga de trabajo. El escalado automático ajusta los requisitos de
proceso para los trabajos de Spark durante las fases de ejecución, dentro de los nodos
mínimo y máximo configurados. La admisión optimista de trabajos evalúa los envíos de
trabajos en función de los núcleos disponibles y los ejecuta con núcleos mínimos. Los
trabajos intentan crecer en función de los nodos asignados máximos durante la
ejecución. Las solicitudes de escalado vertical se aprueban si el total de núcleos de
Spark usados se encuentra dentro de los límites de capacidad asignados.

7 Nota

Si el uso alcanza el límite máximo y todos los núcleos dentro de la capacidad total
de Fabric están en uso, se denegarán las solicitudes de escalado vertical. Los
trabajos activos deben finalizar o cancelarse para liberar núcleos.

¿Cómo afecta esto a la simultaneidad del


trabajo?
Los requisitos mínimos de núcleos para cada trabajo determinan si el trabajo se puede
aceptar. Si la capacidad se utiliza por completo y no tiene núcleos dejados para
satisfacer las necesidades básicas mínimas de un trabajo, se rechaza el trabajo. Los
trabajos de cuaderno interactivo o las operaciones de Lakehouse se bloquearán con el
mensaje de error No se puede enviar esta solicitud porque se está utilizando toda la
capacidad disponible. Cancele un trabajo actualmente en ejecución, aumente la capacidad
disponible o inténtelo de nuevo más tarde. Los trabajos por lotes se ponen en cola y se
ejecutan una vez que los núcleos están disponibles.

Por ejemplo, considere un escenario con un usuario que usa la SKU de capacidad F32 de
Fabric. Suponiendo que todos los trabajos usen la configuración predeterminada del
grupo de inicio sin admisión optimista de trabajos, la capacidad admitiría una
simultaneidad máxima de tres trabajos. El número máximo de núcleos por trabajo se
asigna según la configuración de nodos máximos.

Con la admisión de trabajos optimista con la misma capacidad que antes, se pueden
admitir y ejecutar 24 trabajos mediante su configuración de nodo mínima durante el
escenario de simultaneidad máxima. Porque cada trabajo requiere 8 núcleos virtuales de
Spark en los que una configuración mínima de nodo es de tamaño medio.

Escalado de trabajos con escalabilidad


automática de Spark
Al habilitar la escalabilidad automática para grupos de Spark, los trabajos se ejecutan
con su configuración mínima de nodo. Durante el tiempo de ejecución, puede
producirse el escalado. Estas solicitudes pasan por el control de admisión de trabajos.
Las solicitudes aprobadas se escalan verticalmente hasta los límites máximos en función
de los núcleos totales disponibles. Las solicitudes rechazadas no afectan a los trabajos
activos; continúan ejecutándose con su configuración actual hasta que los núcleos estén
disponibles.

7 Nota

Para garantizar la asignación máxima de núcleos para un trabajo según su


configuración de nodos máximos, deshabilite el escalado automático y establezca
los nodos máximos dentro de la SKU de capacidad de Fabric. En este caso, dado
que el trabajo no tiene ningún requisito básico mínimo, comenzará a ejecutarse
una vez que haya núcleos libres disponibles y escalará verticalmente hasta el total
configurado. Si la capacidad se usa por completo, los trabajos interactivos del
cuaderno se pueden ralentizar o poner en cola. Los trabajos en cola se reintentan
automáticamente a medida que los núcleos pasan a estar disponibles.

Contenido relacionado
Introducción a la configuración de administración del área de trabajo de Spark en
Microsoft Fabric.
Obtenga información sobre la ingeniería de datos y ciencia de datos del proceso
de Spark para Fabric.
Más información sobre los límites de simultaneidad y colas de Fabric Spark.

Comentarios
¿Le ha resultado útil esta página?
 Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Colas de trabajos en Microsoft Fabric
Spark
Artículo • 18/04/2024

Se aplica a: Ingeniería de datos y ciencia de datos en Microsoft Fabric

Microsoft Fabric admite la puesta en cola de trabajos en segundo plano cuando haya
alcanzado los límites de proceso de Spark para la capacidad de Fabric. El sistema de
puesta en cola de trabajos ofrece reintentos automáticos para los trabajos que se
agregan a la cola hasta que vencen. Cuando los usuarios crean una capacidad de
Microsoft Fabric en Azure, eligen un tamaño de capacidad en función de su tamaño de
carga de trabajo de análisis. Una vez adquirida la capacidad, los administradores pueden
crear áreas de trabajo dentro de ella en Microsoft Fabric. Los trabajos de Spark que se
ejecutan dentro de estas áreas de trabajo pueden usar hasta el máximo de núcleos
asignados para una capacidad determinada y, una vez alcanzado el límite máximo, los
trabajos se limitan o se ponen en cola.

Más información sobre los Límites de simultaneidad de Spark en Microsoft Fabric

La cola de trabajos es compatible con los trabajos de Notebook que se desencadenan


mediante canalizaciones o a través del programador, así como para las definiciones de
trabajos de Spark. No se admite la puesta en cola para trabajos interactivos de
cuadernos y trabajos de cuadernos desencadenados a través de la API pública del
cuaderno.

La cola funciona con el criterio “primero en entrar, primero en salir” (PEPS, FIFO por las
siglas en inglés), donde los trabajos se agregan a la cola en función de la hora de envío
y se reintentan constantemente, y comienzan a ejecutarse cuando se libera la capacidad.

7 Nota

No se admite la puesta en cola de trabajos de Spark cuando la capacidad de Fabric


está en su estado limitado. Se rechazarán todos los nuevos trabajos enviados.
Una vez que se agrega un trabajo a la cola, su estado se actualiza a No iniciado en el
centro de supervisión. Cuando se seleccionan de la cola y comienzan a ejecutarse, los
cuadernos y definiciones de trabajos de Spark actualizan su estado de No iniciado a En
curso.

7 Nota

La expiración de la cola es de 24 horas para todos los trabajos desde el momento


en que se admiten en la cola. Una vez alcanzado el tiempo de expiración, los
trabajos deben volver a enviarse.

Tamaños de cola
Los tamaños de cola de Fabric Spark se basan en el tamaño de SKU de capacidad
vinculado a un espacio de trabajo, que aplica un mecanismo de limitación y cola que
permite a los usuarios enviar trabajos en función de las SKU de capacidad de Fabric
compradas.

En la sección siguiente se enumeran varios límites de cola para cargas de trabajo de


Spark basados en SKU de capacidad de Microsoft Fabric:

ノ Expandir tabla
SKU de capacidad de Fabric SKU de Power BI equivalente Límite de cola

F2 - 4

F4 - 4

F8 - 8

F16 - 16

F32 - 32

F64 P1 64

F128 P2 128

F256 P3 256

F512 P4 512

F1024 - 1024

F2048 - 2048

Capacidad de prueba P1 N/D

7 Nota

No se admite la puesta en cola para las capacidades de prueba de Fabric. Los


usuarios tendrían que cambiar a una SKU de Fabric F o P de pago para usar la
puesta en cola de trabajos de Spark.

Una vez alcanzado el límite máximo de cola para una capacidad de Fabric, los nuevos
trabajos enviados se limitarán con un mensaje de error [TooManyRequestsForCapacity]
Este trabajo de Spark no se puede ejecutar porque se ha alcanzado un límite de velocidad
de proceso o API de Spark. Para ejecutar este trabajo de Spark, cancela un trabajo activo
de Spark a través del centro de supervisión, elige una SKU de capacidad mayor o inténtalo
de nuevo más tarde. Código de estado HTTP: 430 {Más información} Código de estado
HTTP: 430.

Contenido relacionado
Obtenga información sobre facturación y uso de Spark en Microsoft Fabric.
Obtenga información sobre la experiencia de ingeniería de datos y ciencia de
datos del proceso de Spark para Fabric.
Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Runtimes de Apache Spark en Fabric
Artículo • 09/11/2024

Microsoft Fabric Runtime es una plataforma integrada en Azure basada en Apache Spark
que permite la ejecución y administración de experiencias de ingeniería de datos y
ciencia de datos. Combina componentes clave de orígenes internos y de código abierto,
lo que proporciona a los clientes una solución completa. Para simplificar, nos
referiremos a Microsoft Fabric Runtime con tecnología de Apache Spark como Fabric
Runtime.

Principales componentes de Fabric Runtime:

Apache Spark: una potente biblioteca informática distribuida de código abierto


que permite realizar tareas de análisis y procesamiento de datos a gran escala.
Apache Spark proporciona una plataforma versátil y de alto rendimiento para
experiencias de ingeniería de datos y ciencia de datos.

Delta Lake : una capa de almacenamiento de código abierto que aporta


transacciones ACID y otras características de confiabilidad de datos a Apache
Spark. Integrado en Fabric Runtime, Delta Lake mejora las capacidades de
procesamiento de datos y garantiza la coherencia de los datos en múltiples
operaciones simultáneas.

El motor de ejecución nativo es una mejora transformadora para las cargas de


trabajo de Apache Spark, que ofrece importantes mejoras de rendimiento al
ejecutar directamente las consultas de Spark en la infraestructura de almacén de
lago de datos. Integrado a la perfección, no requiere cambios en el código y evita
el bloqueo del proveedor, ya que admite los formatos Parquet y Delta en todas las
API de Apache Spark en Runtime 1.3 (Spark 3.5). Este motor aumenta la velocidad
de las consultas hasta cuatro veces más rápido que OSS Spark tradicional, como se
muestra en el banco de pruebas TPC-DS 1TB, lo que reduce los costos operativos y
mejora la eficacia en varias tareas de datos, como la ingesta de datos, ETL, análisis
y consultas interactivas. Basado en Velox de Meta y en Apache Gluten de Intel,
optimiza el uso de recursos a la vez que controla diversos escenarios de
procesamiento de datos.

Paquetes por defecto para Java/Scala, Python y R: paquetes compatibles con


diversos lenguajes y entornos de programación. Estos paquetes se instalan y
configuran automáticamente, lo que permite a los desarrolladores aplicar sus
lenguajes de programación preferidos para las tareas de procesamiento de datos.
Microsoft Fabric Runtime se basa en un sólido sistema operativo de código
abierto, lo que garantiza la compatibilidad con diversas configuraciones de
hardware y requisitos del sistema.

A continuación, encontrará una comparación completa de los principales componentes,


como las versiones de Apache Spark, los sistemas operativos compatibles, Java, Scala,
Python, Delta Lake y R, para los entornos de ejecución basados en Apache Spark dentro
de la plataforma de Microsoft Fabric.

 Sugerencia

Use siempre la versión más reciente del entorno de ejecución de disponibilidad


general para la carga de trabajo de producción, que actualmente es Runtime 1.3.

ノ Expandir tabla

Runtime 1.1 Runtime 1.2 Runtime 1.3

Spark de Apache 3.3.1 3.4.1 3.5.0

Sistema operativo Ubuntu 18.04 Mariner 2.0 Mariner 2.0

Java 8 11 11

Scala 2.12.15 2.12.17 2.12.17

Python 3.10 3.10 3,11

Delta Lake 2.2.0 2.4.0 3.2

R 4.2.2 4.2.2 4.4.1

Visite Runtime 1.1, Runtime 1.2 o Runtime 1.3 para explorar detalles, nuevas
características, mejoras y escenarios de migración para la versión específica del runtime.

Optimizaciones de Fabric
En Microsoft Fabric, tanto el motor de Spark como las implementaciones de Delta Lake
incorporan características y optimizaciones específicas de la plataforma. Estas
características están diseñadas para usar integraciones nativas dentro de la plataforma.
Es importante tener en cuenta que todas estas características se pueden deshabilitar
para lograr la funcionalidad de Spark estándar y Delta Lake. Los runtimes de Fabric para
Apache Spark abarcan:
La versión completa de código abierto de Apache Spark.
Una colección de casi 100 mejoras integradas y distintas de rendimiento de las
consultas. Estas mejoras incluyen características como el almacenamiento en caché
de particiones (habilitando la caché de partición FileSystem para reducir las
llamadas de metastore) y la combinación cruzada a la proyección de la subconsulta
escalar.
Caché inteligente integrada.

Dentro de Fabric Runtime para Apache Spark y Delta Lake, hay funcionalidades nativas
de escritura que sirven para dos propósitos clave:

1. Ofrecen un rendimiento diferenciado para escribir cargas de trabajo, optimizando


el proceso de escritura.
2. De forma predeterminada, se ajustan a la optimización V-Order de archivos Delta
Parquet. La optimización V-Order de Delta Lake es fundamental para ofrecer un
rendimiento de lectura superior en todos los motores de Fabric. Para comprender
mejor el funcionamiento y la administración, consulte el artículo dedicado sobre
Optimización de la tabla Delta Lake y V-Order.

Compatibilidad con varios runtimes


Fabric admite varios runtimes, lo que ofrece a los usuarios la flexibilidad de cambiar sin
problemas entre ellos, minimizando el riesgo de incompatibilidades o interrupciones.

De forma predeterminada, todas las áreas de trabajo nuevas usan la versión más
reciente del entorno de ejecución, que actualmente es Runtime 1.3.

Para cambiar la versión de runtime en el nivel de área de trabajo, vaya a Configuración


del área de trabajo > Ingeniería de datos/Ciencia de datos > Proceso de Spark > Valor
predeterminado del nivel de área de trabajo, y seleccione el runtime deseado en las
opciones disponibles.

Una vez realizado este cambio, todos los elementos creados por el sistema en el área de
trabajo, incluidos Lakehouses, SJD y Notebooks, funcionarán con la nueva versión
seleccionada de runtime de nivel de área de trabajo a partir de la siguiente sesión Spark.
Si actualmente usa un cuaderno con una sesión existente para un trabajo o cualquier
actividad relacionada con un lakehouse, esa sesión Spark continúa tal como está. Sin
embargo, a partir de la siguiente sesión o trabajo, se aplicará la versión de runtime
seleccionada.
Consecuencias de los cambios de runtime en la
configuración de Spark
En general, pretendemos migrar toda la configuración de Spark. Sin embargo, si
identificamos que la configuración de Spark no es compatible con Runtime B, emitimos
un mensaje de advertencia y nos abstenemos de implementar la configuración.

Consecuencias de los cambios de runtime en la


administración de la biblioteca
En general, nuestro enfoque consiste en migrar todas las bibliotecas de Runtime A a
Runtime B, incluidos los runtimes públicos y personalizados. Si las versiones de Python y
R permanecen sin cambios, las bibliotecas deben funcionar correctamente. Sin embargo,
para Jars, hay una probabilidad significativa de que no funcionen debido a alteraciones
en las dependencias y otros factores, como los cambios en Scala, Java, Spark y el
sistema operativo.

El usuario es responsable de actualizar o reemplazar las bibliotecas que no funcionan


por Runtime B. Si hay algún conflicto (es decir, si Runtime B incluye una biblioteca
definida originalmente en Runtime A), nuestro sistema de administración de bibliotecas
intentará crear la dependencia necesaria para Runtime B de acuerdo con la
configuración del usuario. Sin embargo, se producirá un error en el proceso de
compilación si se genera un conflicto. En el registro de errores, los usuarios pueden ver
qué bibliotecas están causando conflictos y hacer ajustes en sus versiones o
especificaciones.

Actualizar el protocolo Delta Lake


Las características de Delta Lake siempre son compatibles con versiones anteriores, lo
que garantiza que las tablas creadas en una versión inferior de Delta Lake puedan
interactuar sin problemas con versiones superiores. Sin embargo, cuando determinadas
características están habilitadas (por ejemplo, mediante el método
[Link](minReaderVersion, minWriterVersion) , la compatibilidad

ascendente con versiones inferiores de Delta Lake puede verse comprometida. En tales
casos, es esencial modificar las cargas de trabajo que hacen referencia a las tablas
actualizadas para alinearse con una versión de Delta Lake que mantenga la
compatibilidad.
Cada tabla Delta está asociada a una especificación de protocolo, definiendo las
características que admite. Las aplicaciones que interactúan con la tabla, ya sea para la
lectura o escritura, dependen de esta especificación de protocolo para determinar si son
compatibles con el conjunto de características de la tabla. Si una aplicación no tiene la
capacidad de controlar una característica que aparece como compatible con el
protocolo de la tabla, no puede leer ni escribir en esa tabla.

La especificación del protocolo se divide en dos componentes distintos: el protocolo de


lectura y el protocolo de escritura. Visite la página "¿Cómo administra Delta Lake la
compatibilidad de características?" para obtener más detalles al respecto.

Los usuarios pueden ejecutar el comando


[Link](minReaderVersion, minWriterVersion) en el entorno de

PySpark y en Spark SQL y Scala. Este comando les permite iniciar una actualización en la
tabla Delta.

Es importante tener en cuenta que al realizar esta actualización, los usuarios reciben una
advertencia que indica que la actualización de la versión del protocolo Delta es un
proceso no reversible. Esto significa que una vez ejecutada la actualización, no se puede
deshacer.

Las actualizaciones de la versión de protocolo pueden afectar potencialmente a la


compatibilidad de los escritores, lectores de tabla o ambos existentes de Delta Lake. Por
lo tanto, es aconsejable continuar con precaución y actualizar la versión del protocolo
solo cuando sea necesario, como al adoptar nuevas características en Delta Lake.
Además, los usuarios deben comprobar que todas las cargas de trabajo y procesos de
producción actuales y futuros son compatibles con las tablas Delta Lake mediante la
nueva versión del protocolo para garantizar una transición sin problemas y evitar
posibles interrupciones.

Cambios de Delta 2.2 frente a Delta 2.4


En Fabric Runtime, versión 1.3 más reciente y Fabric Runtime, versión 1.2, el formato de
tabla predeterminado ( [Link] ) ahora es delta . En versiones
anteriores de Fabric Runtime, versión 1.1 y en todo el Synapse Runtime para Apache
Spark que contiene Spark 3.3 o anteriores, el formato de tabla predeterminado se
definió como parquet . Compruebe la tabla con los detalles de configuración de Apache
Spark para ver las diferencias entre Azure Synapse Analytics y Microsoft Fabric.

Todas las tablas creadas con Spark SQL, PySpark, Scala Spark y Spark R, siempre que se
omita el tipo de tabla, crearán la tabla como delta de forma predeterminada. Si los
scripts establecen explícitamente el formato de tabla, se respetará. El comando USING
DELTA de los comandos de creación de tabla de Spark se vuelve redundante.

Se deben revisar los scripts que esperan o presuponen el formato de tabla parquet. Los
comandos siguientes no se admiten en tablas Delta:

ANALYZE TABLE $partitionedTableName PARTITION (p1) COMPUTE STATISTICS


ALTER TABLE $partitionedTableName ADD PARTITION (p1=3)

ALTER TABLE DROP PARTITION

ALTER TABLE RECOVER PARTITIONS


ALTER TABLE SET SERDEPROPERTIES

LOAD DATA
INSERT OVERWRITE DIRECTORY

SHOW CREATE TABLE


CREATE TABLE LIKE

Contenido relacionado
Runtime 1.3 (Spark 3.5, Java 11, Python 3.11, Delta Lake 3.2)
Runtime 1.2 (Spark 3.4, Java 11, Python 3.10, Delta Lake 2.4)
Runtime 1.1 (Spark 3.3, Java 8, Python 3.10, Delta Lake 2.2)

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Ciclo de vida de entornos de ejecución
de Apache Spark en Fabric
Artículo • 12/07/2024

El entorno de ejecución de Microsoft Fabric es una plataforma integrada de Azure


basada en Apache Spark. Facilita la ejecución y administración de flujos de trabajo de
ingeniería de datos y ciencia de datos. Sintetiza elementos esenciales de recursos
propietarios y de código abierto para ofrecer una solución completa. Para resumir, nos
referimos a Microsoft Fabric Runtime con tecnología de Apache Spark simplemente
como Fabric Runtime.

Ritmo de lanzamientos
Apache Spark normalmente publica versiones secundarias cada 6 a 9 meses. El equipo
de Microsoft Fabric Spark se compromete a ofrecer nuevas versiones en tiempo de
ejecución con lo antes posible, a la vez que garantiza la máxima calidad e integración,
así como el soporte técnico continuo. Cada versión consta de alrededor de
110 componentes. A medida que el entorno de ejecución se expande más allá de
Apache Spark, garantizamos una integración sin problemas en el ecosistema de Azure.

Comprometidos con la excelencia, nos centramos cuidadosamente a las nuevas


versiones en tiempo de ejecución de la versión preliminar, estableciendo escalas de
tiempo en caso por caso. Esto implica evaluar los componentes críticos de cada versión
de Spark, como Java, Scala, Python, R y Delta Lake. Después de una evaluación
exhaustiva, creamos una escala de tiempo detallada que describe la disponibilidad y la
progresión del runtime a través de varias fases. En general, nuestro objetivo es
establecer una ruta de ciclo de vida estándar para los entornos de ejecución de
Microsoft Fabric para Apache Spark.

 Sugerencia

Use siempre la versión en tiempo de ejecución de disponibilidad general más


reciente para la carga de trabajo de producción, que actualmente es Runtime 1.2.

En la tabla siguiente se enumeran el nombre del runtime y las fechas de lanzamiento de


las versiones de runtimes de Azure Synapse admitidas.

ノ Expandir tabla
Nombre del runtime Fase de Fecha de vigencia de la finalización del
versión soporte técnico (en desuso)

Runtime 1.3 basado en Vista previa N/D


Apache Spark 3.5 pública

Runtime 1.2 basado en GA martes, 31 de marzo de 2026


Apache Spark 3.3

Runtime 1.1 basado en GA lunes, 31 de marzo de 2025


Apache Spark 3.3

En el diagrama se describe el ciclo de vida de una versión en tiempo de ejecución desde


su versión preliminar pública experimental hasta su desuso y eliminación.

ノ Expandir tabla

Fase Descripción Ciclo de vida


típico

Versión La fase de la versión preliminar pública experimental marca 2-3 meses*


preliminar pública la versión inicial de una nueva versión en tiempo de
experimental ejecución. Durante esta fase, se insta a los usuarios a
experimentar con las versiones más recientes de Apache
Spark y Delta Lake, y proporcionar comentarios, a pesar de
la presencia de limitaciones documentadas. Se aplican los
términos de la versión preliminar de Microsoft Azure.
Consulte los Términos de uso de la versión preliminar.

Versión Una vez que se realizan mejoras adicionales y se minimizan 3 meses*


preliminar pública las limitaciones, el runtime avanza a la fase de versión
preliminar. Se aplican los términos de la versión preliminar
de Microsoft Azure. Consulte los Términos de uso de la
versión preliminar.
Fase Descripción Ciclo de vida
típico

Disponibilidad Una vez que una versión en tiempo de ejecución cumple los 24 meses
general (GA) criterios de disponibilidad general (GA), se lanza al público y
es adecuado para cargas de trabajo de producción. Para
alcanzar esta fase, el runtime debe cumplir requisitos
estrictos en términos de rendimiento, integración con la
plataforma, evaluaciones de confiabilidad y debe poder
satisfacer las necesidades de los usuarios.

Soporte técnico a Después de la versión disponibilidad general (GA), un 12 meses*


largo plazo (LTS) entorno de ejecución puede pasar a la fase de soporte
técnico a largo plazo (LTS), en función de los requisitos
específicos de la versión de Spark. Esta fase de LTS se puede
anunciar, detallando la duración prevista de soporte técnico
para los clientes, que suele ser un año adicional de soporte
completo.

Fecha de Cuando un runtime llega a la fecha de finalización del 6 meses


finalización del soporte, no recibirá ninguna actualización ni soporte técnico antes del día
soporte técnico adicionales. Normalmente, se da un aviso de seis meses de desuso
anunciada antes del desuso del runtime. Esta fecha de finalización del
soporte técnico se documenta mediante la actualización de
una tabla específica con la fecha de finalización del ciclo de
vida, que marca la interrupción del soporte técnico.

Fecha de Una vez que llega la fecha de finalización de soporte técnico N/D
finalización de anunciada anteriormente, el entorno de ejecución deja de
soporte técnico. ser compatible de forma oficial. Esto implica que no recibirá
Entorno de actualizaciones ni correcciones de errores, y el equipo no
ejecución no proporcionará soporte técnico oficial. Todas las incidencias
admitido y en de soporte técnico se resolverán automáticamente. El uso de
desuso un entorno de ejecución no admitido es por cuenta y riesgo
del usuario. El entorno de ejecución se quitará de la
configuración del área de trabajo de Fabric y el elemento
Entorno, lo que hace que sea imposible usar en el nivel de
área de trabajo. Además, el runtime también se quitará de
los entornos y no habrá ninguna opción para crear un nuevo
entorno para esa versión en tiempo de ejecución
compatible. Los trabajos de Spark existentes que se ejecutan
en los entornos existentes no podrán ejecutarse.

Runtime Una vez que el runtime alcanza la fase sin soporte, se Unos días
eliminado eliminan todos los entornos que usan este tiempo de después de la
ejecución. También se quitan todos los componentes fecha de
relacionados con el back-end asociados a este entorno de finalización
ejecución. del soporte
técnico
* La duración esperada del runtime en cada fase. Estas escalas de tiempo se proporcionan
como ejemplo y pueden variar en función de varios factores. Las escalas de tiempo del
ciclo de vida están sujetas a cambios sujetos al criterio de Microsoft.

Control de versiones
Nuestra numeración de versión de runtime, aunque que está estrechamente relacionada
con el Versionamiento Semántico, sigue un enfoque ligeramente diferente. La versión
principal del runtime corresponde a la versión principal de Apache Spark. Por lo tanto,
Runtime 1 corresponde a la versión 3 de Spark. Del mismo modo, el próximo Runtime 2
se alineará con Spark 4.0. Es importante tener en cuenta que entre los runtimes actuales,
Runtime 1.1 y Runtime 1.2, pueden producirse cambios, incluida la adición o eliminación
de bibliotecas diferentes. Además, nuestra plataforma ofrece una característica de
administración de bibliotecas que permite a los usuarios instalar las bibliotecas
deseadas.

Contenido relacionado
Lea sobreApache Spark Runtimes en Fabric: información general, control de
versiones, soporte de múltiples runtimes y Actualización del protocolo Delta Lake
Runtime 1.3 (Spark 3.5, Java 11, Python 3.11, Delta Lake 3.1)
Runtime 1.2 (Spark 3.4, Java 11, Python 3.10, Delta Lake 2.4)
Runtime 1.1 (Spark 3.3, Java 8, Python 3.10, Delta Lake 2.2)

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Fabric Runtime 1.3 (GA)
Artículo • 08/11/2024

El entorno de ejecución de Fabric ofrece una integración completa con Azure.


Proporciona un entorno sofisticado para proyectos de ingeniería de datos y ciencia de
datos que usan Apache Spark. En este artículo se proporciona información general
sobre las características y componentes esenciales Fabric Runtime 1.3, el entorno de
ejecución más reciente para los cálculos de macrodatos.

Microsoft Fabric Runtime 1.3 es la versión más reciente del entorno de ejecución de
disponibilidad general e incorpora los siguientes componentes y actualizaciones
diseñados para mejorar las funcionalidades de procesamiento de datos:

Apache Spark 3.5


Sistema operativo: Mariner 2.0
Java: 11
Scala: 2.12.17
Python: 3.11
Delta Lake: 3.2
R: 4.4.1

 Sugerencia

Fabric Runtime 1.3 incluye compatibilidad con el motor de ejecución nativo, que
puede mejorar significativamente el rendimiento sin costes adicionales. Para
habilitar el motor de ejecución nativo en todos los trabajos y cuadernos del
entorno, vaya a la configuración del entorno, seleccione Proceso de Spark, vaya a la
pestaña Aceleración y active Habilitar motor de ejecución nativo. Después de
guardar y publicar, esta configuración se aplica en todo el entorno, por lo que
todos los nuevos trabajos y cuadernos heredan automáticamente las capacidades
de rendimiento mejoradas y se benefician de ellas.

Sigue estas instrucciones para integrar tiempo de ejecución 1.3 en el área de trabajo y
usa sus nuevas características:

1. Ve a la pestaña Configuración del área de trabajo dentro de tu espacio de trabajo


de Fabric.
2. Ve a la pestaña Ingeniería de datos/ciencia y selecciona Configuración de Spark.
3. Seleccione la pestaña Entorno.
4. En Versiones de runtime expanda la lista desplegable.
5. Seleccione 1.3 (Spark 3.5, Delta 3.2) y guarde los cambios. Esta acción establece la
versión 1.3 como tiempo de ejecución predeterminado para el área de trabajo.

Ya puede empezar a trabajar con las nuevas mejoras y funcionalidades introducidas en


el runtime de Fabric 1.3 (Spark 3.5 y Delta Lake 3.2).

Aspectos destacados

Apache Spark 3.5


Apache Spark 3.5.0 es la sexta versión de la serie 3.x. Esta versión es un producto de
una amplia colaboración dentro de la comunidad de código abierto, que aborda más de
1300 problemas, tal como se registra en Jira.

En esta versión, hay una actualización en compatibilidad para el flujo estructurado.


Además, esta versión amplía la funcionalidad en PySpark y SQL. Agrega características
como la cláusula de identificador SQL, los argumentos con nombre en las llamadas a
funciones SQL y la inclusión de funciones SQL para agregaciones aproximadas de
HyperLogLog. Otras nuevas funcionalidades también incluyen funciones de tabla
definidas por el usuario de Python, la simplificación del entrenamiento distribuido a
través de DeepSpeed y nuevas funcionalidades de flujo estructurado, como la
propagación de marcas de agua y la operación dropDuplicatesWithinWatermark.

Puedes consultar la lista completa y los cambios detallados aquí:


[Link] .
Delta Spark
Delta Lake 3.2 marca un compromiso colectivo de hacer que Delta Lake sea
interoperable entre formatos, más fácil de trabajar con y más rendimiento. Delta
Spark 3.2 se basa en Apache Spark™ 3.5 . Se ha cambiado el nombre del artefacto
maven de Delta Spark de delta-core a delta-spark.

Puedes consultar la lista completa y los cambios detallados aquí:


[Link] .

 Sugerencia

Para obtener información actualizada, una lista detallada de cambios y notas de la


versión específicas de los entornos de ejecución de Fabric, comprueba y suscríbete
a Versiones y actualizaciones de Spark Runtimes .

Contenido relacionado
Lea sobreApache Spark Runtimes en Fabric: información general, control de
versiones, soporte de múltiples runtimes y Actualización del protocolo Delta Lake
Guía de migración de Spark Core
Guías de migración de SQL, DataSets y DataFrame
Guía de migración de Structured Streaming
Guía de migración de MLlib (Machine Learning)
Guía de migración de PySpark (Python en Spark)
Guía de migración de SparkR (R en Spark)

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Fabric Runtime 1.2 (GA)
Artículo • 14/10/2024

Microsoft Fabric Runtime es una plataforma integrada de Azure basada en Apache


Spark que permite la ejecución y administración de experiencias de ingeniería de datos
y ciencia de datos. En este documento se describen los componentes y versiones de
Runtime 1.2.

Los componentes principales de Runtime 1.2 incluyen:

Apache Spark 3.4.1


Sistema operativo: Mariner 2.0
Java: 11
Scala: 2.12.17
Python: 3.10
Delta Lake: 2.4.0
R: 4.2.2

 Sugerencia

Use siempre la versión más reciente del entorno de ejecución de disponibilidad


general para la carga de trabajo de producción, que actualmente es Runtime 1.3.

Microsoft Fabric Runtime 1.2 incluye una colección de paquetes de nivel


predeterminados, incluida una instalación completa de Anaconda y bibliotecas de uso
frecuente para Java/Scala, Python y R. Estas bibliotecas se incluyen automáticamente al
usar cuadernos o trabajos en la plataforma Microsoft Fabric. Consulte la documentación
para obtener una lista completa de bibliotecas. Microsoft Fabric implementa
periódicamente actualizaciones de mantenimiento para Runtime 1.2, lo que proporciona
correcciones de errores, mejoras de rendimiento y revisiones de seguridad. Mantenerse
al día garantiza un rendimiento y una confiabilidad óptimos para las tareas de
procesamiento de datos.
Nuevas características y mejoras de la versión
3.4.1 de Spark
Apache Spark 3.4.0 es la quinta versión de la línea 3.x. Esta versión, controlada por la
comunidad de código abierto, resolvió más de 2600 vales Jira. Presenta un cliente de
Python para Spark Connect, mejora el flujo estructurado con seguimiento de progreso
asincrónico y procesamiento con estado de Python. Amplía la cobertura de la API
Pandas con compatibilidad de entrada NumPy, simplifica la migración desde
almacenamientos de datos tradicionales a través del cumplimiento ANSI y las nuevas
funciones integradas. También mejora la productividad del desarrollo y la depuración
con la generación de perfiles de memoria. Además, Runtime 1.2 se basa en Apache
Spark 3.4.1, una versión de mantenimiento centrada en correcciones de estabilidad.

Aspectos destacados
Lea la versión completa de las notas de la versión de una versión específica de Apache
Spark visitando Spark 3.4.0 y Spark 3.4.1 .

Nuevas optimizaciones de consultas personalizadas

Compatibilidad con escrituras simultáneas en Spark

Encontrarse con un error 404 con el mensaje "Error en la operación: la ruta especificada
no existe" es un problema común cuando se realizan inserciones de datos paralelas en
la misma tabla utilizando una consulta SQL INSERT INTO. Este error puede provocar la
pérdida de datos. Nuestra nueva característica, el algoritmo de confirmación de salida
de archivo, resuelve este problema, lo que permite a los clientes realizar la inserción de
datos en paralelo sin problemas.

Para acceder a esta característica, habilite la marca de característica


[Link] , que está habilitada de forma predeterminada a

partir de Runtime 1.2 (Spark 3.4). Aunque esta característica también está disponible en
otras versiones de Spark 3, no está habilitada de forma predeterminada. Esta
característica no admite la ejecución en paralelo de consultas INSERT OVERWRITE en las
que cada trabajo simultáneo sobrescribe datos en particiones diferentes de la misma
tabla dinámicamente. Para ello, Spark ofrece una característica alternativa, que se puede
activar mediante la configuración del valor [Link]
en dinámico .
Lecturas inteligentes, que omiten archivos de trabajos con errores
En el sistema de confirmador de Spark actual, cuando se produce un error en una
inserción en un trabajo de tabla, pero algunas tareas se realizan correctamente, los
archivos que generan las tareas correctas coexisten con los archivos del trabajo con
errores. Esta coexistencia puede causar confusión para los usuarios, ya que resulta difícil
distinguir entre los archivos que pertenecen a trabajos correctos e incorrectos. Además,
cuando un trabajo lee de una tabla mientras otro inserta datos simultáneamente en la
misma tabla, el trabajo de lectura podría acceder a datos no confirmados. Si se produce
un error en un trabajo de escritura, el trabajo de lectura podría procesar datos
incorrectos.

La marca [Link] controla nuestra nueva característica,


solucionando este problema. Cuando está habilitada, Spark omite automáticamente la
lectura de archivos que no se han confirmado cuando realiza [Link] o selecciona
consultas de una tabla. Los archivos escritos antes de habilitar esta característica siguen
leyéndose como de costumbre.

Estos son los cambios visibles:

Todos los archivos ahora incluyen un identificador tid-{jobID} en sus nombres de


archivo.
En lugar del marcador _success normalmente creado en la ubicación de salida tras
la finalización correcta del trabajo, se genera un nuevo marcador
_committed_{jobID} . Este marcador asocia identificadores de trabajo correctos con

nombres de archivo específicos.


Hemos introducido un nuevo comando SQL que los usuarios pueden ejecutar
periódicamente para administrar el almacenamiento y limpiar archivos sin
confirmar. La sintaxis de este comando es la siguiente:
Para limpiar un directorio específico: CLEANUP ('/path/to/dir') [RETAIN number
HOURS];

Para limpiar una tabla específica: CLEANUP [db_name.]table_name [RETAIN number


HOURS]; En esta sintaxis, path/to/dir representa el URI de ubicación donde se

requiere la limpieza y number es un valor de tipo doble que representa el


período de retención. El período de retención predeterminado se establece en
siete días.
Hemos introducido una nueva opción de configuración denominada
[Link] , que se establece en false de

forma predeterminada. Al habilitar esta opción, se elimina automáticamente los


archivos no confirmados durante las lecturas, pero este escenario podría ralentizar
las operaciones de lectura. Se recomienda ejecutar manualmente el comando de
limpieza cuando el clúster está inactivo en lugar de habilitar esta marca.

Guía de migración de Runtime 1.1 a Runtime 1.2


Al migrar desde Runtime 1.1, con tecnología de Apache Spark 3.3, a Runtime 1.2, con
tecnología de Apache Spark 3.4, revise la guía de migración oficial .

Nuevas características y mejoras de Delta Lake


2.4
Delta Lake es un proyecto de código abierto que permite crear una arquitectura de
almacén de lago sobre lagos de datos. Delta Lake proporciona transacciones ACID y
control escalable de metadatos, y unifica el procesamiento de datos de streaming y
por lotes sobre los lagos de datos existentes.

En concreto, Delta Lake ofrece:

Transacciones ACID en Spark: los niveles de aislamiento serializables garantizan


que los lectores nunca vean datos incoherentes.
Control escalable de metadatos: usa la potencia de procesamiento distribuido de
Spark para manejar con facilidad todos los metadatos de tablas a escala de
petabytes con miles de millones de archivos.
Unificación de streaming y lotes : una tabla en Delta Lake es una tabla de lotes,
así como un origen y un receptor de streaming. La ingesta de datos de streaming,
la reposición histórica de lotes y las consultas interactivas funcionan de manera
integral.
Cumplimiento del esquema: controla automáticamente las variaciones de esquema
para evitar la inserción de registros incorrectos durante la ingesta.
Viaje en el tiempo : el control de versiones de datos permite reversiones,
seguimientos de auditoría históricos completos y experimentos reproducibles de
aprendizaje automático.
Upserts y eliminaciones : admite operaciones de combinación, actualización y
eliminación para habilitar casos de uso complejos como captura de datos
modificados, operaciones de dimensión de variación lenta, upserts de streaming,
etc.

Lea la versión completa de las notas de la versión de Delta Lake 2.4 .


Paquetes de nivel predeterminados para
bibliotecas de Java, Scala y Python
Para obtener una lista de todos los paquetes de nivel predeterminados para Java, Scala,
Python y sus respectivas versiones, consulte las notas de la versión .

Contenido relacionado
Lea sobreApache Spark Runtimes en Fabric: información general, control de
versiones, soporte de múltiples runtimes y Actualización del protocolo Delta Lake

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Fabric Runtime 1.1 (EOSA)
Artículo • 14/10/2024

Microsoft Fabric Runtime es una plataforma integrada de Azure basada en Apache


Spark que permite la ejecución y administración de las experiencias de ingeniería de
datos y ciencia de datos en Fabric. En este documento se describen los componentes y
versiones de Fabric Runtime 1.1.

2 Advertencia

La fecha de finalización del soporte técnico para Runtime 1.1 se ha anunciado para
el 12 de julio de 2024. Runtime 1.1, basado en Apache Spark 3.3, quedará en
desuso y se inhabilitará a partir del 31 de marzo de 2025. Actualice el área de
trabajo y los entornos a Runtime 1.2 o Runtime 1.3. Para consultar el ciclo de vida
completo y las directivas de soporte técnico de los Runtime de Apache Spark,
consulte Ciclo de vida de los Runtime de Apache Spark en Fabric.

Microsoft Fabric Runtime 1.1 es uno de los entornos de ejecución que se ofrecen en la
plataforma de Microsoft Fabric. Los componentes principales del runtime 1.1 son:

Apache Spark 3.3


Sistema operativo: Ubuntu 18.04
Java: 1.8.0_282
Scala: 2.12.15
Python: 3.10
Delta Lake: 2.2
R: 4.2.2

 Sugerencia

Use siempre la versión más reciente del entorno de ejecución de disponibilidad


general para la carga de trabajo de producción, que actualmente es Runtime 1.3.

Microsoft Fabric Runtime 1.1 incluye una colección de paquetes de nivel


predeterminados, incluida una instalación completa de Anaconda y bibliotecas de uso
frecuente para Java/Scala, Python y R. Estas bibliotecas se incluyen automáticamente al
usar cuadernos o trabajos en la plataforma Microsoft Fabric. Consulte la documentación
para obtener una lista completa de bibliotecas.
Microsoft Fabric publica periódicamente versiones de mantenimiento de Runtime 1.1
que incluyen correcciones de errores, mejoras de rendimiento y revisiones de seguridad.
Asegurarse de mantenerse al día con estas actualizaciones garantiza un rendimiento y
una confiabilidad óptimos para las tareas de procesamiento de datos. Si actualmente
usa Runtime 1.1, puede actualizar a Runtime 1.3 o a Runtime 1.2; para ello, vaya a
Configuración del área de trabajo Ingeniero de datos ing / Science Spark Settings
Environment ( Entorno de configuración > > de Science > Spark).

Nuevas características y mejoras: Apache Spark


3.3.1
Lea la versión completa de las notas de la versión de una versión específica de Apache
Spark visitando Spark 3.3.0 y Spark 3.3.1 .

Nuevas características y mejoras : Delta Lake


2.2
Consulte las notas de la versión completa y origen en Delta Lake 2.2.0 .

Paquetes predeterminados para Java/Scala


Para obtener una lista de todos los paquetes de nivel predeterminados para Java, Scala,
Python y sus respectivas versiones, consulte las notas de la versión .
Migración entre diferentes versiones de Apache
Spark
La migración de las cargas de trabajo a Fabric Runtime 1.1 (Apache Spark 3.3) desde una
versión anterior de Apache Spark implica una serie de pasos para garantizar una
migración fluida. En esta guía se describen los pasos necesarios para ayudarle a migrar
de forma eficiente y eficaz.

1. Revise las notas de la versión de Fabric Runtime 1.1, incluida la comprobación de


los componentes y los paquetes de nivel predeterminado incluidos en el entorno
de ejecución, para comprender las nuevas características y mejoras.

2. Compruebe la compatibilidad de la configuración actual y todas las bibliotecas


relacionadas, incluidas las dependencias e integraciones. Revise las guías de
migración para identificar posibles cambios importantes:

Revisión de la guía de migración de Spark Core .


Revisión de la guía de migración de SQL, Conjuntos de datos y DataFrame .
Si la solución está relacionada con Apache Spark Structure Streaming,
consulte la guía de migración de Structured Streaming .
Si usas PySpark, revisa la guía de migración de Pyspark .
Si migra código de Koalas a PySpark, revise laguía de migración de Koalas a
la API de pandas en Spark .

3. Mueva las cargas de trabajo a Fabric y asegúrese de que tiene copias de seguridad
de los archivos de datos y configuración en caso de que tenga que revertir a la
versión anterior.

4. Actualice las dependencias que puedan afectar a la nueva versión de Apache Spark
u otros componentes relacionados con Fabric Runtime 1.1, incluidas las bibliotecas
o conectores de terceros. Asegúrese de probar las dependencias actualizadas en
un entorno de ensayo antes de realizar la implementación en producción.

5. Actualice la configuración de Apache Spark en la carga de trabajo, incluida la


actualización de las opciones de configuración, el ajuste de las asignaciones de
memoria y la modificación de las configuraciones en desuso.

6. Modifique las aplicaciones de Apache Spark (cuadernos y definiciones de trabajos


de Apache Spark) para usar las nuevas API y características introducidas en Fabric
Runtime 1.1 y Apache Spark 3.3. Es posible que tenga que actualizar el código para
dar cabida a las API en desuso o eliminadas, y refactorizar las aplicaciones para
aprovechar las mejoras de rendimiento y las nuevas funcionalidades.
7. Pruebe exhaustivamente las aplicaciones actualizadas en un entorno de ensayo
para garantizar la compatibilidad y la estabilidad con Apache Spark 3.3. Realice
pruebas de rendimiento, pruebas funcionales y pruebas de regresión para
identificar y resolver los problemas que puedan surgir durante el proceso de
migración.

8. Después de validar las aplicaciones en un entorno de ensayo, implemente las


aplicaciones actualizadas en el entorno de producción. Supervise el rendimiento y
la estabilidad de las aplicaciones después de la migración para identificar los
problemas que deben solucionarse.

9. Actualice la documentación interna y los materiales de entrenamiento para reflejar


los cambios introducidos en Fabric Runtime 1.1. Asegúrese de que los miembros
del equipo estén familiarizados con las nuevas características y mejoras para
maximizar las ventajas de la migración.

Contenido relacionado
Lea sobreApache Spark Runtimes en Fabric: información general, control de
versiones, soporte de múltiples runtimes y Actualización del protocolo Delta Lake
Runtime 1.2 (Spark 3.4, Java 11, Python 3.10, Delta Lake 2.4)

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Motor de ejecución nativo para Fabric
Spark
Artículo • 25/10/2024

El motor de ejecución nativo es una mejora innovadora para las ejecuciones de trabajos
de Apache Spark en Microsoft Fabric. Este motor vectorizado optimiza el rendimiento y
la eficacia de las consultas de Spark ejecutándolas directamente en la infraestructura del
almacén de lago. Gracias a la fácil integración del motor, no es necesario realizar
modificaciones de código y puede evitar el bloqueo del proveedor. Admite las API de
Apache Spark y es compatible con runtime 1.2 (Spark 3.4) y Runtime 1.3 (Spark 3.5) y
funciona con formatos Parquet y Delta. Independientemente de la ubicación de los
datos en OneLake, o si accede a los datos a través de accesos directos, el motor de
ejecución nativo maximiza la eficiencia y el rendimiento.

El motor de ejecución nativo mejora significativamente el rendimiento de las consultas


al tiempo que minimiza los costos operativos. Ofrece una mejora notable de velocidad,
ya que logra un rendimiento hasta cuatro veces más rápido en comparación con un
sistema operativo tradicional (software código abierto) de Spark, tal como se puede
comprobar en el punto de referencia TPC-DS 1TB. El motor es capaz de administrar una
amplia gama de escenarios de procesamiento de datos, que van desde la ingesta de
datos rutinaria, los trabajos por lotes y las tareas ETL (extracción, transformación y
carga) hasta los análisis complejos de ciencia de datos y las consultas interactivas con
capacidad de respuesta. Los usuarios pueden beneficiarse de tiempos de procesamiento
acelerados, un mayor rendimiento y un uso optimizado de recursos.

El motor de ejecución nativo se basa en dos componentes clave del OSS: Velox , una
biblioteca de aceleración de bases de datos de C++ introducida por Meta y Apache
Gluten (incubación) , una capa intermedia responsable de descargar la ejecución de
motores SQL basados en JVM en motores nativos introducidos por Intel.

7 Nota

En estos momentos, el motor de ejecución nativa está en versión preliminar


pública. Para obtener más información, consulte Limitaciones actuales. Le
recomendamos que habilite el motor de ejecución nativo en las cargas de trabajo
sin costo adicional. Se beneficiará de una ejecución de trabajo más rápida sin
pagar más eficazmente, paga menos por el mismo trabajo.
Cuándo usar el motor de ejecución nativo
El motor de ejecución nativo le ofrece una solución para ejecutar consultas en conjuntos
de datos a gran escala; optimiza el rendimiento mediante las funcionalidades nativas de
los orígenes de datos subyacentes y minimiza la sobrecarga que normalmente se asocia
con el movimiento y la serialización de datos en entornos tradicionales de Spark. El
motor admite varios operadores y tipos de datos, incluidos el agregado de hash
acumulativo, la combinación de bucle anidado de difusión (BNLJ) y formatos de marca
de tiempo precisos. Sin embargo, para beneficiarse completamente de las
funcionalidades del motor, debe tener en cuenta sus casos de uso óptimos:

El motor es eficaz al trabajar con datos que estén en los formatos Parquet y Delta;
puede procesar estos formatos de forma nativa y eficaz.
Las consultas que implican transformaciones y agregaciones complejas se
benefician significativamente de las funcionalidades de procesamiento de
columnas y vectorización del motor.
La mejora del rendimiento es más notable en escenarios en los que las consultas
no desencadenan el mecanismo de reserva, ya que así se evitan características o
expresiones no admitidas.
El motor es adecuado para las consultas que requieren un uso intensivo de
cálculos, en lugar de consultas simples o enlazadas a E/S.

Para obtener información sobre los operadores y funciones compatibles con el motor de
ejecución nativo, consulte la documentación de Apache Gluten .

Habilitación del motor de ejecución nativo


Para usar las funcionalidades completas del motor de ejecución nativo durante la fase
de versión preliminar, necesita configuraciones específicas. En los procedimientos
siguientes se muestra cómo activar esta característica para cuadernos, definiciones de
trabajos de Spark y entornos completos.

) Importante

El motor de ejecución nativo admite la versión más reciente del entorno de


ejecución de disponibilidad general, que es Runtime 1.3 (Apache Spark 3.5, Delta
Lake 3.2) y la versión anterior: Runtime 1.2 (Apache Spark 3.4, Delta Lake 2.4).

Habilitación del nivel de entorno


Para garantizar una mejora uniforme del rendimiento, habilite el motor de ejecución
nativo en todos los trabajos y cuadernos asociados a su entorno:

1. Acceda a la configuración de su entorno.

2. Vaya al proceso de Spark.

3. Vaya a la pestaña Aceleración .

4. Active la casilla con la etiqueta Habilitar motor de ejecución nativo.

5. Guarde y publique los cambios.

Cuando se habilita en el nivel de entorno, todos los trabajos y cuadernos posteriores


heredan la configuración. Esta herencia garantiza que las nuevas sesiones o recursos
creados en el entorno se beneficien automáticamente de las funcionalidades de
ejecución mejoradas.

Habilitación de un cuaderno o definición de trabajo de Spark

Para habilitar el motor de ejecución nativo en un único cuaderno o definición de trabajo


de Spark, debe incorporar las configuraciones necesarias al principio del script de
ejecución:

JSON

%%configure
{
"conf": {
"[Link]": "true",
"[Link]":
"[Link]"
}
}

En el caso de los cuadernos, inserte los comandos de configuración necesarios en la


primera celda. En el caso de las definiciones de trabajo de Spark, incluya las
configuraciones en la primera línea de la definición del trabajo de Spark.

El motor de ejecución nativo se integra con grupos activos, por lo que, una vez
habilitada la característica, surte efecto inmediatamente sin necesidad de iniciar una
nueva sesión.

) Importante

La configuración del motor de ejecución nativo debe realizarse antes del inicio de
la sesión de Spark. Una vez iniciada la sesión de Spark, la configuración
[Link] es inmutable y no se puede cambiar. Asegúrese de que

estas configuraciones se establecen dentro del bloque %%configure enlos


cuadernos o en el generador de sesiones de Spark para las definiciones de trabajos
de Spark.

Control en el nivel de consulta


Los mecanismos para habilitar el motor de ejecución nativo a nivel de inquilino, de área
de trabajo y de entorno, integrados sin problemas con la interfaz de usuario, están en
desarrollo activo. Mientras tanto, puede deshabilitar el motor de ejecución nativo para
consultas específicas, especialmente si implican operadores que no se admiten
actualmente (consulte limitaciones). Para deshabilitarlo, establezca la configuración de
Spark [Link] en false para la celda específica que contiene la consulta.

Spark SQL

SQL
%%sql
SET [Link]=FALSE;

Después de ejecutar la consulta en la que está deshabilitado el motor de ejecución


nativo, debe volver a habilitarla para las celdas posteriores estableciendo
[Link] en true. Este paso es necesario porque Spark ejecuta celdas de
código de manera secuencial.

Spark SQL

SQL

%%sql
SET [Link]=TRUE;

Identificación de las operaciones ejecutadas


por el motor
Hay varios métodos para determinar si un operador del trabajo de Apache Spark se
procesó mediante el motor de ejecución nativo.

Interfaz de usuario de Spark y servidor de historial de


Spark
Acceda a la interfaz de usuario de Spark o al servidor de historial de Spark para buscar
la consulta que quiere inspeccionar. En el plan de consulta que se muestra en la interfaz,
busque los nombres de nodo que terminan con el sufijo Transformer, NativeFileScan o
VeloxColumnarToRowExec. Este sufijo indica que el motor de ejecución nativo ejecutó la
operación. Por ejemplo, los nodos pueden etiquetarse como
RollUpHashAggregateTransformer, ProjectExecTransformer,
BroadcastHashJoinExecTransformer, ShuffledHashJoinExecTransformer o
BroadcastNestedLoopJoinExecTransformer.

Explicación de DataFrame
Como alternativa, puede ejecutar el comando [Link]() en el cuaderno para ver el
plan de ejecución. En la salida, busque los mismos sufijos Transformer, NativeFileScan o
VeloxColumnarToRowExec. Este método proporciona una manera rápida de confirmar si
el motor de ejecución nativo administra operaciones específicas.

Mecanismo de reserva
En algunos casos, es posible que el motor de ejecución nativo no pueda ejecutar una
consulta debido a motivos como características no admitidas. En estos casos, la
operación vuelve al motor de Spark tradicional. Este mecanismo de reserva garantiza
que no haya ninguna interrupción en el flujo de trabajo.


Supervisión de consultas y tramas de datos


ejecutadas por el motor
Para comprender mejor cómo se aplica el motor de ejecución nativa a las consultas SQL
y a las operaciones dataframe, y para explorar en profundidad los niveles de fase y
operador, puede consultar la interfaz de usuario de Spark y el servidor de historial de
Spark para obtener información más detallada sobre la ejecución del motor nativo.

Pestaña Native Execution Engine (Motor de ejecución


nativo)
Puede ir a la nueva pestaña "Gluten SQL / DataFrame" para ver la información de
compilación de Gluten y consultar los detalles de ejecución. La tabla Consultas
proporciona información sobre el número de nodos que se ejecutan en el motor nativo
y los que se revierten a la JVM para cada consulta.

Gráfico de ejecución de consultas


También puede hacer clic en la descripción de la consulta para la visualización del plan
de ejecución de consultas de Apache Spark. El gráfico de ejecución proporciona detalles
de ejecución nativos en las fases y sus respectivas operaciones. Los colores de fondo
diferencian los motores de ejecución: verde representa el motor de ejecución nativo,
mientras que el azul claro indica que la operación se ejecuta en el motor JVM
predeterminado.

Limitaciones
Aunque el motor de ejecución nativo mejora el rendimiento de los trabajos de Apache
Spark, tenga en cuenta sus limitaciones actuales.

El motor no admite la escritura con particiones para tablas Delta. No se admiten


algunas operaciones específicas de Delta, incluidas las operaciones de
combinación, los exámenes de punto de control y los vectores de eliminación.
Algunas características y expresiones de Spark no son compatibles con el motor de
ejecución nativo, como funciones definidas por el usuario (UDF) y la función
array_contains , así como el streaming estructurado de Spark. El uso de estas

operaciones o funciones incompatibles como parte de una biblioteca importada


también provocará la vuelta al motor Spark.
No se admiten exámenes de soluciones de almacenamiento que usan puntos de
conexión privados.
El motor no admite el modo ANSI, por lo que lo busca y, una vez habilitado el
modo ANSI, vuelve a la versión Vanilla de Spark.

Al usar filtros de fecha en consultas, es esencial asegurarse de que los tipos de datos de
ambos lados de la comparación coincidan para evitar problemas de rendimiento. Es
posible que los tipos de datos no coincidentes no incorporen la mejora de la ejecución
de consultas y pueden requerir una conversión explícita. Asegúrese siempre de que los
tipos de datos del lado izquierdo (LHS) y del lado derecho (RHS) de una comparación
sean idénticos, ya que los tipos no coincidentes no siempre se convertirán
automáticamente. Si un error de coincidencia de tipos es inevitable, use la conversión
explícita para buscar coincidencias con los tipos de datos, como CAST(order_date AS
DATE) = '2024-05-20' . El motor de ejecución nativo no acelerará las consultas con tipos

de datos no coincidentes que requieran una conversión, por lo que es fundamental


garantizar la coherencia del tipo para mantener el rendimiento. Por ejemplo, en lugar de
order_date = '2024-05-20' donde order_date es DATETIME y la cadena es DATE ,
order_date se convierte explícitamente a DATE para garantizar que los tipos de datos

sean coherentes y mejorar el rendimiento.

7 Nota

El motor de ejecución nativo está actualmente en versión preliminar y su opinión es


importante para nosotros. Le invitamos a compartir sus comentarios y los
resultados de su evaluación directamente con nuestro equipo de productos.
Rellene el formulario de comentarios . Esperamos sus valiosos comentarios y
estaremos encantados de analizar sus hallazgos en detalle.

Contenido relacionado
Runtimes de Apache Spark en Fabric
¿Qué es el ajuste automático para las configuraciones de Apache Spark en Fabric?

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


¿Qué es una definición de trabajo de
Apache Spark?
Artículo • 06/12/2023

Una definición de trabajo de Apache Spark es un elemento de código de Microsoft


Fabric que permite enviar trabajos por lote/streaming a clústeres de Spark. Al cargar los
archivos binarios de la salida de compilación de diferentes lenguajes (por ejemplo, .jar
de Java), puede aplicar diferentes lógicas de transformación a los datos alojados en un
lago. Además del archivo binario, puede personalizar aún más el comportamiento del
trabajo cargando bibliotecas adicionales y argumentos de línea de comandos.

Para ejecutar una definición de trabajo de Spark, debe tener al menos un lago de datos
asociado. Este contexto de lago de datos predeterminado sirve como sistema de
archivos predeterminado para el runtime de Spark. Para cualquier código de Spark que
use una ruta de acceso relativa a los datos de lectura y escritura, los datos se sirven
desde la lakehouse predeterminado.

 Sugerencia

Para ejecutar un elemento de definición de trabajo de Spark, debe tener un archivo


de definición principal y un contexto Lakehouse predeterminado. Si no tiene una
instancia de Lakehouse, cree una siguiendo los pasos descritos en Creación de una
instancia de Lakehouse.

Contenido relacionado
Cómo crear una definición de trabajo de Apache Spark en Fabric

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Cómo crear una definición de trabajo de
Apache Spark en Fabric
Artículo • 13/05/2024

En este tutorial, aprenderá a crear una definición de trabajo de Spark en Microsoft


Fabric.

Requisitos previos
Antes de comenzar, necesita:

Una cuenta de arrendatario de Fabric con una suscripción activa. Cree una cuenta
gratuita.

 Sugerencia

Para ejecutar el elemento de definición de trabajo de Spark, debe disponer de un


archivo de definición principal y de un contexto de almacén de lago
predeterminado. Si no tiene un lago de datos, puede crear una siguiendo los pasos
descritos en Creación de un lago de datos.

Creación de una definición de trabajo de Spark


El proceso de creación de una definición de empleo en Spark es rápido y sencillo; hay
varias formas de empezar.

Opciones para crear una definición de trabajo de Spark


Hay varias maneras de empezar a trabajar con el proceso de creación:

Página principal de ingeniería de datos: puede crear fácilmente una definición de


trabajo de Spark a través de la tarjeta de definición de trabajo de Spark en la
sección Nuevo de la página principal.
Vista del área de trabajo: también puede crear una definición de trabajo Spark a
través de la vista del área de trabajo en Ingeniería de datos, utilizando el menú
desplegable Nuevo.

Crear vista: Otro punto de entrada para crear una definición de trabajo Spark es la
página Crear en Ingeniería de Datos.
Debe asignarle un nombre a su definición de trabajo Spark cuando la cree. El nombre
debe ser único dentro del área de trabajo actual. La nueva definición de trabajo Spark se
crea en su área de trabajo actual.

Creación de una definición de trabajo de Apache Spark


para PySpark (Python)
Para crear una definición de trabajo Spark para PySpark:

1. Descargue el archivo CSV de ejemplo yellow_tripdata_2022_01.csv y cárguelo en


la sección de archivos del almacén de lago.

2. Cree una nueva definición de trabajo de Spark.

3. Seleccione PySpark (Python) en la lista desplegable Lenguaje .

4. Descargue el ejemplo [Link] y cárguelo como archivo de


definición principal. El archivo de definición principal ([Link]) es el archivo que
contiene la lógica de la aplicación y es obligatorio para ejecutar un trabajo Spark.
Para cada definición de trabajo Spark, solo puede cargar un archivo de definición
principal.
Puede cargar el archivo de definición principal desde su escritorio local, o puede
cargarlo desde un Azure Data Lake Storage (ADLS) Gen2 existente proporcionando
la ruta ABFSS completa del archivo. Por ejemplo, abfss://your-storage-account-
[Link]/your-file-path .

5. Cargue los archivos de referencia como archivos .py. Los archivos de referencia son
los módulos python importados por el archivo de definición principal. Al igual que
el archivo de definición principal, puede cargarlo desde su escritorio o desde un
ADLS Gen2 existente. Se admiten varios archivos de referencia.

 Sugerencia

Si utiliza una ruta ADLS Gen2, para asegurarse de que se puede acceder al
archivo, debe dar a la cuenta de usuario que ejecuta el trabajo el permiso
adecuado a la cuenta de almacenamiento. Sugerimos dos formas diferentes
de hacerlo:

Asigne a la cuenta de usuario una función de colaborador para la cuenta


de almacenamiento.
Conceda permiso de Lectura y Ejecución a la cuenta de usuario para el
archivo a través de la Lista de Control de Acceso (ACL) de ADLS Gen2.

Para una ejecución manual, se utiliza la cuenta del usuario de inicio de sesión
actual para ejecutar el trabajo.

6. Proporcione argumentos de línea de comandos para el trabajo, si es necesario.


Utilice un espacio como separador para separar los argumentos.

7. Agregue la referencia de lakehouse al trabajo. Debe tener al menos una referencia


de lakehouse agregada al trabajo. Este lakehouse es el contexto de lakehouse
predeterminado para el trabajo.

Se admiten varias referencias de lakehouse. Encuentre el nombre no


predeterminado del almacén del lago y la URL completa de OneLake en la página
de Configuración de Spark.
Creación de una definición de trabajo de Spark para
Scala/Java
Para crear una definición de trabajo Spark para Scala/Java:

1. Cree una nueva definición de trabajo de Spark.

2. Seleccione Spark(Scala/Java) en la lista desplegable Lenguaje .

3. Cargue el archivo de definición principal como archivo .jar. El archivo de definición


principal es el archivo que contiene la lógica de aplicación de este trabajo y es
obligatorio para ejecutar un trabajo Spark. Para cada definición de trabajo Spark,
solo puede cargar un archivo de definición principal. Seleccione el nombre de clase
Main.

4. Cargue los archivos de referencia como archivo .jar. Los archivos de referencia son
los archivos a los que hace referencia/importa el archivo de definición principal.

5. Proporcione argumentos de línea de comandos para el trabajo, si es necesario.

6. Agregue la referencia de lakehouse al trabajo. Debe tener al menos una referencia


de lakehouse agregada al trabajo. Este lakehouse es el contexto de lakehouse
predeterminado para el trabajo.

Creación de una definición de trabajo de Spark


Para crear una definición de trabajo Spark para SparkR(R):

1. Cree una nueva definición de trabajo de Spark.

2. Seleccione SparkR(R) en la lista desplegable Lenguaje .

3. Cargue el archivo de definición principal como archivo .R. El archivo de definición


principal es el archivo que contiene la lógica de aplicación de este trabajo y es
obligatorio para ejecutar un trabajo Spark. Para cada definición de trabajo Spark,
solo puede cargar un archivo de definición principal.

4. Cargue los archivos de referencia como Archivo .R. Los archivos de referencia son
los archivos a los que hace referencia/importa el archivo de definición principal.

5. Proporcione argumentos de línea de comandos para el trabajo, si es necesario.

6. Agregue la referencia de lakehouse al trabajo. Debe tener al menos una referencia


de lakehouse agregada al trabajo. Este lakehouse es el contexto de lakehouse
predeterminado para el trabajo.

7 Nota

La definición del trabajo Spark se creará en su área de trabajo actual.

Opciones para personalizar las definiciones de trabajo de


Spark
Existen algunas opciones para personalizar aún más la ejecución de las definiciones de
trabajo de Spark.

Spark Compute: Dentro de la pestaña Spark Compute, puede ver la Versión de


runtime que es la versión de Spark que se utilizará para ejecutar el trabajo.
También puede ver los valores de configuración de Spark que se usarán para
ejecutar el trabajo. Para personalizar las opciones de configuración de Spark, haga
clic en el botón Agregar .

Optimización: En la pestaña Optimización, puede habilitar y configurar la Directiva


de Reintentos para el trabajo. Cuando está habilitada, el trabajo se reintenta si
falla. También puedes establecer el número máximo de reintentos y el intervalo
entre ellos. Por cada intento de reintento, el trabajo se reinicia. Asegúrese de que
el trabajo es idempotente.
Contenido relacionado
Ejecutar una definición de trabajo de Apache Spark

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Programación y ejecución de una
definición de trabajo de Apache Spark
Artículo • 15/11/2023

Obtenga información sobre cómo ejecutar una definición de trabajo de Microsoft Fabric
Apache Spark y encontrar el estado y los detalles de la definición de trabajo.

Requisitos previos
Antes de comenzar, realice los siguientes pasos:

Cree una cuenta de inquilino de Microsoft Fabric con una suscripción activa. Cree
una cuenta gratuita.
Descripción de la definición del trabajo de Spark: vea ¿Qué es una definición de
trabajo de Apache Spark?.
Creación de una definición de trabajo de Spark: vea Cómo crear una definición de
trabajo de Apache Spark en Fabric.

Ejecución de una definición de trabajo de Spark


Hay dos maneras de ejecutar una definición de trabajo de Spark:

Ejecute manualmente una definición de trabajo de Spark seleccionando Ejecutar


en el elemento de definición de trabajo de Spark en la lista de trabajos.

Programe una definición de trabajo de Spark configurando un plan de


programación en la pestaña Configuración. Seleccione Configuración en la barra
de herramientas y luego seleccione Programación.

) Importante

Para ejecutarse, una definición de trabajo de Spark debe tener un archivo de


definición principal y un contexto predeterminado del almacén de lago.

 Sugerencia

Para una ejecución manual, se usa la cuenta del usuario que ha iniciado sesión
actualmente para enviar el trabajo. Para una ejecución desencadenada por una
programación, la cuenta del usuario que creó el plan de programación se usa para
enviar el trabajo.

Entre tres y cinco segundos después de enviar la ejecución, aparece una nueva fila en la
pestaña Ejecuciones. La fila muestra detalles sobre la nueva ejecución. La columna
Estado muestra el estado casi en tiempo real del trabajo y la columna Variante de
ejecución muestra si el trabajo es manual o programado.


Para más información sobre cómo supervisar un trabajo, vea Supervisión de la definición
del trabajo de Apache Spark.

Cómo cancelar un trabajo en ejecución


Una vez enviado el trabajo, puede cancelar el trabajo seleccionando Cancelar ejecución
activa en el elemento definición de trabajo de Spark en la lista de trabajos.

Instantánea de definición de trabajo de Spark


La definición del trabajo de Spark almacena su estado más reciente. Para ver la
instantánea de la ejecución del historial, seleccione Ver instantánea en el elemento de
definición de trabajo de Spark en la lista de trabajos. La instantánea muestra el estado
de la definición del trabajo cuando se envía el trabajo, incluido el archivo de definición
principal, el archivo de referencia, los argumentos de la línea de comandos, la instancia
del almacén de lago a la que se hace referencia y las propiedades de Spark.

Desde una instantánea, puede realizar tres acciones:

Guardar como definición de trabajo de Spark: guardar la instantánea como una


nueva definición de trabajo de Spark.
Abrir definición de trabajo de Spark: abra la definición actual del trabajo de Spark.
Restaurar: restaure la definición del trabajo con la instantánea. La definición del
trabajo se restaura al estado cuando se envió el trabajo.

Pasos siguientes
Utilidades de Microsoft Spark (MSSparkUtils) para Fabric

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Cómo crear una definición de trabajo
con la API de REST de Spark en
Microsoft Fabric
Artículo • 15/11/2023

La API REST de Microsoft Fabric proporciona un punto de conexión de servicio para el


funcionamiento de CRUD del elemento de Fabric. En este tutorial, se explica un
escenario completo para crear y actualizar un artefacto de definición de trabajo de
Spark. Tres pasos de alto nivel son necesarios:

1. Crear un elemento de definición de trabajo de Spark con algún estado inicial


2. Cargar el archivo de definición principal y otros archivos lib
3. Actualizar el elemento de definición de trabajo de Spark con la dirección URL de
OneLake del archivo de definición principal y otros archivos lib

Requisitos previos
1. El token de Entra es necesario para acceder a la API REST de Fabric. Se recomienda
la biblioteca MSAL para obtener el token. Para más información, consulte
Compatibilidad con el flujo de autenticación de MSAL.
2. Se requiere un token de almacenamiento para acceder a la API de OneLake. Para
más información, consulte MSAL para Python.

Creación de un elemento de definición de


trabajo de Spark con estado inicial
La API REST de Microsoft Fabric define un punto de conexión de servicio unificado para
el funcionamiento de CRUD de elementos de Fabric. El extremo es
[Link] .

El detalle del elemento se especifica dentro del cuerpo de la solicitud. Este es un


ejemplo del cuerpo de la solicitud para crear un elemento de definición de trabajo de
Spark:

JSON

{
"displayName": "SJDHelloWorld",
"type": "SparkJobDefinition",
"definition": {
"format": "SparkJobDefinitionV1",
"parts": [
{
"path": "[Link]",

"payload":"eyJleGVjdXRhYmxlRmlsZSI6bnVsbCwiZGVmYXVsdExha2Vob3VzZUFydGlmYWN0S
WQiOiIiLCJtYWluQ2xhc3MiOiIiLCJhZGRpdGlvbmFsTGFrZWhvdXNlSWRzIjpbXSwicmV0cnlQb
2xpY3kiOm51bGwsImNvbW1hbmRMaW5lQXJndW1lbnRzIjoiIiwiYWRkaXRpb25hbExpYnJhcnlVc
mlzIjpbXSwibGFuZ3VhZ2UiOiIiLCJlbnZpcm9ubWVudEFydGlmYWN0SWQiOm51bGx9",
"payloadType": "InlineBase64"
}
]
}
}

En este ejemplo, el elemento de definición de trabajo de Spark se denomina


SJDHelloWorld . El campo payload es el contenido codificado en base64 de la

configuración de detalles, después de la descodificación; el contenido es:

JSON

{
"executableFile":null,
"defaultLakehouseArtifactId":"",
"mainClass":"",
"additionalLakehouseIds":[],
"retryPolicy":null,
"commandLineArguments":"",
"additionalLibraryUris":[],
"language":"",
"environmentArtifactId":null
}

Estas son dos funciones de asistencia para codificar y descodificar la configuración


detallada:

Python

import base64

def json_to_base64(json_data):
# Serialize the JSON data to a string
json_string = [Link](json_data)

# Encode the JSON string as bytes


json_bytes = json_string.encode('utf-8')

# Encode the bytes as Base64


base64_encoded = base64.b64encode(json_bytes).decode('utf-8')
return base64_encoded

def base64_to_json(base64_data):
# Decode the Base64-encoded string to bytes
base64_bytes = base64_data.encode('utf-8')

# Decode the bytes to a JSON string


json_string = base64.b64decode(base64_bytes).decode('utf-8')

# Deserialize the JSON string to a Python dictionary


json_data = [Link](json_string)

return json_data

Este es el fragmento de código para crear un elemento de definición de trabajo de


Spark:

Python

import requests

bearerToken = "breadcrumb"; # replace this token with the real AAD token

headers = {
"Authorization": f"Bearer {bearerToken}",
"Content-Type": "application/json" # Set the content type based on your
request
}

payload =
"eyJleGVjdXRhYmxlRmlsZSI6bnVsbCwiZGVmYXVsdExha2Vob3VzZUFydGlmYWN0SWQiOiIiLCJ
tYWluQ2xhc3MiOiIiLCJhZGRpdGlvbmFsTGFrZWhvdXNlSWRzIjpbXSwicmV0cnlQb2xpY3kiOm5
1bGwsImNvbW1hbmRMaW5lQXJndW1lbnRzIjoiIiwiYWRkaXRpb25hbExpYnJhcnlVcmlzIjpbXSw
ibGFuZ3VhZ2UiOiIiLCJlbnZpcm9ubWVudEFydGlmYWN0SWQiOm51bGx9"

# Define the payload data for the POST request


payload_data = {
"displayName": "SJDHelloWorld",
"Type": "SparkJobDefinition",
"definition": {
"format": "SparkJobDefinitionV1",
"parts": [
{
"path": "[Link]",
"payload": payload,
"payloadType": "InlineBase64"
}
]
}
}

# Make the POST request with Bearer authentication


response = [Link](sjdCreateUrl, json=payload_data, headers=headers)

Cargar el archivo de definición principal y otros


archivos lib
Se requiere un token de almacenamiento para cargar el archivo a OneLake. Esta es una
función auxiliar para obtener el token de almacenamiento:

Python

import msal

def getOnelakeStorageToken():
app = [Link](
"{client id}", # this filed should be the client id
authority="[Link]

result = app.acquire_token_interactive(scopes=
["[Link]

print(f"Successfully acquired AAD token with storage audience:


{result['access_token']}")

return result['access_token']

Ahora tenemos un elemento de definición de trabajo de Spark creado y, para que sea
ejecutable, es necesario configurar el archivo de definición principal y las propiedades
necesarias. El punto de conexión para cargar el archivo para este elemento SJD es
[Link] . Se debe

usar el mismo "workspaceId" del paso anterior, el valor de "sjdartifactid" podría


encontrarse en el cuerpo de la respuesta del paso anterior. Este es el fragmento de
código para configurar el archivo de definición principal:

Python

import requests

# three steps are required: create file, append file, flush file

onelakeEndPoint =
"[Link] #
replace the id of workspace and artifact with the right one
mainExecutableFile = "[Link]"; # the name of the main executable file
mainSubFolder = "Main"; # the sub folder name of the main executable file.
Don't change this value

onelakeRequestMainFileCreateUrl = f"
{onelakeEndPoint}/{mainSubFolder}/{mainExecutableFile}?resource=file" # the
url for creating the main executable file via the 'file' resource type
onelakePutRequestHeaders = {
"Authorization": f"Bearer {onelakeStorageToken}", # the storage token
can be achieved from the helper function above
}

onelakeCreateMainFileResponse =
[Link](onelakeRequestMainFileCreateUrl,
headers=onelakePutRequestHeaders)
if onelakeCreateMainFileResponse.status_code == 201:
# Request was successful
print(f"Main File '{mainExecutableFile}' was successfully created in
onelake.")

# with previous step, the main executable file is created in OneLake, now we
need to append the content of the main executable file

appendPosition = 0;
appendAction = "append";

### Main File Append.


mainExecutableFileSizeInBytes = 83; # the size of the main executable file
in bytes
onelakeRequestMainFileAppendUrl = f"
{onelakeEndPoint}/{mainSubFolder}/{mainExecutableFile}?position=
{appendPosition}&action={appendAction}";
mainFileContents = "filename = 'Files/' + [Link]; tablename =
'Tables/' + [Link]"; # the content of the main executable file,
please replace this with the real content of the main executable file
mainExecutableFileSizeInBytes = 83; # the size of the main executable file
in bytes, this value should match the size of the mainFileContents

onelakePatchRequestHeaders = {
"Authorization": f"Bearer {onelakeStorageToken}",
"Content-Type" : "text/plain"
}

onelakeAppendMainFileResponse =
[Link](onelakeRequestMainFileAppendUrl, data = mainFileContents,
headers=onelakePatchRequestHeaders)
if onelakeAppendMainFileResponse.status_code == 202:
# Request was successful
print(f"Successfully Accepted Main File '{mainExecutableFile}' append
data.")

# with previous step, the content of the main executable file is appended to
the file in OneLake, now we need to flush the file

flushAction = "flush";
### Main File flush
onelakeRequestMainFileFlushUrl = f"
{onelakeEndPoint}/{mainSubFolder}/{mainExecutableFile}?position=
{mainExecutableFileSizeInBytes}&action={flushAction}"
print(onelakeRequestMainFileFlushUrl)
onelakeFlushMainFileResponse =
[Link](onelakeRequestMainFileFlushUrl,
headers=onelakePatchRequestHeaders)
if onelakeFlushMainFileResponse.status_code == 200:
print(f"Successfully Flushed Main File '{mainExecutableFile}'
contents.")
else:
print([Link]())

Siga el mismo proceso para cargar los otros archivos lib si es necesario.

Actualizar el elemento de definición de trabajo


de Spark con la dirección URL de OneLake del
archivo de definición principal y otros archivos
lib
Hasta ahora, hemos creado un elemento de definición de trabajo de Spark con algún
estado inicial y cargado el archivo de definición principal y otros archivos lib. El último
paso es actualizar el elemento de definición de trabajo de Spark para establecer las
propiedades URL del archivo de definición principal y otros archivos lib. El punto de
conexión para actualizar el elemento de definición de trabajo de Spark es
[Link] .

Se deben usar los mismos "workspaceId" y "sjdartifactid" de los pasos anteriores. Este es
el fragmento de código para actualizar el elemento de definición de trabajo de Spark:

Python

mainAbfssPath =
f"abfss://{workspaceId}@[Link]/{sjdartifactid}/Mai
n/{mainExecutableFile}" # the workspaceId and sjdartifactid are the same as
previous steps, the mainExecutableFile is the name of the main executable
file
libsAbfssPath =
f"abfss://{workspaceId}@[Link]/{sjdartifactid}/Lib
s/{libsFile}" # the workspaceId and sjdartifactid are the same as previous
steps, the libsFile is the name of the libs file
defaultLakehouseId = 'defaultLakehouseid'; # replace this with the real
default lakehouse id
updateRequestBodyJson = {
"executableFile":mainAbfssPath,
"defaultLakehouseArtifactId":defaultLakehouseId,
"mainClass":"",
"additionalLakehouseIds":[],
"retryPolicy":None,
"commandLineArguments":"",
"additionalLibraryUris":[libsAbfssPath],
"language":"Python",
"environmentArtifactId":None}

# Encode the bytes as a Base64-encoded string


base64EncodedUpdateSJDPayload = json_to_base64(updateRequestBodyJson)

# Print the Base64-encoded string


print("Base64-encoded JSON payload for SJD Update:")
print(base64EncodedUpdateSJDPayload)

# Define the API URL


updateSjdUrl =
f"[Link]
tifactid}/updateDefinition"

updatePayload = base64EncodedUpdateSJDPayload
payloadType = "InlineBase64"
path = "[Link]"
format = "SparkJobDefinitionV1"
Type = "SparkJobDefinition"

# Define the headers with Bearer authentication


bearerToken = "breadcrumb"; # replace this token with the real AAD token

headers = {
"Authorization": f"Bearer {bearerToken}",
"Content-Type": "application/json" # Set the content type based on your
request
}

# Define the payload data for the POST request


payload_data = {
"displayName": "sjdCreateTest11",
"Type": Type,
"definition": {
"format": format,
"parts": [
{
"path": path,
"payload": updatePayload,
"payloadType": payloadType
}
]
}
}
# Make the POST request with Bearer authentication
response = [Link](updateSjdUrl, json=payload_data, headers=headers)
if response.status_code == 200:
print("Successfully updated SJD.")
else:
print([Link]())
print(response.status_code)

Para resumir todo el proceso, se necesitan tanto la API REST de Fabric como la API de
OneLake para crear y actualizar un elemento de definición de trabajo de Spark. La API
de REST de Fabric se usa para crear y actualizar el elemento de definición de trabajo de
Spark, y la API de OneLake se usa para cargar el archivo de definición principal y otros
archivos lib. El archivo de definición principal y otros archivos lib se cargan primero en
OneLake. A continuación, las propiedades url del archivo de definición principal y otros
archivos lib se establecen en el elemento de definición de trabajo de Spark.

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Integración de Git con la definición de
trabajo de Spark
Artículo • 10/05/2024

En este artículo se explica cómo funciona la integración de Git para las definiciones de
trabajos de Spark (SJD) en Microsoft Fabric. Obtenga información sobre cómo
configurar una conexión de repositorio, administrar los cambios de definición de
trabajos de Spark a través del control de código fuente e implementarlos en varias áreas
de trabajo.

La habilitación de la integración de Git para las definiciones de trabajos de Spark en


Azure DevOps le permite realizar un seguimiento de los cambios a través del historial
completo de Git. Si se selecciona PySpark o SparkR, el archivo de definición principal y el
archivo de referencia se incluyen como parte de la confirmación. También se realiza un
seguimiento de los cambios en el código fuente de estos archivos.

) Importante

Esta característica se encuentra en versión preliminar.

Configuración de una conexión


Desde la configuración del área de trabajo, puede configurar fácilmente una conexión al
repositorio para confirmar y sincronizar los cambios. Para configurar la conexión,
consulte el artículo Introducción a la integración de Git. Una vez conectados, sus
elementos, como las definiciones de trabajo de Spark, estarán visibles en el panel de
control de código fuente.

Cuando haya confirmado la definición del trabajo de Spark en el repositorio de Git, la


estructura de carpetas de definición de trabajo aparecerá en el repositorio.

Representación de definición de trabajo de Spark en Git


La siguiente imagen es un ejemplo de la estructura de archivos de cada elemento de
definición de trabajo de Spark del repositorio:

Al confirmar el elemento de definición de trabajo de Spark en el repositorio, se crea una


carpeta git para cada elemento y se denomina según este esquema: <Nombre del
elemento> + "SparkJobDefinition". No cambie el nombre de la carpeta, ya que se utiliza
para realizar el seguimiento del elemento en el área de trabajo. Por ejemplo, si el
nombre del elemento es "sjd1", el nombre de la carpeta git sería
"sjd1SparkJobDefinition".

Hay dos subcarpetas dentro de la carpeta git. Son las carpetas principal y referencia. La
carpeta principal contiene el archivo de definición principal y la carpeta referencia
contiene el archivo de referencia.

Además de los archivos de referencia y principales, también hay un archivo


[Link]. Contiene los metadatos del elemento de definición de trabajo
de Spark, por lo que no lo debe modificar. El archivo .platform contiene la información
de la plataforma relacionada con la configuración > de Git que tampoco debe
modificarse.

7 Nota
Si elige Java o Scala como lenguaje, los archivos principal y de referencia no
se confirmarán cuando se carguen como un archivo .jar.
El entorno adjunto persiste en una definición de trabajo de Spark después de
sincronizar a un área de trabajo de Fabric desde el repositorio. Actualmente,
no se admiten entornos de referencia entre áreas de trabajo. Debe asociar
manualmente a un nuevo entorno o utilizar una configuración
predeterminada del área de trabajo para ejecutar la definición de trabajo.
La definición del trabajo de Spark conserva el id. del almacén de lago
predeterminado al sincronizar a un área de trabajo de Fabric desde el
repositorio. Si confirma un cuaderno con el almacén de lago predeterminado,
deberá hacer referencia manualmente a un elemento del almacén de lago
recién creado. Para más información, consulte Integración del almacén de
lago de Git.

Contenido relacionado
Introducción a la integración de Git

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Utilidades de Microsoft Spark (MSSparkUtils) para
Fabric
Artículo • 18/07/2024

Las utilidades de Spark para Microsoft (MSSparkUtils) son un paquete integrado que le ayuda a realizar las tareas más comunes con mayor
facilidad. Puede usar MSSparkUtils para trabajar con sistemas de archivos, obtener variables de entorno, encadenar cuadernos entre sí y
trabajar con secretos. El paquete MSSparkUtils está disponible en PySpark (Python) Scala, cuadernos de SparkR y canalizaciones de Fabric.

7 Nota

MsSparkUtils ha cambiado oficialmente el nombre a NotebookUtils. El código existente seguirá siendo compatible con
versiones anteriores y no provocará cambios importantes. Se recomienda encarecidamente actualizar a notebookutils para
garantizar el soporte y el acceso continuos a las nuevas características. El espacio de nombres mssparkutils se retirará en el
futuro.
NotebookUtils está diseñado para funcionar con Spark 3.4(Runtime v1.2) y versiones posteriores. Todas las nuevas
características y actualizaciones se admitirán exclusivamente con el espacio de nombres notebookutils en el futuro.

Utilidades del sistema de archivos


[Link] ofrece utilidades para trabajar con varios sistemas de archivos, como Azure Data Lake Storage Gen2 (ADLS) Gen2 y Azure
Blob Storage. Asegúrese de configurar el acceso a Azure Data Lake Storage Gen2 y Azure Blob Storage adecuadamente.

Ejecute los siguientes comandos para obtener información general sobre los métodos disponibles:

Python

from notebookutils import mssparkutils


[Link]()

Salida

Consola

[Link] provides utilities for working with various FileSystems.

Below is overview about the available methods:

cp(from: String, to: String, recurse: Boolean = false): Boolean -> Copies a file or directory, possibly across FileSystems
mv(from: String, to: String, recurse: Boolean = false): Boolean -> Moves a file or directory, possibly across FileSystems
ls(dir: String): Array -> Lists the contents of a directory
mkdirs(dir: String): Boolean -> Creates the given directory if it does not exist, also creating any necessary parent
directories
put(file: String, contents: String, overwrite: Boolean = false): Boolean -> Writes the given String out to a file, encoded
in UTF-8
head(file: String, maxBytes: int = 1024 * 100): String -> Returns up to the first 'maxBytes' bytes of the given file as a
String encoded in UTF-8
append(file: String, content: String, createFileIfNotExists: Boolean): Boolean -> Append the content to a file
rm(dir: String, recurse: Boolean = false): Boolean -> Removes a file or directory
exists(file: String): Boolean -> Check if a file or directory exists
mount(source: String, mountPoint: String, extraConfigs: Map[String, Any]): Boolean -> Mounts the given remote storage
directory at the given mount point
unmount(mountPoint: String): Boolean -> Deletes a mount point
mounts(): Array[MountPointInfo] -> Show information about what is mounted
getMountPath(mountPoint: String, scope: String = ""): String -> Gets the local path of the mount point

Use [Link]("methodName") for more info about a method.

MSSparkUtils funciona con el sistema de archivos de la misma manera que las API de Spark. Tomemos como ejemplo
[Link]() y el uso del almacén de lago de Fabric:

ノ Expandir tabla
Uso Ruta de acceso relativa desde la raíz de Ruta de acceso absoluta para el sistema de archivos ABFS
HDFS

Lakehouse no No compatible [Link]("abfss://<container_name>@<storage_account_name>.[Link]/<new_


predeterminado

Lakehouse Directorio en "Files" o "Tables": [Link]("abfss://<container_name>@<storage_account_name>.[Link]/<new_


predeterminado [Link]("Files/<new_dir>")

Enumerar archivos
Para enumerar el contenido de un directorio, use [Link]("Ruta de acceso del directorio"). Por ejemplo:

Python

[Link]("Files/tmp") # works with the default lakehouse files using relative path
[Link]("abfss://<container_name>@<storage_account_name>.[Link]/<path>") # based on ABFS file
system
[Link]("file:/tmp") # based on local file system of driver node

Vea las propiedades del archivo.


Este método devuelve las propiedades del archivo, incluido el nombre, la ruta de acceso, el tamaño y si es un directorio o un archivo.

Python

files = [Link]('Your directory path')


for file in files:
print([Link], [Link], [Link], [Link], [Link])

Creación de un directorio
Este método crea el directorio especificado si no existe y también crea los directorios principales necesarios.

Python

[Link]('new directory name')


[Link]. mkdirs("Files/<new_dir>") # works with the default lakehouse files using relative path
[Link]("abfss://<container_name>@<storage_account_name>.[Link]/<new_dir>") # based on ABFS file
system
[Link]("file:/<new_dir>") # based on local file system of driver node

Copiar archivo
Este método copia un archivo o directorio y admite la actividad de copia entre sistemas de archivos.

Python

[Link]('source file or directory', 'destination file or directory', True)# Set the third parameter as True to
copy all files and directories recursively

Copiar archivos de un modo más eficaz


Este método proporciona una manera más rápida de copiar o mover archivos, especialmente grandes volúmenes de datos.

Python

[Link]('source file or directory', 'destination file or directory', True)# Set the third parameter as True
to copy all files and directories recursively

Vista previa del contenido del archivo


Este método devuelve hasta los primeros "maxBytes" bytes del archivo especificado como una cadena codificada en UTF-8.

Python

[Link]('file path', maxBytes to read)

Mover archivo
Este método mueve un archivo o directorio y admite movimientos entre sistemas de archivos.

Python

[Link]('source file or directory', 'destination directory', True) # Set the last parameter as True to firstly
create the parent directory if it does not exist
[Link]('source file or directory', 'destination directory', True, True) # Set the third parameter to True to
firstly create the parent directory if it does not exist. Set the last parameter to True to overwrite the updates.

Escritura de archivos
Este método escribe la cadena especificada en un archivo, codificada en formato UTF-8.

Python

[Link]("file path", "content to write", True) # Set the last parameter as True to overwrite the file if it
existed already

Adición de contenido a un archivo


Este método anexa la cadena especificada a un archivo, codificada en formato UTF-8.

Python

[Link]("file path", "content to append", True) # Set the last parameter as True to create the file if it
does not exist

Eliminación de un archivo o directorio


Este método quita un archivo o directorio.

Python

[Link]('file path', True) # Set the last parameter as True to remove all files and directories recursively

Montaje o desmontaje del directorio


Obtenga más información sobre el uso detallado en Montaje y desmontaje de archivos.

Utilidades de cuaderno
Use las utilidades de cuaderno MSSparkUtils para ejecutar un cuaderno o salir de uno con un valor. Ejecute el siguiente comando para
obtener información general sobre los métodos disponibles:

Python

[Link]()

Salida:

Consola

exit(value: String): void -> This method lets you exit a notebook with a value.
run(path: String, timeoutSeconds: int, arguments: Map): String -> This method runs a notebook and returns its exit value.

7 Nota

Las utilidades de cuaderno no son aplicables a las definiciones de trabajo de Apache Spark (SJD).

Referencia a un cuaderno
Este método hace referencia a un cuaderno y devuelve su valor de salida. Puede ejecutar llamadas de función anidadas en un cuaderno de
manera interactiva o en una canalización. El cuaderno al que se hace referencia se ejecuta en el grupo de Spark del cuaderno que llama a
esta función.

Python

[Link]("notebook name", <timeoutSeconds>, <parameterMap>, <workspaceId>)

Por ejemplo:

Python

[Link]("Sample1", 90, {"input": 20 })

El cuaderno de Fabric también admite la referencia a cuadernos en varias áreas de trabajo especificando el ID del área de trabajo.

Python

[Link]("Sample1", 90, {"input": 20 }, "fe0a6e2a-a909-4aa3-a698-0a651de790aa")

Puede abrir el vínculo de instantánea de la ejecución de referencia en la salida de la celda. La instantánea captura los resultados de la
ejecución del código y permite depurar fácilmente una ejecución de referencia.

7 Nota

El cuaderno de referencia entre áreas de trabajo es compatible con la versión 1.2 y posteriores del tiempo de ejecución.
Si utiliza los archivos en Recurso de cuaderno, use [Link] en el cuaderno al que se hace referencia para
asegurarse de que apunta a la misma carpeta que la ejecución interactiva.

Referencia que ejecuta varios cuadernos en paralelo

) Importante

Esta característica se encuentra en versión preliminar.

El método [Link]() permite ejecutar varios cuadernos en paralelo o con una estructura topológica
predefinida. La API utiliza un mecanismo de implementación de varios subprocesos dentro de una sesión de Spark, lo que significa que los
recursos de proceso se comparten mediante las ejecuciones del cuaderno de referencia.

Con [Link]() , puede:

Ejecute varios cuadernos simultáneamente, sin esperar a que finalice cada uno.

Especifique las dependencias y el orden de ejecución de los cuadernos mediante un formato JSON simple.

Optimice el uso de recursos de proceso de Spark y reduzca el costo de los proyectos de Fabric.

Vea las instantáneas de cada registro de ejecución de cuadernos en la salida y depure o supervise las tareas del cuaderno de forma
cómoda.

Obtenga el valor de salida de cada actividad ejecutiva y úselos en tareas descendentes.

También puede intentar ejecutar [Link]("runMultiple") para buscar el ejemplo y el uso detallado.

Este es un ejemplo sencillo de ejecutar una lista de cuadernos en paralelo mediante este método:

Python

[Link](["NotebookSimple", "NotebookSimple2"])

El resultado de la ejecución del cuaderno raíz es el siguiente:

A continuación se muestra un ejemplo de ejecución de cuadernos con estructura topológica mediante


[Link]() . Use este método para organizar fácilmente cuadernos a través de una experiencia de código.

Python

# run multiple notebooks with parameters


DAG = {
"activities": [
{
"name": "NotebookSimple", # activity name, must be unique
"path": "NotebookSimple", # notebook path
"timeoutPerCellInSeconds": 90, # max timeout for each cell, default to 90 seconds
"args": {"p1": "changed value", "p2": 100}, # notebook parameters
},
{
"name": "NotebookSimple2",
"path": "NotebookSimple2",
"timeoutPerCellInSeconds": 120,
"args": {"p1": "changed value 2", "p2": 200}
},
{
"name": "NotebookSimple2.2",
"path": "NotebookSimple2",
"timeoutPerCellInSeconds": 120,
"args": {"p1": "changed value 3", "p2": 300},
"retry": 1,
"retryIntervalInSeconds": 10,
"dependencies": ["NotebookSimple"] # list of activity names that this activity depends on
}
],
"timeoutInSeconds": 43200, # max timeout for the entire DAG, default to 12 hours
"concurrency": 50 # max number of notebooks to run concurrently, default to 50
}
[Link](DAG, {"displayDAGViaGraphviz": False})

El resultado de la ejecución del cuaderno raíz es el siguiente:

7 Nota

El grado de paralelismo de la ejecución de varios cuadernos está restringido al recurso de proceso total disponible de una sesión
de Spark.
El límite superior de actividades de cuadernos o cuadernos simultáneos es de 50. Superar este límite puede provocar problemas
de estabilidad y rendimiento debido a un uso elevado de recursos de proceso. Si surgen problemas, considere la posibilidad de
separar cuadernos en varias llamadas de runMultiple o reducir la simultaneidad ajustando el campo de simultaneidad en el
parámetro DAG.
El tiempo de expiración predeterminado para el DAG completo es de 12 horas y el tiempo de expiración predeterminado para
cada celda del cuaderno secundario es de 90 segundos. Puede cambiar el tiempo de expiración definiendo los campos
timeoutInSeconds y timeoutPerCellInSeconds en el parámetro DAG.

Salida de un cuaderno
Este método sale de un cuaderno con un valor. Puede ejecutar llamadas de función anidadas en un cuaderno de manera interactiva o en
una canalización.

Cuando llama a una función exit() desde un cuaderno de forma interactiva, el cuaderno de Fabric generará una excepción, omitirá la
ejecución de celdas de subsecuencia y mantendrá activa la sesión de Spark.
Cuando se orquesta un cuaderno en una canalización que llama a una función exit(), la actividad de cuaderno vuelve con un valor de
salida, completa la ejecución de canalización y detiene la sesión de Spark.

Cuando se llama a una función exit() en un cuaderno al que se está haciendo referencia, Fabric Spark detendrá la ejecución posterior
del cuaderno al que se hace referencia y continuará ejecutando las siguientes celdas en el cuaderno principal que llama a la función
run(). Por ejemplo: Notebook1 tiene tres celdas y llama a una función exit() en la segunda celda. Notebook2 tiene cinco celdas y llama
a run(notebook1) en la tercera celda. Al ejecutar Notebook2, Notebook1 se detiene en la segunda celda al pulsar la función exit().
Notebook2 continua con la ejecución de su cuarta y quinta celda.

Python

[Link]("value string")

Por ejemplo:

El cuaderno Sample1 con las dos celdas siguientes:

La celda 1 define un parámetro input con un valor predeterminado establecido en 10.

La celda 2 sale del cuaderno con el valor de input como valor de salida.

Puede ejecutar Sample1 en otro cuaderno con los valores predeterminados:

Python

exitVal = [Link]("Sample1")
print (exitVal)

Salida:

Consola

Notebook executed successfully with exit value 10

Puede ejecutar Sample1 en otro cuaderno y establecer el valor de input en 20:

Python

exitVal = [Link]("Sample1", 90, {"input": 20 })


print (exitVal)

Salida:

Consola

Notebook executed successfully with exit value 20

Utilidades de credenciales
Puede usar las utilidades de credenciales de MSSparkUtils para obtener los tokens de acceso y administrar los secretos en Azure Key Vault.

Ejecute el siguiente comando para obtener información general sobre los métodos disponibles:

Python
[Link]()

Salida:

Consola

getToken(audience, name): returns AAD token for a given audience, name (optional)
getSecret(keyvault_endpoint, secret_name): returns secret for a given Key Vault and secret name

Obtener el token
getToken devuelve un token de Microsoft Entra para una audiencia y un nombre determinado (opcional). En la lista siguiente se muestran
las claves de público disponibles actualmente:

Recurso de público de almacenamiento: "storage"


Recursos de Power BI: "pbi"
Recurso de Azure Key Vault: "keyvault"
Recurso de base de datos KQL de Synapse RTA: "kusto"

Ejecute el siguiente comando para obtener el token:

Python

[Link]('audience Key')

Obtención del secreto con las credenciales de usuario


getSecret devuelve un secreto de Azure Key Vault para un punto de conexión y un nombre de secreto de Azure Key Vault determinados
mediante las credenciales del usuario.

Python

[Link]('[Link] 'secret name')

Montaje y desmontaje de archivos


Fabric admite los siguientes escenarios de montaje en el paquete de utilidades de Microsoft Spark. Puede usar las API mount, unmount,
getMountPath() y mounts() para adjuntar almacenamiento remoto (ADLG Gen2) a todos los nodos de trabajo (nodo de driver y nodos de
trabajo). Una vez instalado el punto de montaje de almacenamiento, utilice la API de archivos locales para acceder a los datos como si
estuvieran almacenados en el sistema de archivos local.

Montaje de una cuenta de ADLS Gen2


En el ejemplo siguiente se muestra cómo montar Azure Data Lake Storage Gen2. El montaje de Blob Storage funciona de forma similar.

En este ejemplo se supone que tiene una cuenta de Data Lake Storage Gen2 denominada storegen2 y que la cuenta tiene un contenedor
denominado mycontainer que desea montar en /test en la sesión de Spark del cuaderno.

Para montar el contenedor llamado mycontainer, mssparkutils primero necesita comprobar si tiene permiso para acceder al contenedor.
Actualmente, Fabric admite dos métodos de autenticación para la operación de montaje del desencadenador: accountKey y sastoken.

Montaje con un token de firma de acceso compartido o una clave de cuenta


MSSparkUtils permite pasar explícitamente una clave de cuenta o firma de acceso compartido (SAS) como parámetro para montar el
destino.

Por motivos de seguridad, se recomienda almacenar las claves de cuenta o los tokens de SAS en Azure Key Vault (como se muestra en la
siguiente captura de pantalla). A continuación, puede recuperarlos mediante la API [Link] API. Para obtener más
información sobre Azure Key Vault, consulte Acerca de las claves de cuenta de almacenamiento administradas de Azure Key Vault.

Código de ejemplo para el método accountKey:

Python

from notebookutils import mssparkutils


# get access token for keyvault resource
# you can also use full audience here like [Link]
accountKey = [Link]("<vaultURI>", "<secretName>")
[Link](
"abfss://mycontainer@<accountname>.[Link]",
"/test",
{"accountKey":accountKey}
)

Código de ejemplo para sastoken:

Python
from notebookutils import mssparkutils
# get access token for keyvault resource
# you can also use full audience here like [Link]
sasToken = [Link]("<vaultURI>", "<secretName>")
[Link](
"abfss://mycontainer@<accountname>.[Link]",
"/test",
{"sasToken":sasToken}
)

7 Nota

Puede ser necesario que importe mssparkutils si no está disponible:

Python

from notebookutils import mssparkutils

Parámetros de montaje:

fileCacheTimeout: los blobs se almacenarán en caché en la carpeta temporal local durante 120 segundos de forma predeterminada.
Durante este tiempo, blobfuse no comprobará si el archivo está actualizado o no. El parámetro se puede establecer para cambiar el
tiempo de espera predeterminado. Cuando varios clientes modifican archivos al mismo tiempo, para evitar incoherencias entre
archivos locales y remotos, se recomienda acortar el tiempo de caché o incluso cambiarlo a 0 y obtener siempre los archivos más
recientes del servidor.
timeout: el tiempo de espera de la operación de montaje es de 120 segundos de forma predeterminada. El parámetro se puede
establecer para cambiar el tiempo de espera predeterminado. Cuando hay demasiados ejecutores o cuando se agota el tiempo de
espera de montaje, se recomienda aumentar el valor.

Puede usar estos parámetros de la siguiente manera:

Python

[Link](
"abfss://mycontainer@<accountname>.[Link]",
"/test",
{"fileCacheTimeout": 120, "timeout": 120}
)

7 Nota

Por motivos de seguridad, se recomienda no almacenar credenciales en el código. Para proteger aún más sus credenciales, se
censurará el secreto en la salida del cuaderno. Para más información, consulte el artículo sobre redacción de secretos.

Cómo montar un almacén de lago


Código de ejemplo para montar una instancia de Lakehouse en /test:

Python

from notebookutils import mssparkutils


[Link](
"abfss://<workspace_id>@[Link]/<lakehouse_id>",
"/test"
)

7 Nota

No se admite el montaje de un punto de conexión regional. Fabric solo admite el montaje del punto de conexión global,
[Link] .
Acceso a los archivos del punto de montaje por medio de la API mssparktuils
fs
El objetivo principal de la operación de montaje es permitir a los clientes acceder a los datos almacenados en una cuenta de
almacenamiento remoto con una API del sistema de archivos local. También puede acceder a los datos por medio de la API mssparkutils fs
con una ruta de acceso montada como parámetro. Este formato de ruta de acceso es un poco diferente.

Supongamos que ha montado el contenedor de Data Lake Storage Gen2 mycontainer en /test utilizando la API de montaje. Cuando accede
a los datos con la API del sistema de archivos local, el formato de la ruta de acceso es como el siguiente:

Python

/synfs/notebook/{sessionId}/test/{filename}

Cuando quiera acceder a los datos mediante la API mssparkutils fs, se recomienda usar getMountPath() para obtener la ruta de acceso
precisa:

Python

path = [Link]("/test")

Enumerar directorios:

Python

[Link](f"[Link]

Leer el contenido de archivos:

Python

[Link](f"[Link]

Crear un directorio:

Python

[Link](f"[Link]

Acceso a los archivos en el punto de montaje a través de la ruta de acceso


local
Puede leer y escribir fácilmente los archivos en el punto de montaje mediante el sistema de archivos estándar. Este es un ejemplo de
Python:

Python

#File read
with open([Link]('/test2') + "/[Link]", "r") as f:
print([Link]())
#File write
with open([Link]('/test2') + "/[Link]", "w") as f:
print([Link]("dummy data"))

Cómo comprobar los puntos de montaje existentes


Puede usar la API [Link]() para comprobar toda la información existente sobre los puntos de montaje:

Python

[Link]()
Desmontaje del punto de montaje.
Use el siguiente código para desmontar el punto de montaje (/test en este ejemplo):

Python

[Link]("/test")

Limitaciones conocidas
El montaje actual es una configuración de nivel de trabajo; se recomienda usar las API de montajes para comprobar si existe un punto
de montaje o no está disponible.

El mecanismo de desmontaje no es automático. Cuando termine la ejecución de la aplicación, para desmontar el punto de montaje y
liberar el espacio en disco, debe llamar explícitamente a una API de desmontaje en el código. De lo contrario, el punto de montaje
seguirá existiendo en el nodo cuando termine la ejecución de la aplicación.

No se admite el montaje de una cuenta de almacenamiento de ADLS Gen1.

Utilidades de Lakehouse
[Link] proporciona utilidades adaptadas específicamente para administrar artefactos de Lakehouse. Estas utilidades

permiten a los usuarios crear, recuperar, actualizar y eliminar artefactos de Lakehouse sin esfuerzo.

7 Nota

Las API de Lakehouse solo se admiten en el tiempo de ejecución versión 1.2 y posteriores.

Información general de los métodos


A continuación se muestra información general de los métodos disponibles proporcionados por [Link] :

Python

# Create a new Lakehouse artifact


create(name: String, description: String = "", workspaceId: String = ""): Artifact

# Retrieve a Lakehouse artifact


get(name: String, workspaceId: String = ""): Artifact

# Update an existing Lakehouse artifact


update(name: String, newName: String, description: String = "", workspaceId: String = ""): Artifact

# Delete a Lakehouse artifact


delete(name: String, workspaceId: String = ""): Boolean

# List all Lakehouse artifacts


list(workspaceId: String = ""): Array[Artifact]

Ejemplos de uso
Para usar estos métodos de forma eficaz, tenga en cuenta los ejemplos de utilización siguientes:

Creación de un artefacto de Lakehouse


Python

artifact = [Link]("artifact_name", "Description of the artifact", "optional_workspace_id")

Recuperación de un artefacto de Lakehouse


Python
artifact = [Link]("artifact_name", "optional_workspace_id")

Actualización de un artefacto de Lakehouse


Python

updated_artifact = [Link]("old_name", "new_name", "Updated description", "optional_workspace_id")

Eliminación de un artefacto de Lakehouse


Python

is_deleted = [Link]("artifact_name", "optional_workspace_id")

Enumeración de artefactos de Lakehouse


Python

artifacts_list = [Link]("optional_workspace_id")

Información adicional
Para obtener información más detallada sobre cada método y sus parámetros, utilice la función
[Link]("methodName") .

Con las utilidades de Lakehouse de MSSparkUtils, la administración de los artefactos de Lakehouse es más eficaz e integrada en las
canalizaciones de Fabric, lo que mejora la experiencia general de administración de datos.

No dude en explorar estas utilidades e incorporarlas en los flujos de trabajo de Fabric para administrar sin problemas los artefactos de
Lakehouse.

Utilidades en tiempo de ejecución


Mostrar la información de contexto de sesión
Con [Link] puede obtener la información de contexto de la sesión activa actual, incluido el nombre del cuaderno,
el almacén de lago predeterminado, la información del área de trabajo, si se trata de una ejecución de canalización, etc.

Python

[Link]

Problema conocido
Al usar la versión en tiempo de ejecución anterior a 1.2 y ejecutar [Link]() , las API fabricClient, almacén y área de trabajo
enumeradas no se admiten por ahora; estarán disponibles posteriormente.

Contenido relacionado
Administración de bibliotecas

Comentarios
¿Le ha resultado útil esta página?  Sí  No
Proporcionar comentarios sobre el producto | Preguntar a la comunidad
Administración de bibliotecas de
Apache Spark en Microsoft Fabric
Artículo • 10/11/2024

Una biblioteca es una colección de código previamente escrito que los desarrolladores
pueden importar para proporcionar funcionalidad. El uso de bibliotecas permite ahorrar
tiempo y esfuerzo al no tener que escribir código desde cero para realizar tareas
comunes. En su lugar, se importa la biblioteca y se utilizan sus funciones y clases para
conseguir la funcionalidad deseada. Microsoft Fabric proporciona múltiples mecanismos
para ayudarle a administrar y usar bibliotecas.

Bibliotecas integradas: cada entorno de ejecución de Fabric Spark proporciona un


amplio conjunto de bibliotecas preinstaladas populares. Encontrará la lista
completa de bibliotecas integradas en Fabric Spark Runtime.
Bibliotecas públicas: las bibliotecas públicas se obtienen de repositorios como
PyPI o Conda, que se admiten actualmente.
Bibliotecas personalizadas: las bibliotecas personalizadas se refieren al código que
usted o su organización crean. Fabric admite los formatos .whl, .jar, and .[Link].
Fabric solo admite archivos .[Link] para el lenguaje R. Para las bibliotecas
personalizadas de Python, use el formato .whl.

Resumen de los procedimientos recomendados


de administración de bibliotecas
En los escenarios siguientes se describen los procedimientos recomendados al usar
bibliotecas en Microsoft Fabric.

Escenario 1: el administrador establece bibliotecas


predeterminadas para el área de trabajo
Para establecer bibliotecas predeterminadas, debe ser el administrador del área de
trabajo. Como administrador, puede realizar estas tareas:

1. Crear un nuevo entorno


2. Instalar las bibliotecas necesarias en el entorno
3. Adjuntar este entorno como área de trabajo predeterminada

Cuando los cuadernos y las definiciones de trabajo de Spark se adjuntan a la


Configuración del área de trabajo, inician sesiones con las bibliotecas instaladas en el
entorno predeterminado del área de trabajo.

Escenario 2: conservar especificaciones de biblioteca para


uno o varios elementos de código
Si tiene bibliotecas comunes para distintos elementos de código y no requiere
actualizaciones frecuentes, instalar las bibliotecas en un entorno y adjuntarlo a los
elementos de código es una buena opción.

Se tardará algún tiempo en hacer que las bibliotecas en entornos sean eficaces al
publicar. Normalmente tarda entre 5 y 15 minutos, en función de la complejidad de las
bibliotecas. Durante este proceso, el sistema ayudará a resolver los posibles conflictos y
descargar las dependencias necesarias.

Una ventaja de este enfoque es que se garantiza que las bibliotecas instaladas
correctamente estén disponibles cuando se inicia la sesión de Spark con el entorno
asociado. Ahorra esfuerzo para mantener bibliotecas comunes para los proyectos.

Se recomienda encarecidamente para escenarios de canalización con su estabilidad.

Escenario 3: instalación en línea en ejecución interactiva


Si usa los cuadernos para escribir código de forma interactiva, lo más recomendable es
usar la instalación en línea para agregar nuevas librerías PyPI o conda o validar sus
librerías personalizadas para un único uso. Los comandos en línea en Fabric le permiten
hacer efectiva la biblioteca en la sesión Spark del cuaderno actual. Permite la instalación
rápida, pero la biblioteca instalada no se conserva en distintas sesiones.

Dado que %pip install genera árboles de dependencias diferentes cada cierto tiempo,
lo que puede provocar conflictos de biblioteca, los comandos insertados se desactivan
de manera predeterminada en las ejecuciones de canalización y NO se recomienda usar
en las canalizaciones.

Resumen de los tipos de biblioteca admitidos


ノ Expandir tabla

Tipo de biblioteca Administración de bibliotecas de Instalación en


entorno línea

Python público (PyPI y Compatible Compatible


Conda)
Tipo de biblioteca Administración de bibliotecas de Instalación en
entorno línea

Python personalizado (.whl) Compatible Compatible

R público (CRAN) No compatible Compatible

R personalizado (.[Link]) Se admite como biblioteca personalizada Compatible

Jar Se admite como biblioteca personalizada Compatible

Instalación en línea
Los comandos insertados admiten la administración de bibliotecas en cada sesión de
cuaderno.

Instalación en línea de Python


El sistema reinicia el intérprete de Python para aplicar el cambio de bibliotecas.
Cualquier variable definida antes de ejecutar la celda de comandos se pierde. Se
recomienda encarecidamente colocar todos los comandos para agregar, eliminar o
actualizar paquetes de Python al principio del cuaderno.

Los comandos insertados para administrar bibliotecas de Python están deshabilitados


de forma predeterminada en la ejecución de canalización de cuadernos. Si deseas
habilitar %pip install para la canalización, agrega «_inlineInstallationEnabled» como un
parámetro booleano que equivale a True en los parámetros de actividad del cuaderno.

7 Nota

%pip install puede dar lugar a resultados incoherentes de vez en cuando. Se

recomienda instalar la biblioteca en un entorno y usarla en la canalización. En las


ejecuciones de referencia de cuadernos, no se admiten comandos insertados para
administrar bibliotecas de Python. Para garantizar la corrección de la ejecución, se
recomienda quitar estos comandos insertados del cuaderno al que se hace
referencia.

Se recomienda %pip en lugar de !pip . !pip es un comando de shell integrado de


IPython que tiene las siguientes limitaciones:

!pip solo instala un paquete en el nodo controlador, no en los nodos ejecutores.

Los paquetes que se instalan a través de !pip no afectan a los conflictos con
paquetes incorporados o si los paquetes ya están importados en un cuaderno.

Sin embargo, %pip controla estos escenarios. Las bibliotecas instaladas a través de %pip
están disponibles tanto en el nodo controlador como en el nodo ejecutor y siguen
siendo efectivas incluso si la biblioteca ya está importada.

 Sugerencia

El comando %conda install suele tardar más que el comando %pip install en
instalar nuevas bibliotecas Python. Verifica todas las dependencias y resuelve los
conflictos.

Puede que quiera usar %conda install para mayor fiabilidad y estabilidad. Puede
usar %pip install si está seguro de que la biblioteca que desea instalar no entra
en conflicto con las bibliotecas preinstaladas en el entorno de tiempo de ejecución.

Para todos los comandos en línea de Python disponibles y aclaraciones, consulte


comandos %pip y comandos %conda .

Administración de bibliotecas públicas de Python mediante la


instalación en línea
En este ejemplo, se muestra cómo usar comandos en línea para administrar bibliotecas.
Supongamos que quiere usar altair, una biblioteca de visualización eficaz para Python,
para una exploración de datos única. Supongamos que la biblioteca no está instalada en
el área de trabajo. El siguiente ejemplo usa comandos conda para ilustrar los pasos.

Puede usar comandos en línea para habilitar altair en la sesión del cuaderno sin afectar
a otras sesiones del cuaderno u otros elementos.
1. Ejecute los siguientes comandos en una celda de código del cuaderno. El primer
comando instala la biblioteca altair. Además, instala vega_datasets, que contiene
un modelo semántico que se puede usar para visualizar.

Python

%conda install altair # install latest version through conda


command
%conda install vega_datasets # install latest version through conda
command

La salida de la celda indica el resultado de la instalación.

2. Importa el paquete y el modelo semántico ejecutando el siguiente código en otra


celda del cuaderno.

Python

import altair as alt


from vega_datasets import data

3. Ahora puede usar la biblioteca altair con ámbito de sesión.

Python

# load a simple dataset as a pandas DataFrame


cars = [Link]()
[Link](cars).mark_point().encode(
x='Horsepower',
y='Miles_per_Gallon',
color='Origin',
).interactive()

Administración de bibliotecas personalizadas de Python mediante


la instalación en línea

Puede cargar sus bibliotecas personalizadas de Python en la carpeta de recursos de su


bloc de notas o en el entorno adjunto. Las carpetas de recursos son el sistema de
archivos integrado proporcionado por cada cuaderno y entorno. Consulte Recursos de
Notebook para obtener más detalles. Después de la carga, puede arrastrar y colocar la
biblioteca personalizada en una celda de código, el comando insertado para instalar la
biblioteca se genera automáticamente. O bien, puede usar el siguiente comando para
instalar.
Python

# install the .whl through pip command from the notebook built-in folder
%pip install "builtin/wheel_file_name.whl"

Instalación en línea de R
Para administrar bibliotecas R, Fabric admite los comandos [Link]() ,
[Link]() y devtools:: . Para todos los comandos R en línea disponibles y

aclaraciones, consulte el comando install. packages y el comando [Link] .

Administración de bibliotecas públicas de R a través de la


instalación en línea
Siga este ejemplo para recorrer los pasos de instalación de una biblioteca pública de R.

Para instalar una biblioteca de fuentes de R:

1. Cambie el lenguaje de trabajo a SparkR (R) en la cinta de opciones del cuaderno.

2. Instale la biblioteca caesar ejecutando el comando siguiente en una celda del


cuaderno.

Python

[Link]("caesar")

3. Ahora puede experimentar con la biblioteca de caesar con ámbito de sesión con
un trabajo de Spark.

Python

library(SparkR)
[Link]()

hello <- function(x) {


library(caesar)
caesar(x)
}
[Link](c("hello world", "good morning", "good evening"), hello)

Administración de bibliotecas Jar a través de la


instalación en línea
Los archivos .jar son compatibles con las sesiones del cuaderno con el siguiente
comando.

Scala

%%configure -f
{
"conf": {
"[Link]": "abfss://<<Lakehouse
prefix>>.[Link]/<<path to JAR file>>/<<JAR file
name>>.jar",
}
}

La celda de código usa el almacenamiento de Lakehouse como ejemplo. En el


explorador de cuaderno, puede copiar el archivo completo ABFS ruta y reemplazar en el
código.

Contenido relacionado
Creación, configuración y uso de un entorno en Microsoft Fabric
Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Configuración de administración de
capacidad para Ingeniería de datos y
Ciencia de datos
Artículo • 06/12/2023

Se aplica a: Ingeniería de datos y ciencia de datos en Microsoft Fabric

Los administradores compran capacidades de Microsoft Fabric en función de los


requisitos de proceso y escala de las necesidades de análisis de su empresa. Los
administradores son responsables de administrar la capacidad y la gobernanza. Deben
controlar y administrar las propiedades de proceso para las aplicaciones de ingeniería
de datos y análisis de ciencia.

Los administradores de la capacidad de Microsoft Fabric ahora pueden gestionar y


controlar su configuración de Ingeniería de datos y Ciencia de datos desde el portal de
configuración del administrador. Los administradores pueden configurar el entorno de
Spark para sus usuarios habilitando el proceso de nivel de área de trabajo, eligiendo un
entorno de ejecución predeterminado y también crear o administrar propiedades de
Spark para sus capacidades.

Desde el portal de administración, vaya a la sección Configuración de ingeniería de


datos/ciencia y seleccione una capacidad específica como se muestra en la siguiente
animación:

Contenido relacionado
Introducción a la configuración de administración de Ingeniería de datos/ciencia
para la capacidad del tejido

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Configuración y administración de la
ingeniería de datos y la configuración
de ciencia de datos para capacidades de
Fabric
Artículo • 28/06/2024

Se aplica a: Ingeniería de datos y ciencia de datos en Microsoft Fabric

Al crear Microsoft Fabric desde el Azure Portal, se agrega automáticamente al inquilino


de Fabric asociado a la suscripción usada para crear la capacidad. Con la configuración
simplificada en Microsoft Fabric, no es necesario vincular la capacidad al inquilino de
Fabric. Dado que la capacidad recién creada se mostrará en el panel de configuración
del administrador. Esta configuración proporciona una experiencia más rápida para que
los administradores empiecen a configurar la capacidad de sus equipos de análisis
empresarial.

Para realizar cambios en la configuración de Ingeniería de datos/ciencia en una


capacidad, debe tener el rol de administrador para esa capacidad. Para obtener más
información sobre los roles que puede asignar a los usuarios en una capacidad, consulte
Roles en capacidades.

Siga estos pasos para administrar la configuración de Ingeniería de datos/Ciencia para


la capacidad de Microsoft Fabric:

1. Seleccione la opción Configuración para abrir el panel de configuración de su


cuenta de Fabric. Seleccione portal de administración en la sección Gobernanza e
información
2. Seleccione la opción Configuración de capacidad para expandir el menú y
seleccione la ficha Capacidad de estructura . Aquí deberías ver las capacidades
que has creado en tu inquilino. Elija la capacidad que desea configurar.

3. Va al panel de detalles de capacidades, donde puede ver el uso y otros controles


de administración de la capacidad. Vaya a la sección Configuración de
ingeniería/ciencia de datos y seleccione Abrir Spark Compute. Configure los
siguientes parámetros:

7 Nota

Al menos una área de trabajo debe adjuntarse a la capacidad de tejido para


explorar la configuración de Ingeniero de datos y ciencia desde el portal de
administración de capacidad de Fabric.

Grupos de espacios de trabajo personalizados: puede restringir o democratizar la


personalización del cómputo a los administradores del área de trabajo activando o
desactivando esta opción. Al habilitar esta opción, los administradores del área de
trabajo pueden crear, actualizar o eliminar grupos de Spark personalizados de
nivel de área de trabajo. Además, le permite cambiar su tamaño en función de los
requisitos de proceso dentro del límite máximo de núcleos de una capacidad.

Grupos de capacidad para ciencia de datos e


ingeniería de datos en Microsoft Fabric (versión
preliminar pública)
En la sección Lista de grupos de Configuración de Spark, haga clic en la opción
Agregar, puede crear un grupo personalizado para la capacidad de Fabric.

5. Se le llevará a la sección de creación de grupos, donde deberá especificar el


nombre del grupo, la familia de nodos, seleccionar el tamaño del nodo y
establecer los nodos mínimo y máximo para su grupo personalizado,
habilitar/deshabilitar la autoescala y la asignación dinámica de ejecutores.
6. Haga clic en Crear y guarde la configuración.
7 Nota

Los grupos personalizados creados en la configuración de capacidad tendrán una


latencia de inicio de sesión de 2 a 3 minutos, ya que son sesiones a petición a
diferencia de las sesiones que se proporcionan a través de grupos de inicio.

7. Ahora el nuevo grupo de capacidad creado está disponible como opción de


cálculo en el menú de selección de grupo en todos los espacios de trabajo
conectados a esta capacidad de Fabric.
8. También puede ver el grupo de capacidad creado como una opción de proceso en
el elemento de entorno dentro de las áreas de trabajo.

9. Esto proporciona controles administrativos adicionales para administrar la


gobernanza de procesos para el proceso de Spark en Microsoft Fabric. Como
administrador de capacidad, puede crear grupos para espacios de trabajo y
desactivar la personalización a nivel de espacio de trabajo, lo que impediría a los
administradores de espacios de trabajo crear grupos personalizados.

Contenido relacionado
Comience con la configuración de administración de ingeniería de datos/ciencias
para su área de trabajo de estructura
Conozca las experiencias de Spark Compute para experiencias de ingeniería de
datos/ciencia de Fabric

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Ingeniero de datos la configuración de
administración del área de trabajo en
Microsoft Fabric
Artículo • 25/10/2024

Se aplica a:✅ Ingeniería de datos y Ciencia de datos en Microsoft Fabric

Al crear un área de trabajo en Microsoft Fabric, se crea automáticamente un grupo de


inicio asociado a esa área de trabajo. Con la configuración simplificada en Microsoft
Fabric, no es necesario elegir el nodo o los tamaños de máquina, ya que estas opciones
se controlan automáticamente en segundo plano. Esta configuración proporciona una
experiencia de inicio de sesión de Apache Spark más rápida (de 5 a 10 segundos) para
que los usuarios empiecen a trabajar y ejecuten los trabajos de Apache Spark en
muchos escenarios comunes sin tener que preocuparse por configurar el proceso. En
escenarios avanzados con requisitos de proceso específicos, los usuarios pueden crear
un grupo de Apache Spark personalizado y ajustar el tamaño de los nodos en función
de sus necesidades de rendimiento.

Para realizar cambios en la configuración de Apache Spark en un área de trabajo, debe


tener el rol de administrador de esa área de trabajo. Para más información, consulte
Roles en áreas de trabajo.

Para administrar la configuración de Spark para el grupo asociado al área de trabajo:

1. Vaya a la configuración del área de trabajo en el área de trabajo y elija la opción


Ingeniería/Ciencia de datos para expandir el menú:

2. Verá la opción Proceso de Spark en el menú izquierdo:


7 Nota

Si cambia el grupo predeterminado de grupo de inicio a un grupo de Spark


personalizado, es posible que vea inicio de sesión más largo (~3 minutos).

grupo

Grupo predeterminado para el área de trabajo


Puede usar el grupo de inicio creado automáticamente o crear grupos personalizados
para el área de trabajo.

Grupo de inicio: grupos activos prehidratados creados automáticamente para una


experiencia más rápida. Estos clústeres son de tamaño medio. El grupo de inicio se
establece en una configuración predeterminada basada en la SKU de capacidad de
Fabric comprada. Los administradores pueden personalizar los nodos y ejecutores
máximos en función de sus requisitos de escalado de cargas de trabajo de Spark.
Para más información, consulte Configuración de grupos de inicio

Grupo de Spark personalizado: puede ajustar el tamaño de los nodos, el escalado


automático y asignar dinámicamente ejecutores en función de los requisitos del
trabajo de Spark. Para crear un grupo de Spark personalizado, el administrador de
capacidad debe habilitar la opción Grupos de áreas de trabajo personalizadas en
la sección Proceso de Spark de configuración de Capacidad de administración.

7 Nota

El control de nivel de capacidad de los grupos de áreas de trabajo personalizados


está habilitado de forma predeterminada. Para más información, consulte
Configuración y administración de la ingeniería de datos y la configuración de
ciencia de datos para capacidades de Fabric.

Los administradores pueden crear grupos de Spark personalizados en función de sus


requisitos de proceso seleccionando la opción Nuevo grupo.

Apache Spark para Microsoft Fabric admite clústeres de nodo único, lo que permite a
los usuarios seleccionar una configuración de nodo mínima de 1 en cuyo caso el
controlador y el ejecutor se ejecutan en un solo nodo. Estos clústeres de nodo único
ofrecen alta disponibilidad restaurable durante errores de nodo y una mejor
confiabilidad del trabajo para cargas de trabajo con requisitos de proceso más
pequeños. También puede habilitar o deshabilitar la opción de escalado automático
para los grupos de Spark personalizados. Cuando se habilita con el escalado
automático, el grupo adquiriría nuevos nodos dentro del límite máximo de nodos
especificado por el usuario y los retiraría después de la ejecución del trabajo para
mejorar el rendimiento.

También puede seleccionar la opción para asignar dinámicamente ejecutores para


agrupar automáticamente un número óptimo de ejecutores dentro del límite máximo
especificado en función del volumen de datos para mejorar el rendimiento.


Obtenga más información sobre el Proceso de Apache Spark para Fabric.

Personalizar la configuración de proceso para los elementos: como administrador


del área de trabajo, puede permitir que los usuarios ajusten las configuraciones de
proceso (propiedades de nivel de sesión que incluyen Driver/Executor Core,
Driver/Executor Memory) para elementos individuales, como cuadernos,
definiciones de trabajos de Spark mediante Entorno.

Si el administrador del área de trabajo desactiva la configuración, el grupo


predeterminado y sus configuraciones de proceso se usan para todos los entornos del
área de trabajo.

Entorno
El entorno proporciona configuraciones flexibles para ejecutar los trabajos de Spark
(cuadernos, definiciones de trabajos de Spark). En un entorno, puede configurar las
propiedades de proceso, seleccionar diferentes entornos de ejecución, configurar
dependencias de paquetes de biblioteca en función de los requisitos de carga de
trabajo.

En la pestaña Entorno, tiene la opción de establecer el entorno predeterminado. Puede


elegir qué versión de Spark desea usar para el área de trabajo.

Como administrador del área de trabajo de Fabric, puede seleccionar un entorno como
entorno predeterminado del área de trabajo.

También puede crear uno nuevo a través de la lista desplegable Entorno.


Si deshabilita la opción para tener un entorno predeterminado, tiene la opción de


seleccionar la versión del entorno de ejecución de Fabric en las versiones de runtime
disponibles que aparecen en la selección desplegable.

Más información sobre los runtimes de Apache Spark.

Trabajos
La configuración de trabajos permite a los administradores controlar la lógica de
admisión de trabajos para todos los trabajos de Spark del área de trabajo.

De forma predeterminada, todas las áreas de trabajo están habilitadas con admisión de
trabajo optimista. Obtenga más información sobre la admisión de trabajos para Spark
en Microsoft Fabric.

Puede habilitar la reserva de núcleos máximos para trabajos activos de Spark para
cambiar el enfoque basado en la admisión de trabajos optimistas y reservar núcleos
máximos para sus trabajos de Spark.

También puede establecer el tiempo de espera de la sesión de Spark para personalizar


la expiración de la sesión para todas las sesiones interactivas del cuaderno.

7 Nota

La expiración predeterminada de la sesión se establece en 20 minutos para las


sesiones interactivas de Spark.

Simultaneidad alta
El modo de simultaneidad alta permite a los usuarios compartir las mismas sesiones de
Spark en cargas de trabajo de ingeniería de datos y ciencia de datos de Apache Spark
para Fabric. Un elemento como un cuaderno usa una sesión de Spark para su ejecución
y, cuando está habilitada, permite a los usuarios compartir una sola sesión de Spark en
varios cuadernos.

Más información sobre la alta simultaneidad en Apache Spark para Fabric.

Registro automático de modelos y


experimentos de Machine Learning
Los administradores ahora pueden habilitar el registro automático para sus modelos y
experimentos de Machine Learning. Esta opción captura automáticamente los valores de
los parámetros de entrada, las métricas de salida y los elementos de salida de un
modelo de Machine Learning a medida que se entrena. Más información sobre el
registro automático .

Contenido relacionado
Lea sobreApache Spark Runtimes en Fabric: información general, control de
versiones, soporte de múltiples runtimes y Actualización del protocolo Delta Lake.
Obtenga más información en la documentación pública de Apache Spark.
Encuentre respuestas a las preguntas más frecuentes: Preguntas más frecuentes
sobre la configuración de administración del área de trabajo de Apache Spark.

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Preguntas más frecuentes sobre la
configuración de administración
del área de trabajo de
Apache Spark
Preguntas más frecuentes

En este artículo, se muestran las respuestas a las preguntas más frecuentes sobre la
configuración de administración del área de trabajo de Apache Spark.

¿Cómo puedo usar los roles RBAC para


configurar las opciones del área de
trabajo de Spark?
Use el menú Administrar acceso para agregar permisos de Administración para
usuarios específicos, grupos de distribución o grupos de seguridad. También puede usar
este menú para realizar cambios en el área de trabajo y para conceder acceso para
agregar, modificar o eliminar la configuración del área de trabajo de Spark.

¿Los cambios realizados en las


propiedades de Spark en el nivel de
entorno se aplican a las sesiones activas
del cuaderno o a los trabajos de Spark
programados?
Cuando se realiza un cambio de configuración en el nivel de área de trabajo, no se
aplica a las sesiones activas de Spark. Esto incluye sesiones basadas en lotes o
cuadernos. Debe iniciar un nuevo cuaderno o una sesión por lotes después de guardar
las nuevas opciones de configuración para que la configuración surta efecto.

¿Puedo configurar la familia de nodos,


el entorno de ejecución de Spark y las
propiedades de Spark en un nivel de
capacidad?
Sí, puede cambiar el entorno de ejecución o administrar las propiedades de Spark
mediante la configuración de Ingeniería de datos o Ciencia de datos como parte de la
página de configuración del administrador de capacidad. Necesita tener acceso de
administrador de capacidad para ver y cambiar esta configuración de capacidad.

¿Puedo elegir diferentes familias de


nodos para distintos cuadernos y
definiciones de trabajos de Spark en mi
área de trabajo?
Actualmente, solo puede seleccionar la familia de nodos optimizada para memoria para
toda el área de trabajo.

¿Puedo configurar estas opciones en un


nivel de cuaderno?
Sí, puede usar %%configure para personalizar las propiedades en el nivel de sesión de
Spark en cuadernos.

¿Puedo configurar el número mínimo y


máximo de nodos para la familia de
nodos seleccionada?
Sí, puede elegir los nodos mínimo y máximo en función de los límites máximos de
ráfaga permitidos de la capacidad de Fabric vinculada al área de trabajo de Fabric.

¿Puedo habilitar el escalado automático


para los grupos de Spark en una familia
de nodos basada en GPU optimizada
para memoria o acelerada mediante
hardware?
El escalado automático está disponible para los grupos de Spark y su activación permite
al sistema escalar automáticamente el cálculo en función de las fases del trabajo
durante el runtime. Las GPU no están disponibles actualmente. Esta funcionalidad se
habilitará en futuras versiones.

¿El almacenamiento en caché


inteligente para los grupos de Spark es
compatible o está habilitado de forma
predeterminada para un área de
trabajo?
El almacenamiento en caché inteligente está habilitado de forma predeterminada para
los grupos de Spark para todas las áreas de trabajo.

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Información general sobre la
supervisión de Apache Spark
Artículo • 04/10/2023

La supervisión de Spark en Microsoft Fabric está diseñada para ofrecer una experiencia
basada en interfaz de usuario web con funcionalidades enriquecidas integradas para
supervisar el progreso y el estado de las aplicaciones Spark en curso, examinar las
actividades anteriores de Spark, analizar y optimizar el rendimiento, y facilitar la solución
de problemas de errores. Hay varios puntos de entrada disponibles para examinar,
supervisar y ver los detalles de la aplicación Spark.

) Importante

Microsoft Fabric está en versión preliminar.

Centro de supervisión
El centro de supervisión actúa como un portal centralizado para examinar las actividades
de Spark entre elementos. De un vistazo, puede ver las aplicaciones Spark en curso
desencadenadas desde cuadernos, definiciones de trabajos de Spark y canalizaciones.
También puede buscar y filtrar aplicaciones Spark en función de diferentes criterios y
explorar en profundidad para ver más detalles de ejecución de Spark de aplicaciones
Spark.

Ejecuciones recientes de elementos


Cuando se trabaja en elementos específicos, la característica Ejecuciones recientes del
elemento permite examinar las actividades actuales y recientes del elemento, además de
obtener información sobre el remitente, el estado, la duración y otra información de las
actividades enviadas por usted u otros usuarios.

Supervisión contextual de Notebook


La supervisión contextual de Notebook ofrece las funcionalidades de creación,
supervisión y depuración de trabajos de Spark en un solo lugar. Es posible supervisar el
progreso del trabajo de Spark, ver las tareas y ejecutores de Spark y acceder a los
registros de Spark dentro de un cuaderno a nivel de celda de Notebook. El asesor de
Spark también está integrado en Notebook para ofrecer asesoramiento en tiempo real
sobre la ejecución de Spark de código y celdas, además de realizar análisis de errores.

Supervisión insertada de la definición de


trabajos de Spark
La característica Supervisión insertada de definición de trabajo de Spark permite ver el
envío y el estado de la ejecución de la definición del trabajo de Spark en tiempo real, así
como ver las últimas ejecuciones y configuraciones de la definición de trabajos de
Spark. Puede ir a la página de detalles de la aplicación Spark para ver más detalles.

Supervisión insertada de la actividad de Spark


de canalización
En el caso de la supervisión insertada de la actividad de Spark de canalización, los
vínculos profundos se han integrado en las actividades de definición de trabajos de
Notebook y Spark dentro de la canalización. Es posible ver los detalles de ejecución de
aplicaciones Spark, la instantánea de definición de trabajo de Spark y notebook
correspondientes, además de acceder a los registros de Spark para solucionar
problemas. Si se produjese un error en las actividades de Spark, el mensaje de error en
línea también estará disponible en las actividades de Spark de canalización.

Pasos siguientes
Asesor de Apache Spark para obtener consejos en tiempo real sobre cuadernos
Examinar las aplicaciones de Apache Spark en el centro de supervisión de Fabric
Examinar las ejecuciones recientes del elemento
Supervisión de trabajos de Spark en un cuaderno
Supervise la definición del trabajo de Apache Spark
Supervisión detallada de aplicaciones Apache Spark
Uso del servidor de historial de Apache Spark extendido para depurar y
diagnosticar aplicaciones Spark
Supervisión del consumo de capacidad de Spark

Comentarios
¿Le ha resultado útil esta página?
 Yes  No

Proporcionar comentarios sobre el producto | Ask the community


¿Qué es el análisis de series de ejecución
de Apache Spark?
Artículo • 21/05/2024

La serie de ejecución de Apache Spark clasifica automáticamente las aplicaciones spark


en función de actividades de canalización periódicas, ejecuciones manuales de
cuadernos o ejecuciones de trabajos de Spark desde el mismo cuaderno o definición de
trabajo de Spark.

La característica de la serie de ejecución muestra la tendencia de duración y la tendencia


de entrada o salida de datos para cada instancia de aplicación de Spark. Examina
automáticamente la serie de ejecución, detecta anomalías y proporciona vistas
detalladas para aplicaciones de Spark individuales.

La característica de análisis de series de ejecución ofrece las siguientes funcionalidades


clave:

Análisis de ajuste automático: use el análisis de series de ejecución para comparar


los resultados del ajuste automático, ver el rendimiento de la aplicación Spark,
examinar los desgloses en tiempo de ejecución y revisar las configuraciones de
consulta de Spark SQL con ajuste automático.

Comparación de series de ejecución: compare la duración de ejecución del


cuaderno con ejecuciones anteriores y evalúe los datos de entrada y salida para
comprender los motivos por los que se han prolongado las duraciones de
ejecución.

Detección y análisis de valores atípicos: detecte y analice valores atípicos en la


serie de ejecución para identificar posibles causas.

Vista de instancia de ejecución detallada: seleccione una instancia de ejecución


específica para obtener información detallada sobre la distribución de tiempo.
Estos detalles se usan para identificar las oportunidades de mejora del rendimiento
y las configuraciones de Spark correspondientes.

¿Cuándo usar el análisis de series de ejecución?


La característica de análisis de series de ejecución está diseñada para optimizar y ajustar
el rendimiento. Si no está seguro del estado de los trabajos de producción, puede usar
esta característica. Examina automáticamente los trabajos de producción de diferentes
series de ejecución y realiza análisis de estado. Si desea optimizar un trabajo de larga
duración, puede compararlo con otros trabajos, identificar cuellos de botella de
rendimiento y oportunidades de optimización. Además, puede usar esta característica
para ver la salida del ajuste automático y garantizar un rendimiento óptimo.

Ejemplos de análisis de series de ejecución


Este es un ejemplo de análisis de series de ejecución desde una instancia de ejecución
de cuaderno. Puede ver la tendencia de duración de esta serie de ejecución. Cada barra
vertical representa una instancia de la ejecución de la actividad del cuaderno, con la
altura que indica la duración de la ejecución. Las barras rojas indican anomalías
detectadas para esa instancia de ejecución. Puede seleccionar cada instancia de
ejecución para ver información más detallada y acercar o alejar una ventana de tiempo
específica.

Acceso al análisis de la serie de ejecución de Spark


Puede acceder a la característica de análisis de series de ejecución a través de la vista
histórica del centro de supervisión, el cuaderno o el panel de ejecuciones recientes de la
definición de trabajo de Spark, o desde la página de detalles de supervisión de
aplicaciones de Spark.

Contenido relacionado
Asesor de Apache Spark para obtener consejos en tiempo real sobre cuadernos
Examinar las aplicaciones de Apache Spark en el centro de supervisión de Fabric
Examinar las ejecuciones recientes del elemento
Supervisión de trabajos de Spark en un cuaderno
Supervise la definición del trabajo de Apache Spark
Supervisión detallada de aplicaciones Apache Spark
Uso del servidor de historial de Apache Spark extendido para depurar y
diagnosticar aplicaciones Spark
Supervisión del consumo de capacidad de Spark

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Asesor de Apache Spark para obtener
consejos en tiempo real sobre
cuadernos
Artículo • 21/03/2024

Advisor de Apache Spark analiza los comandos y el código que ejecuta Spark, y muestra
avisos en tiempo real para las ejecuciones de Notebook. El asesor de Apache Spark
tiene patrones integrados para ayudar a los usuarios a evitar errores comunes. Ofrece
recomendaciones para optimizar el código, realiza análisis de errores y localiza la causa
raíz de los fallos.

Avisos integrados
Spark advisor, una herramienta integrada en Impulse, proporciona patrones
incorporados para detectar y resolver problemas en aplicaciones Apache Spark. En este
artículo se explican algunos de los patrones incluidos en la herramienta.

Puedes abrir el panel de ejecuciones recientes en función del tipo de asesoramiento


que necesites.

Puede devolver resultados incoherentes al usar


"randomSplit"
Al trabajar con el método randomSplit pueden obtenerse resultados inconsistentes o
imprecisos. Use el almacenamiento en caché de Apache Spark (RDD) antes de usar el
método "randomSplit".

El método randomSplit() es equivalente a realizar sample() en su marco de datos varias


veces. Donde cada captura de ejemplo, las particiones y ordena la trama de datos
dentro de las particiones. La distribución de datos entre particiones y criterio de
ordenación es importante para randomSplit() y sample(). Si alguno de los dos cambia al
volver a obtener los datos, puede haber duplicados o valores que falten en las
divisiones. Y el mismo ejemplo con la misma inicialización puede producir resultados
diferentes.

Es posible que estas incoherencias no se produzcan en todas las ejecuciones, pero para
eliminarlas por completo, almacene en caché su marco de datos, reparticion en una o
varias columnas o aplique funciones agregadas como groupBy.
El nombre de la tabla/vista ya está en uso
Ya existe una vista con el mismo nombre que la tabla creada o ya existe una tabla con el
mismo nombre que la vista creada. Cuando este nombre se usa en consultas o
aplicaciones, solo se devolverá la vista, independientemente de cuál haya creado
primero. Para evitar conflictos, cambie el nombre de la tabla o de la vista.

No se puede reconocer una sugerencia


Scala

[Link]("SELECT /*+ unknownHint */ * FROM t1")

No se pueden encontrar nombres de relación


especificados
No se pueden encontrar las relaciones especificadas en la sugerencia. Compruebe que
las relaciones están escritas correctamente y sean accesibles dentro del ámbito de la
sugerencia.

Scala

[Link]("SELECT /*+ BROADCAST(unknownTable) */ * FROM t1 INNER JOIN t2 ON


[Link] = [Link]")

Una sugerencia de la consulta impide que se aplique otra


sugerencia
La consulta seleccionada contiene una sugerencia que impide que se aplique otra
sugerencia.

Scala

[Link]("SELECT /*+ BROADCAST(t1), MERGE(t1, t2) */ * FROM t1 INNER JOIN


t2 ON [Link] = [Link]")

Habilite "[Link]"
para reducir la propagación de errores de redondeo
Esta consulta contiene la expresión con tipo Double. Se recomienda habilitar la
configuración "[Link]", lo que puede ayudar a
reducir las expresiones de división y reducir la propagación de errores de redondeo.

Consola

"t.a/t.b/t.c" convert into "t.a/(t.b * t.c)"

Habilite "[Link]"
para mejorar el rendimiento de las consultas
Esta consulta contiene una combinación que consume mucho tiempo debido a la
condición "Or" en la consulta. Se recomienda habilitar la configuración
"[Link]", lo cual puede ayudar a convertir la
combinación desencadenada por la condición "Or" en SMJ o BHJ para acelerar esta
consulta.

Experiencia del usuario


El asesor de Apache Spark muestra los consejos, incluyendo información, advertencias y
errores, en la salida de la celda de Notebook en tiempo real.

Información
Peligro

Error

Configuración de Spark Advisor


La configuración de Spark Advisor te permite elegir si mostrar u ocultar tipos específicos
de consejos de Spark según tus necesidades. Además, tienes la flexibilidad de habilitar o
deshabilitar Spark Advisor para los cuadernos dentro de un área de trabajo, en función
de tus preferencias.

Puedes acceder a la configuración de Spark Advisor en el nivel de Fabric Notebook para


disfrutar de sus ventajas y garantizar una experiencia productiva de creación de
cuadernos.

Contenido relacionado
Supervisión de trabajos de Apache Spark en cuadernos
Supervisar la definición de trabajos de Apache Spark
Supervisar los detalles de aplicación de Apache Spark

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Examen de las aplicaciones de
Apache Spark en el centro de
supervisión de Fabric
Artículo • 13/05/2024

El centro de supervisión actúa como un portal centralizado para examinar las actividades
de Apache Spark entre elementos. En Ingeniería de datos o Ciencia de datos, puede ver
las aplicaciones de Apache Spark en curso desencadenadas desde cuadernos,
definiciones de trabajos de Apache Spark y canalizaciones. También puede buscar y
filtrar aplicaciones de Apache Spark en función de distintos criterios. Además, puede
cancelar las aplicaciones de Apache Spark en curso y explorar en profundidad para ver
más detalles de ejecución de una aplicación apache Spark.

Acceso al centro de supervisión


Puede acceder al centro de supervisión para ver varias actividades de Apache Spark al
seleccionar Centro de supervisión en los vínculos de navegación del lado izquierdo.

Opciones de ordenación, búsqueda, filtrado y


columna de aplicaciones Apache Spark
Para mejorar la facilidad de uso y la detectabilidad, puede ordenar las aplicaciones de
Apache Spark seleccionando columnas diferentes en la interfaz de usuario. También
puede filtrar las aplicaciones en función de columnas diferentes y buscar aplicaciones
específicas. También puede ajustar el criterio de visualización y ordenación de las
columnas de forma independiente a través de las opciones de columna.

Ordenación de aplicaciones de Apache Spark


Para ordenar las aplicaciones de Apache Spark, puede seleccionar en cada encabezado
de columna, como Nombre, Estado, Tipo de elemento, Hora de inicio, Ubicación y así
sucesivamente.

Filtro de aplicaciones de Apache Spark


Puede filtrar las aplicaciones de Apache Spark por Estado, Tipo de elemento, Hora de
inicio, Remitente y Ubicación mediante el panel Filtro en la esquina superior derecha.

Búsqueda de aplicaciones de Apache Spark


Para buscar aplicaciones específicas de Apache Spark, puede escribir determinadas
palabras clave en el cuadro de búsqueda ubicado en la esquina superior derecha.

Opciones de columna de aplicaciones de Apache Spark


Puede cambiar el orden en el que se muestran las listas seleccionando la lista que desea
mostrar y arrastrando las opciones de lista.

Habilitación de la vista ascendente para


canalizaciones relacionadas
Si ha programado definiciones de cuadernos y trabajos de Spark para que se ejecuten
en canalizaciones, puede ver las actividades de Spark desde estos cuadernos y
definiciones de trabajos de Spark en el centro de supervisión. Además, también puede
ver la canalización primaria correspondiente y todas sus actividades en el centro de
supervisión.

1. Seleccione la opción de columna Ejecución ascendente.


2. Vea la ejecución de canalización primaria relacionada en la columna Ejecución


ascendente y haga clic en la ejecución de canalización para ver todas sus
actividades.

Administración de una aplicación de


Apache Spark
Al mantener el puntero sobre una fila de aplicación de Apache Spark, puede ver varias
acciones de nivel de fila que le permiten administrar una aplicación de Apache Spark
determinada.

Visualización del panel de detalles de aplicación de


Apache Spark
Puede mantener el puntero sobre la fila de una aplicación de Apache Spark y hacer clic
en el icono Ver detalles para abrir el panel Detalles y ver más detalles sobre una
aplicación de Apache Spark.


Cancelación de una aplicación de Apache Spark
Si necesita cancelar una aplicación de Apache Spark en curso, mantenga el puntero
sobre su fila y haga clic en el icono Cancelar.

Vaya a la vista de detalles de aplicación de


Apache Spark.
Si necesita más información sobre las estadísticas de ejecución de Apache Spark,
acceder a los registros de Apache Spark o comprobar los datos de entrada y salida,
puede hacer clic en el nombre de una aplicación de Apache Spark para ir a su página de
detalles de aplicación de Apache Spark correspondiente.

Contenido relacionado
Resumen de supervisión de Apache Spark
Examinar las ejecuciones recientes del elemento
Supervisión de trabajos de Apache Spark en cuadernos
Supervisar la definición de trabajos de Apache Spark
Supervisar los detalles de aplicación de Apache Spark

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Examinar las ejecuciones recientes del
elemento
Artículo • 06/12/2023

Con Microsoft Fabric, use Apache Spark para ejecutar cuadernos, definiciones de
trabajos de Apache Spark, trabajos y otros tipos de aplicaciones en su área de trabajo.
En este artículo se explica cómo ver las aplicaciones de Apache Spark en ejecución, lo
que facilita el seguimiento del último estado de ejecución.

Ver el panel de ejecuciones recientes


Podemos abrir el panel Ejecuciones recientes siguiendo los pasos siguientes:

1. Abra la página principal de Microsoft Fabric y seleccione un área de trabajo donde


quiera ejecutar el trabajo.

2. Al seleccionar el menú Definición de trabajo de Spark \ contexto del elemento de


cuaderno \ contexto del elemento de canalización, se muestra la opción de
ejecución reciente.

3. Seleccione Ejecuciones recientes.

Abra el panel de ejecución reciente desde la Definición de trabajo de Spark \


contexto del elemento de cuaderno.

Abra el panel de ejecución reciente desde el contexto de elemento de


canalización.

Todas las ejecuciones dentro de un cuaderno


Para abrir el panel Ejecuciones recientes en un cuaderno, siga estos pasos:

1. Abra la página principal de Microsoft Fabric y seleccione un área de trabajo donde


quiera ejecutar el trabajo.

2. Abra un cuaderno en esta área de trabajo.

3. Selección de Ejecución ->Todas las ejecuciones


Detalles del panel de ejecución reciente


Si el cuaderno o la definición del trabajo de Spark no tienen ninguna operación de
ejecución, la página Ejecuciones recientes muestra No se encontraron trabajos.

En el panel Ejecuciones recientes, puede ver una lista de aplicaciones, que incluye
Nombre de la aplicación , Hora de envío, Remitente, Estado, Duración total, Tipo de
ejecución e Id. de Livy. Puede filtrar las solicitudes por su estado y hora de envío, lo que
le facilita la visualización de las solicitudes.


Al seleccionar el vínculo del nombre de la aplicación, se accede a los detalles de la
aplicación Spark, donde podemos ver los registros, los datos y los detalles de distorsión
de la ejecución de Spark.

Contenido relacionado
El siguiente paso después de ver la lista de aplicaciones de Apache Spark en ejecución
es ver los detalles de la aplicación. Puede hacer referencia a:

Supervisión detallada de aplicaciones Apache Spark

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Supervisión de trabajos de Spark en un
cuaderno
Artículo • 18/03/2024

El cuaderno de Microsoft Fabric es una superficie interactiva basada en web para


desarrollar trabajos de Apache Spark y realizar experimentos de aprendizaje automático.
En este artículo se describe cómo supervisar el progreso de los trabajos de Spark,
acceder a los registros de Spark, recibir asesoramiento en el cuaderno y navegar a la
vista de detalles de la aplicación Spark o a la interfaz de usuario de Spark para obtener
información de supervisión más completa para todo el cuaderno.

Supervisión del progreso del trabajo de Spark


Se proporciona un indicador de progreso del trabajo de Spark con una barra de
progreso en tiempo real que le ayuda a supervisar el estado de ejecución del trabajo
para cada celda del cuaderno. Puede ver el progreso del estado y las tareas en los
trabajos y fases de Spark.

Supervisión del uso de recursos


El gráfico de uso del ejecutor muestra visualmente la asignación de ejecutores de
trabajos de Spark y el uso de recursos. Actualmente, solo la información en tiempo de
ejecución de Spark 3.4 y versiones posteriores mostrará esta característica. Haga clic en
la pestaña Recursos: se mostrará el gráfico de líneas para el uso de recursos de la celda
de código.

Visualización de recomendaciones de Spark


Advisor
Un asesor de Spark integrado analiza el código de cuaderno y las ejecuciones de Spark
en tiempo real para ayudar a optimizar el rendimiento en ejecución del cuaderno y
ayudar a depurar errores. Hay tres tipos de consejos integrados: Información,
Advertencia y Error. Los iconos con números indican el recuento respectivo de consejos
en cada categoría (Información, Advertencia y Error) generado por el asesor de Spark
para una celda de cuaderno determinada.

Para ver los consejos, haga clic en la flecha al principio para expandir y mostrar los
detalles.

Tras ampliar la sección de asesores, se hacen visibles uno o varios consejos.

Detección de asimetría de Spark Advisor


La asimetría de datos es un problema común que los usuarios suelen encontrar. El
asesor de Spark admite la detección de sesgos y, si se detecta asimetría, se muestra un
análisis correspondiente a continuación.

Acceso a los registros en tiempo real de Spark


Los registros de Spark son esenciales para buscar excepciones y diagnosticar el
rendimiento o los errores. La característica de supervisión contextual del cuaderno le
lleva los registros directamente a la celda específica que está ejecutando. Puede buscar
en los registros o filtrarlos por errores y advertencias.

Vaya a detalles de supervisión de Spark y a la


interfaz de usuario de Spark
Si desea acceder a información adicional sobre la ejecución de Spark a nivel de
cuaderno, puede navegar a la página de detalles de la aplicación Spark o a la interfaz de
usuario de Spark a través de las opciones disponibles en el menú contextual.

Contenido relacionado
Más información sobre el asesor de Spark
Supervisión detallada de aplicaciones Apache Spark
Uso del servidor de historial de Spark extendido para depurar aplicaciones

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Supervise la definición del trabajo de
Apache Spark
Artículo • 06/12/2023

Con la supervisión insertada del elemento de definición de trabajo de Spark, puede


realizar un seguimiento de lo siguiente:

Supervise el progreso y el estado de una definición de trabajo de Spark en


ejecución.
Vea el estado y la duración de las ejecuciones anteriores de la definición del
trabajo de Spark.

Puede obtener esta información desde el menú contextual Ejecuciones recientes en el


área de trabajo o explorando las actividades de definición de trabajo de Spark en el
centro de supervisión.

Supervisión insertada de la definición de


trabajos de Spark
La característica de supervisión insertada de definición de trabajo de Spark permite ver
el envío de la definición de trabajo de Spark y el estado de ejecución en tiempo real.
También puede ver las ejecuciones y configuraciones anteriores de la definición de
trabajo Spark y navegar a la página Detalle de la aplicación Spark para ver más detalles.


Vista de elemento de definición de trabajo de
Spark en el área de trabajo
Puede acceder a las ejecuciones de trabajo asociadas con elementos específicos de
definición de trabajo de Spark utilizando el menú contextual Ejecución reciente en la
página de inicio del área de trabajo.

La definición de trabajo de Spark se ejecuta en


el centro de supervisión
Para ver todas las aplicaciones de Spark relacionadas con una definición de trabajo de
Spark, vaya al Centro de supervisión . Ordene o filtre la columna Tipo de elemento para
ver todas las actividades de ejecución asociadas con las definiciones de trabajo de
Spark.

Contenido relacionado
El siguiente paso después de ver los detalles de una aplicación de Apache Spark es ver
el progreso del trabajo de Spark debajo de la celda Notebook. Puede hacer referencia a

Supervisión de detalles de la aplicación Spark

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Supervisión detallada de aplicaciones
Apache Spark
Artículo • 19/11/2023

Con Microsoft Fabric, use Apache Spark para ejecutar cuadernos, trabajos y otros tipos
de aplicaciones en su área de trabajo. En este artículo se explica cómo supervisar las
aplicaciones Apache Spark, lo que le permite vigilar el estado de ejecución más reciente,
los problemas y el progreso de sus trabajos.

Visualización de aplicaciones de Apache Spark


Puede ver todas las aplicaciones de Apache Spark desde la Definición del trabajo de
Spark o el menú contextual del elemento de cuaderno muestra la opción de ejecución
reciente ->Ejecuciones recientes.

Puede seleccionar el nombre de la aplicación que desea ver en la lista de aplicaciones,


en la página de detalles de la aplicación puede ver los detalles de la aplicación.

Supervisión del estado de la aplicación Apache


Spark
Abra la página Ejecuciones recientes del cuaderno o la definición de trabajo de Spark;
puede ver el estado de la aplicación Apache.
Correcto

En cola

Detenido

Canceled

Con errores

Trabajos
Abra un trabajo de aplicación de Apache Spark desde el menú contextual Definición de
trabajo de Spark o elemento de cuaderno que muestra la opción Ejecución reciente -
>Ejecuciones recientes -> seleccione un trabajo en la página ejecuciones recientes.

En la página de detalles de supervisión de aplicaciones de Apache Spark, la lista de


ejecuciones de trabajos se muestra en la pestaña Trabajos, puede ver los detalles de
cada trabajo aquí, incluido el identificador de trabajo, la descripción, el estado, las
fases, las tareas, la duración, los datos procesados, los datos leídos, los datos escritos y
el fragmento de código.

Al hacer clic en Id. de trabajo, puede expandir o contraer el trabajo.


Haga clic en la descripción del trabajo, puede ir a la página de trabajo o fase en la
interfaz de usuario de Spark.
Haga clic en el fragmento de código del trabajo, puede comprobar y copiar el
código relacionado con este trabajo.

Recursos (versión preliminar)


El gráfico de uso del ejecutor muestra visualmente la asignación de ejecutores de
trabajos de Spark y el uso de recursos. Actualmente, solo la información en tiempo de
ejecución de Spark 3.4 y versiones posteriores mostrará esta característica. Cunado
seleccione Recursos (versión preliminar), se dibujarán cuatro curvas de tipos sobre el
uso del ejecutor, incluidas En ejecución, Inactivos, Asignados y Máximo de instancias.

Asignados hace referencia a la situación principal que se asigna durante la


ejecución de la aplicación Spark.

Número máximo de instancias hace referencia al número máximo de núcleos


asignados a la aplicación Spark.

En Ejecución hace referencia al número real de núcleos que usa la aplicación Spark
cuando se ejecuta. Haga clic en un punto temporal dado mientras se ejecuta la
aplicación Spark. Puede ver los detalles de asignación principal del ejecutor en
ejecución en la parte inferior del gráfico.

Para Inactivos, es el número de núcleos sin usar mientras se ejecuta la aplicación


Spark.

A veces, para algún punto temporal el número de tareas puede superar la capacidad de
los núcleos del ejecutor (es decir, números de tarea > núcleos de ejecutor
total/[Link]). Esto es lo esperado, ya que existe un lapso de tiempo entre una
tarea marcada como en ejecución y su ejecución real en un núcleo del ejecutor. Por lo
tanto, es posible que algunas tareas se muestren como en ejecución, pero no se
ejecuten en ningún núcleo.

Seleccione el icono de color para seleccionar o anular la selección del contenido


correspondiente en todos los gráficos.

Panel de resumen
En la página de supervisión de aplicaciones de Apache Spark, haga clic en el botón
Propiedades para abrir o contraer el panel de resumen. Puede ver los detalles de esta
aplicación en Detalles.

Estado de esta aplicación de Spark.


El identificador de esta aplicación de Spark.
Duración total.
Duración de ejecución de esta aplicación de Spark.
Duración en cola para esta aplicación de Spark.
Id. de Livy
Remitente de esta aplicación de Spark.
Tiempo de envío para esta aplicación de Spark.
Número de ejecutores.

Registros
Para la pestaña Registros, puede ver el registro completo de Livy, Inicio previo y
Registro de controladores con diferentes opciones seleccionadas en el panel izquierdo.
Y puede recuperar directamente la información de registro necesaria buscando palabras
clave y ver los registros filtrando el estado del registro. Haga clic en Descargar registro
para descargar la información del registro en el entorno local.
A veces no hay registros disponibles, ya que el estado del trabajo está en cola y se
produce un error en la creación del clúster.

Los registros activos solo están disponibles cuando se produce un error en el envío de la
aplicación y también se proporcionan registros de controladores.

Data
En la pestaña Datos, puede copiar la lista de datos en el Portapapeles, descargar la lista
de datos y los datos únicos y comprobar las propiedades de cada dato.

El panel izquierdo se puede expandir o contraer.


El nombre, el formato de lectura, el tamaño, el origen y la ruta de acceso de los
archivos de entrada y salida se mostrarán en esta lista.
Los archivos de entrada y salida se pueden descargar, copiar la ruta de acceso y
ver las propiedades.

Elementos relacionados
La pestaña Elementos relacionados permite examinar y ver los elementos asociados a la
aplicación de Apache Spark, incluidos cuadernos, definición de trabajo de Spark o
canalizaciones. La página de elementos relacionados muestra la instantánea de los
valores de código y parámetro en el momento de la ejecución de Notebooks. También
muestra la instantánea de todos los parámetros y configuraciones en el momento del
envío para las definiciones de trabajos de Spark. Si la aplicación de Apache Spark está
asociada a una canalización, la página de elementos relacionados también presenta la
canalización correspondiente y la actividad de Spark.

En la pantalla Elementos relacionados, puede:

Examine y navegue por los elementos relacionados en el árbol jerárquico.


Haga clic en el icono de puntos suspensivos "Una lista de más acciones" de cada
elemento para realizar diferentes acciones.
Haga clic en el elemento de instantánea para ver su contenido.
Vea la ruta de navegación para ver la ruta de acceso del elemento seleccionado a
la raíz.

Diagnóstico
El panel de diagnóstico proporciona a los usuarios recomendaciones en tiempo real y
análisis de errores, que el Asesor de Spark genera a través de un análisis del código del
usuario. Con los patrones integrados, el Asesor de Apache Spark ayuda a los usuarios a
evitar errores comunes y a analizar los errores para identificar su causa principal.

Pasos siguientes
El siguiente paso después de ver los detalles de una aplicación de Apache Spark es ver
el progreso del trabajo de Spark debajo de la celda Notebook. Puede hacer referencia
a:

Supervisión y depuración contextuales de Notebook

Comentarios
¿Le ha resultado útil esta página?  Sí  No
Proporcionar comentarios sobre el producto | Preguntar a la comunidad
Análisis de series de ejecución de
Apache Spark
Artículo • 18/06/2024

La serie de ejecución de Apache Spark clasifica automáticamente lo siguiente en la serie


de ejecución correspondiente:

Las aplicaciones Apache Spark de las actividades de canalización periódicas o las


ejecuciones manuales de cuaderno.
El trabajo de Apache Spark se ejecuta desde el mismo cuaderno o definición de
trabajo de Apache Spark en la serie de ejecución correspondiente.

La característica de serie de ejecución representa visualmente la tendencia de duración


de cada instancia de aplicación de Spark junto con la línea de tendencia de entrada y
salida de datos correspondientes para las aplicaciones Spark. También examina
automáticamente la serie de ejecución y detecta si hay ejecuciones anómalas de la
aplicación Spark. Esta característica le permite ver los detalles de una aplicación Spark
determinada.

Acceso a la característica de análisis de series


de ejecución
Puede acceder a la característica de análisis de series de ejecución a través de la vista
histórica del centro de supervisión:

1. Abra el portal de Microsoft Fabric y vaya al menú Centro de supervisión.

2. Abra la definición del trabajo de Spark o el cuaderno y expanda la lista


desplegable Más opciones y, a continuación, seleccione Ejecuciones históricas.

3. Seleccione el trabajo que desea ver y expanda Más opciones y, a continuación,


seleccione Análisis de series de ejecución.


Puede acceder a la característica de análisis de series de ejecución desde el panel de
ejecuciones recientes de la definición de trabajo de Spark o cuaderno:

1. Abra la página principal de Microsoft Fabric y seleccione un área de trabajo donde


quiera visualizar el trabajo.

2. Al seleccionar la definición de trabajo de Spark o el menú contextual del


elemento de cuaderno, se muestra la opción de ejecución reciente.

3. Seleccione Ejecuciones recientes.

4. seleccione una aplicación y expanda su lista desplegable Más opciones y, a


continuación, seleccione Análisis de series de ejecución.

Puede acceder a la característica del análisis de series de ejecución desde la página


Detalles de supervisión de la aplicación Spark:

1. Vaya a la página Detalles de supervisión de la aplicación Apache Spark.

2. Seleccione la opción Análisis de series de ejecución.

Consultar el rendimiento de la aplicación Spark


En el gráfico de ejecuciones de Spark, puede ver la tendencia de duración de esta serie
de ejecución. Cada barra vertical representa una instancia de la ejecución de actividad
del cuaderno/definición de trabajo de Spark, con la altura que indica la duración de la
ejecución. También puede seleccionar cada instancia de ejecución para ver información
más detallada y acercar o alejar ventanas de tiempo específicas.

Duration
Duración(Anomalía)
Bytes de lectura
Bytes de escritura

Seleccione el icono de color para seleccionar o anular la selección del contenido


correspondiente en todos los gráficos.

Al seleccionar una instancia de la ejecución de actividad del cuaderno/definición de


trabajo de Spark en el gráfico, la distribución de tiempo de duración de la instancia, la
distribución de ejecución de ejecutores y la configuración de Spark se detallan en la
parte inferior del gráfico.

El modo de enfoque permite expandir un objeto visual para verlo con mayor detalle.
Quizá tenga un objeto visual que está un poco amontonado y desea acercarlo. Esta
función es un uso perfecto del modo de enfoque.

Si la barra está marcada en rojo, se ha detectado una excepción para esa instancia de
ejecución. Puede ver esta información: duración total, duración esperada y posibles
causas de esta instancia en el panel Anomalías.

Contenido relacionado
Introducción a la ejecución de análisis de series
Resumen de supervisión de Apache Spark
Examinar las ejecuciones recientes del elemento
Supervisión de trabajos de Apache Spark en cuadernos
Supervisar la definición de trabajos de Apache Spark
Supervisar los detalles de aplicación de Apache Spark

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Uso del servidor de historial de Apache
Spark extendido para depurar y
diagnosticar aplicaciones Spark
Artículo • 13/03/2024

En este artículo se proporcionan instrucciones sobre cómo usar el servidor de historial


de Apache Spark para depurar y diagnosticar las aplicaciones Spark en ejecución y
completadas.

Acceso al servidor de historial de Apache Spark


El servidor de historial de Apache Spark es la interfaz de usuario web para aplicaciones
Spark completadas y en ejecución. Puede abrir la interfaz de usuario web de Apache
Spark desde el cuaderno del indicador de progreso o la página de detalles de la
aplicación Apache Spark.

Abrir la interfaz de usuario web de Spark desde el


cuaderno indicador de progreso
Cuando se activa un trabajo de Apache Spark, el botón para abrir Spark web UI se
encuentra dentro de la opción Más acciones del indicador de progreso. Seleccione
Spark web UI y espere unos segundos, entonces aparecerá la página Spark UI.

Abrir la interfaz web de Spark desde la página de detalles


de la aplicación Apache Spark
La interfaz web de Spark también puede abrirse a través de la página de detalles de la
aplicación Apache Spark. Seleccione Centro de supervisión en la parte izquierda de la
página y, a continuación, seleccione una aplicación Apache Spark. Aparecerá la página
de detalles de la aplicación.

Para una aplicación Apache Spark cuyo estado es en ejecución, el botón muestra
Interfaz de usuario de Spark. Seleccione Interfaz de usuario de Spark y aparecerá la
página Interfaz de usuario de Spark.

Para una aplicación Apache Spark cuyo estado es finalizado, el estado finalizado puede
ser Detenido, Erróneo, Cancelado, o Completado. El botón muestra Servidor de
historial de Spark. Seleccione Servidor de historial de Spark y aparecerá la página de
Interfaz de usuario de Spark.

Pestaña Gráfico en el servidor de historial de


Apache Spark
Seleccione el id. del trabajo que quiere ver. Después, seleccione Gráfico en el menú de
herramientas para obtener la vista de gráfico del trabajo.

Información general
Puede ver la información general del trabajo en el gráfico generado. De forma
predeterminada, el gráfico muestra todos los trabajos. Puede filtrar esta vista por Id. de
trabajo.

Pantalla
De forma predeterminada, está seleccionada la opción para mostrar Progreso. Puede
comprobar el flujo de datos; para ello, seleccione Read (Leído) o Written (Escrito) en la
lista desplegable Mostrar.

El nodo de gráfico muestra los colores descritos en la leyenda del mapa térmico.

Reproducción
Para reproducir el trabajo, seleccione Reproducir. Puede seleccionar Detener en
cualquier momento para detener el proceso. Los colores de las tareas muestran distintos
estados durante la reproducción:

ノ Expandir tabla

Color Significado

Verde Correcto: el trabajo se ha completado correctamente.

Naranja Reintentadas: Instancias de tareas que no funcionaron pero que no afectan al resultado
final del trabajo. Estas tareas tenían instancias duplicadas o de reintentos que pueden
realizarse correctamente más tarde.

Azul En ejecución: la tarea se está ejecutando.

Blanco En espera u omitido: la tarea está esperando para ejecutarse o la fase se ha omitido.

Rojo Con errores: error en la tarea.

La siguiente imagen muestra los colores de estado verde, naranja y azul.


La siguiente imagen muestra los colores de estado verde y blanco.

La siguiente imagen muestra los colores de estado rojo y verde.

7 Nota

El servidor de historial de Apache Spark permite la reproducción de cada trabajo


completado (pero no permite la reproducción de trabajos incompletos).

Zoom
Use la rueda del mouse para acercar y alejar el gráfico del trabajo o seleccione Ajustar al
tamaño para ajustarlo a la pantalla.

Información sobre herramientas


Mantenga el mouse sobre el nodo del gráfico para ver la información sobre
herramientas cuando haya tareas con errores y seleccione una fase para abrir su página.

En la pestaña del gráfico de trabajo, las fases tienen información sobre herramientas y
se muestra un icono pequeño si tienen tareas que cumplen las siguientes condiciones:

ノ Expandir tabla

Condición Descripción

Asimetría de Tamaño de lectura de datos > tamaño medio de lectura de datos de todas las
datos tareas dentro de esta etapa * 2 y tamaño de lectura de datos > 10 MB.

Desfase Tiempo de ejecución > tiempo medio de ejecución de todas las tareas de esta
horario fase * 2 y tiempo de ejecución > 2 minutos.

Descripción del nodo de gráfico


El nodo de gráfico de trabajo muestra la siguiente información de cada fase:

ID
Nombre o descripción
Número total de tareas
Datos leídos: suma del tamaño de entrada y el tamaño de lectura aleatorio
Escritura de datos: la suma del tamaño de salida y el tamaño de las escrituras
aleatorias
Tiempo de ejecución: tiempo entre la hora de inicio del primer intento y la hora de
finalización del último intento
Recuento de filas: la suma de registros de entrada, registros de salida, registros de
lectura aleatoria y registros de escritura aleatoria.
Progreso

7 Nota

De forma predeterminada, el nodo del gráfico del trabajo muestra la información


del último intento de cada fase (excepto en el tiempo de ejecución de la fase). Sin
embargo, durante la reproducción, el nodo del gráfico muestra la información de
cada intento.

El tamaño de los datos de lectura y escritura es 1MB = 1000 KB = 1000 * 1000


bytes.

Envío de comentarios
Seleccione Proporcione sus comentarios para enviar comentarios sobre incidencias.

Examen de la pestaña Diagnóstico en el


servidor de historial de Apache Spark
Para acceder a la pestaña Diagnóstico, seleccione un Id. de trabajo. Después, seleccione
Diagnóstico en el menú de herramientas para obtener la vista Diagnóstico del trabajo.
La pestaña de diagnóstico incluye Asimetría de datos, Desfase horario y Análisis de uso
del ejecutor.

Para comprobar la Asimetría de datos, el Desfase horario y el Análisis de uso del


ejecutor, seleccione las pestañas respectivamente.

Asimetría de datos
Cuando seleccione la pestaña Asimetría de datos, se mostrarán las tareas con sesgos
según los parámetros especificados.

Especificar parámetros: la primera sección muestra los parámetros que se usan


para detectar la Asimetría de datos. La regla predeterminada es: los datos de tarea
leídos son más de tres veces la media de los datos de tarea leídos, y los datos de
tarea leídos son más de 10 MB. Si desea definir su propia regla para las tareas
sesgadas, puede elegir los parámetros. Las secciones Skewed Stage (Fase sesgada)
y Skew Chart (Gráfico de sesgo) se actualizarán en consecuencia.

Fase sesgada: la segunda sección muestra las etapas que tienen tareas sesgadas
que cumplen los criterios especificados anteriormente. Si hay más de una tarea
sesgada en una etapa, la tabla de etapas sesgadas sólo muestra la tarea más
sesgada (por ejemplo, los datos más grandes para el sesgo de datos).

Gráfico de sesgo: cuando se selecciona una fila de la tabla de etapas de sesgo, el


gráfico de sesgo muestra más detalles de la distribución de tareas en función de
los datos leídos y el tiempo de ejecución. Las tareas sesgadas se marcan en rojo y
las tareas normales se marcan en azul. El gráfico muestra hasta 100 tareas de
ejemplo y los detalles de la tarea se muestran en el panel inferior derecho.

Desfase horario
En la pestaña Desfase horario se muestran las tareas sesgadas en función del tiempo de
ejecución de la tarea.
Especificar parámetros: la primera sección muestra los parámetros que se utilizan
para detectar la inclinación del tiempo. Los criterios predeterminados para detectar
el desfase horario son: el tiempo de ejecución de la tarea es mayor que tres veces
el tiempo de ejecución promedio y el tiempo de ejecución de la tarea es superior a
30 segundos. Puede cambiar los parámetros en función de sus necesidades. Las
secciones Fase sesgada y Gráfico sesgado muestran la información de las fases y
tareas correspondientes, al igual que la pestaña Datos sesgados descrita
anteriormente.

Seleccione Desfase horario y, después, se muestran los resultados filtrados en la


sección Fase sesgada según los parámetros establecidos en la sección Especificar
parámetros. Seleccione un elemento en la sección Fase sesgada, entonces el
gráfico correspondiente se dibuja en la sección 3, y los detalles de la tarea se
muestran en el panel inferior derecho.

Análisis de uso del ejecutor


Esta característica ha quedado en desuso en Fabric. Si todavía quiere usar esto como
solución alternativa, acceda a la página agregando explícitamente "/executorusage" al
final de la ruta de acceso "/diagnostic" en la dirección URL, de la siguiente manera:

Contenido relacionado
Resumen de supervisión de Apache Spark
Examinar elemento ejecuciones recientes
Supervisión de trabajos de Apache Spark en cuadernos
Supervisar la definición de trabajos de Apache Spark
Supervisar los detalles de aplicación de Apache Spark

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Supervisión del consumo de capacidad
de Spark
Artículo • 15/11/2023

El propósito de este artículo es ofrecer instrucciones para los administradores que


quieran supervisar las actividades en las capacidades que administran. Mediante el uso
de los informes de consumo de capacidad de Spark disponibles en la aplicación
Métricas de capacidad de Microsoft Fabric, los administradores pueden obtener
información sobre el consumo de capacidad de Spark facturable para los elementos de
carga de trabajo de Spark, como una instancia de Lakehouse, un cuaderno y las
definiciones de trabajos de Spark. Algunas actividades de consumo de capacidad de
Spark no se notifica en la aplicación.

Consumo de capacidad de Spark notificado


Las siguientes operaciones de los lagos de datos, cuadernos y definiciones de trabajos
de Spark se tratan como actividades facturables.

Nombre de operación Elemento Comentarios

Operaciones de Lakehouse Los usuarios pueden obtener una vista previa de


Lakehouse la tabla en el explorador de Lakehouse.

Carga de tabla de Lakehouse Los usuarios cargan la tabla delta en el


Lakehouse explorador de Lakehouse.

Ejecución del cuaderno Cuaderno de Los usuarios ejecutan manualmente el cuaderno


Synapse de Synapse.

Ejecución del cuaderno Cuaderno de El cuaderno de Synapse se ejecuta en la sesión


HC Synapse de Spark de alta simultaneidad.

Ejecución programada Cuaderno de El cuaderno de Synapse se ejecuta


del cuaderno Synapse desencadenado por eventos programados del
cuaderno.

Ejecución de canalización Cuaderno de El cuaderno de Synapse se ejecuta


del cuaderno Synapse desencadenado por la canalización.

Ejecución de VS Code del Cuaderno de El cuaderno de Synapse se ejecuta en VS Code.


cuaderno Synapse

Ejecución de trabajo de Definición de El trabajo por lotes de Spark se ejecuta iniciado


Spark trabajo de Spark por el envío del usuario.
Nombre de operación Elemento Comentarios

Ejecución programada Definición de El trabajo por lotes de Synapse se ejecuta


del trabajo de Spark trabajo de Spark desencadenado por eventos programados del
cuaderno.

Ejecución de canalización Definición de Ejecuciones de trabajo por lotes de Synapse


de trabajo de Spark trabajo de Spark desencadenados por la canalización.

Ejecución de VS Code del Definición de Definición de trabajo de Spark de Synapse


trabajo de Spark trabajo de Spark enviada desde VS Code.

Consumo de capacidad de Spark que no se


notifica
Hay algunas actividades de consumo de capacidad de Spark que no se notifican en la
aplicación de métricas. Estas actividades incluyen trabajos de Spark del sistema para la
administración de bibliotecas y determinados trabajos de Spark del sistema para el
grupo de Spark Live o sesiones en directo.

Administración de bibliotecas: el consumo de capacidad asociado a la


administración de bibliotecas en el nivel de área de trabajo no se notifica en la
aplicación de métricas.

Trabajos de Spark del sistema: el consumo de capacidad de Spark que no está


asociado a un cuaderno, una definición de trabajo de Spark o un lago de datos no
se incluye en los informes de capacidad.

Informes de consumo de capacidad


Todas las operaciones relacionadas con Spark se clasifican como operaciones en
segundo plano. El consumo de capacidad de Spark se muestra en un cuaderno, una
definición de trabajo de Spark o un lago de datos, y se agrega por nombre de operación
y elemento.

Informe de operaciones en segundo plano


Las operaciones en segundo plano se muestran para un punto de tiempo específico. En
la tabla del informe, cada fila hace referencia a una operación de usuario. Revise la
columna Usuario para identificar quién realizó una operación específica. Si necesita más
información sobre una operación específica, puede usar su identificador de operación
para buscarlo en el centro de supervisión de Microsoft Fabric.

Pasos siguientes
Instalación de la aplicación de métricas de Premium
Uso de la aplicación de métricas de Premium

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Supervisión de aplicaciones de Apache
Spark con Azure Log Analytics (versión
preliminar)
Artículo • 05/11/2024

La extensión de emisor de diagnóstico de Apache Spark de Fabric es una biblioteca que


permite a las aplicaciones de Apache Spark emitir registros, registros de eventos y
métricas a varios destinos, incluidos Azure Log Analytics, Azure Storage y Azure Event
Hubs.

En este tutorial, aprenderá a configurar y emitir registros y métricas de Spark a Log


Analytics en Fabric. Una vez configurado, puede recopilar y analizar métricas y registros
de aplicaciones de Apache Spark en el área de trabajo de Log Analytics.

Configuración de la información del área de


trabajo
Siga estos pasos para configurar la información necesaria en Fabric.

Paso 1: Creación de un área de trabajo de Log Analytics


Consulte uno de los siguientes recursos para crear este área de trabajo:

Creación de un área de trabajo en Azure Portal.


Creación de un área de trabajo con la CLI de Azure.
Creación y configuración de un área de trabajo en Azure Monitor con PowerShell.

Paso 2: Creación de un artefacto de entorno de Fabric con


la configuración de Apache Spark
Para configurar Spark, cree un artefacto de entorno de Fabric y elija una de las
siguientes opciones:

Opción 1: Configuración con el identificador y la clave del área de


trabajo de Log Analytics

1. Creación de un artefacto de entorno de Fabric en Fabric


2. Agregue las siguientes propiedades de Spark con los valores adecuados al
artefacto de entorno o seleccione Agregar desde .yml en la cinta de opciones para
descargar el archivo yaml de ejemplo , que ya contiene las propiedades
necesarias.

<LOG_ANALYTICS_WORKSPACE_ID> : identificador del área de trabajo de Log

Analytics.
<LOG_ANALYTICS_WORKSPACE_KEY> : clave de Log Analytics. Para encontrarla, en

Azure Portal, vaya a Área de trabajo de Azure Log Analytics>Agentes>Clave


principal.

properties

[Link]: LA
[Link]: "AzureLogAnalytics"
[Link]: "Log,EventLog,Metrics"
[Link]:
<LOG_ANALYTICS_WORKSPACE_ID>
[Link]:
<LOG_ANALYTICS_WORKSPACE_KEY>
[Link]: "true" //Add this Spark property
when using the default pool.

Como alternativa, para aplicar la misma configuración que Azure Synapse, use las
siguientes propiedades o seleccione Agregar desde .yml en la cinta de opciones
para descargar el archivo yaml de ejemplo .

properties

[Link]: "true"
[Link]: <LOG_ANALYTICS_WORKSPACE_ID>
[Link]: <LOG_ANALYTICS_WORKSPACE_KEY>
[Link]: "true" //Add this Spark property
when using the default pool.

3. Guarde y publique los cambios.

Opción 2: Configuración con Azure Key Vault

7 Nota

Problema conocido: provisionalmente, no se puede iniciar una sesión con la


opción 2. Actualmente, almacenar los secretos en Key Vault impide que se inicien
las sesiones de Spark. Dé prioridad a la configuración mediante el método descrito
en la opción 1.

Debe conceder permiso de lectura de secretos a los usuarios que vayan a enviar
aplicaciones Apache Spark. Para más información, consulte Acceso a las claves, los
certificados y los secretos de Key Vault con un control de acceso basado en rol
de Azure.

Para configurar Azure Key Vault para almacenar la clave del área de trabajo, siga estos
pasos:

1. Vaya al almacén de claves en Azure Portal.

2. En la página de configuración del almacén de claves, seleccione Secretos y, a


continuación, Generar/importar.

3. En la pantalla Crear un secreto, escriba los siguientes valores:

Nombre: escriba un nombre para el secreto. Como valor predeterminado,


escriba SparkLogAnalyticsSecret .
Valor: escriba el valor de <LOG_ANALYTICS_WORKSPACE_KEY> del secreto.
Deje las restantes opciones con sus valores predeterminados. Seleccione
Crear.

4. Creación de un artefacto de entorno de Fabric en Fabric

5. Agregue las siguientes propiedades de Spark con los valores correspondientes al


artefacto de entorno o seleccione Agregar desde .yml en la cinta de opciones para
descargar el archivo yaml de ejemplo , que incluye las siguientes propiedades de
Spark.

<LOG_ANALYTICS_WORKSPACE_ID> : identificador del área de trabajo de Log

Analytics.
<AZURE_KEY_VAULT_NAME> : el nombre del almacén de claves que configuró.
<AZURE_KEY_VAULT_SECRET_KEY_NAME> (opcional): el nombre del secreto en el

almacén de claves para la clave del área de trabajo. El valor predeterminado


es SparkLogAnalyticsSecret .

properties

// Spark properties for LA


[Link] LA
[Link]: "AzureLogAnalytics"
[Link]: "Log,EventLog,Metrics"
[Link]:
<LOG_ANALYTICS_WORKSPACE_ID>
[Link]:
<AZURE_KEY_VAULT_NAME>
[Link]:
<AZURE_KEY_VAULT_SECRET_KEY_NAME>
[Link]: "true" //Add this Spark property
when using the default pool.

Como alternativa, para aplicar la misma configuración que Azure Synapse, use las
siguientes propiedades o seleccione Agregar desde .yml en la cinta de opciones
para descargar el archivo yaml de ejemplo .

properties

[Link]: "true"
[Link]: <LOG_ANALYTICS_WORKSPACE_ID>
[Link]: <AZURE_KEY_VAULT_NAME>
[Link]:
<AZURE_KEY_VAULT_SECRET_KEY_NAME>
[Link]: "true" //Add this Spark property
when using the default pool.

7 Nota

También puede almacenar el identificador del área de trabajo en Key Vault.


Establezca el nombre del secreto en SparkLogAnalyticsWorkspaceId o use la
configuración [Link] para
especificar el nombre del secreto del identificador del área de trabajo.

Para obtener una lista de las configuraciones de Apache Spark, consulte


Configuraciones de Apache Spark disponibles.

6. Guarde y publique los cambios.

Paso 3: Adjuntar el artefacto de entorno a cuadernos o


definiciones de trabajos de Spark, o establecerlo como el
valor predeterminado del área de trabajo
Para adjuntar el entorno a cuadernos o definiciones de trabajos de Spark:

1. Vaya a su cuaderno o definición de trabajo de Spark en Fabric.


2. Seleccione el menú Entorno en la pestaña Inicio y seleccione el entorno
configurado.
3. La configuración se aplicará después de iniciar una sesión de Spark.

Para establecer el entorno como valor predeterminado del área de trabajo:

1. Vaya a Configuración del área de trabajo en Fabric.


2. Busque la configuración de Spark en la configuración del área de trabajo
(Configuración del área de trabajo -> Ingeniería/ciencia de datos -
>Configuración de Spark)
3. Seleccione la pestaña Entorno, elija el entorno con las propiedades de Spark de
diagnóstico configuradas y haga clic en Guardar.

7 Nota

Solo los administradores del área de trabajo pueden administrar las


configuraciones. Los valores se aplicarán a los cuadernos y las definiciones de
trabajos de Spark que se adjunten a la configuración del área de trabajo. Para
obtener más información, consulte Configuración del área de trabajo de Fabric.

Envío de una aplicación Apache Spark y


visualización de los registros y métricas
Para enviar una aplicación Apache Spark:

1. Envíe una aplicación Apache Spark, con el entorno asociado, que se configuró en
el paso anterior. Para ello, puede usar cualquiera de los siguientes métodos:

Ejecute un cuaderno en Fabric.


Envíe un trabajo por lotes de Apache Spark mediante una definición de
trabajo de Apache Spark.
Ejecute las actividades de Spark en las canalizaciones.

2. Vaya al área de trabajo de Log Analytics especificada y, luego, vea las métricas y
los registros de la aplicación cuando la aplicación Apache Spark empiece a
ejecutarse.

Escritura de registros de aplicaciones


personalizados
Puede usar la biblioteca Log4j de Apache para escribir registros personalizados. Estos
son ejemplos de Scala y PySpark:
Ejemplo de Scala:

Scala

%%spark
val logger =
[Link]("[Link]")
[Link]("info message")
[Link]("warn message")
[Link]("error message")
//log exception
try {
1/0
} catch {
case e:Exception =>[Link]("Exception", e)
}
// run job for task level metrics
val data = [Link](Seq(1,2,3,4)).toDF().count()

Ejemplo de PySpark:

Python

%%pyspark
logger =
sc._jvm.[Link]("[Link]
le")
[Link]("info message")
[Link]("warn message")
[Link]("error message")

Consulta de datos con Kusto


Para consultar eventos de Apache Spark:

Kusto

SparkListenerEvent_CL
| where fabricWorkspaceId_g == "{FabricWorkspaceId}" and artifactId_g == "
{ArtifactId}" and fabricLivyId_g == "{LivyId}"
| order by TimeGenerated desc
| limit 100

Para consultar los registros del ejecutor y el controlador de la aplicación Spark:

Kusto
SparkLoggingEvent_CL
| where fabricWorkspaceId_g == "{FabricWorkspaceId}" and artifactId_g == "
{ArtifactId}" and fabricLivyId_g == "{LivyId}"
| order by TimeGenerated desc
| limit 100

Para consultar métricas de Apache Spark:

Kusto

SparkMetrics_CL
| where fabricWorkspaceId_g == "{FabricWorkspaceId}" and artifactId_g == "
{ArtifactId}" and fabricLivyId_g == "{LivyId}"
| where name_s endswith "[Link]"
| summarize max(value_d) by bin(TimeGenerated, 30s), executorId_s
| order by TimeGenerated asc

Límites de datos
Fabric envía datos de registro a Azure Monitor mediante HTTP Data Collector API. Los
datos publicados en la API de recopilación de datos de Azure Monitor están sujetos a
ciertas restricciones:

Máximo de 30 MB por publicación en Data Collector API de Azure Monitor. Se


trata de un límite de tamaño para una sola publicación. Si los datos de una única
publicación superan los 30 MB, debe dividir los datos en fragmentos más
pequeños y enviarlos al mismo tiempo.
Límite de 32 KB para los valores de campo. Si el valor del campo es mayor que
32 KB, se truncan los datos.
Se recomienda un máximo de 50 campos para un tipo determinado. Se trata de un
límite práctico desde una perspectiva de la experiencia de búsqueda y la facilidad
de uso.
Las tablas de las áreas de trabajo de Log Analytics solo admiten hasta
500 columnas.
Máximo de 45 caracteres para los nombres de columna.

Creación y administración de alertas


Los usuarios pueden realizar consultas para evaluar las métricas y los registros según
una frecuencia establecida y activar una alerta en función de los resultados. Para más
información, consulte Creación, visualización y administración de alertas de registro
mediante Azure Monitor.
Áreas de trabajo de Fabric con red virtual
administrada
Actualmente, no se puede seleccionar Azure Log Analytics como destino para los
registros de Spark y la emisión de métricas en una red virtual administrada porque el
punto de conexión privado administrado no admite Log Analytics como origen de
datos.

Pasos siguientes
Tutorial: Uso de Azure Synapse Analytics para crear definiciones de trabajos de
Spark y enviarlas a un grupo de Synapse Spark
Creación, configuración y uso de un entorno en Microsoft Fabric
Creación y uso de puntos de conexión privados administrados en Microsoft Fabric
Desarrollo, ejecución y administración de cuadernos de Microsoft Fabric
Supervisión de aplicaciones Spark

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Recopilación de los registros de
aplicaciones y las métricas de Apache
Spark mediante la cuenta de Azure
Storage (versión preliminar)
Artículo • 06/11/2024

La extensión de emisor de diagnóstico de Apache Spark de Fabric es una biblioteca que


permite a las aplicaciones de Apache Spark emitir registros, registros de eventos y
métricas a varios destinos, incluidos Azure Log Analytics, Azure Storage y Azure Event
Hubs.

En este tutorial aprenderá a usar la extensión de emisión de diagnósticos de Apache


Spark de Fabric para enviar registros, registros de eventos y métricas de la aplicación
Apache Spark a la cuenta de Azure Storage.

Recopilación de registros y métricas en la


cuenta de almacenamiento

Paso 1: Crear una cuenta de almacenamiento


Para recopilar registros y métricas de diagnóstico puede usar una cuenta de Azure
Storage existente. Si no tiene una, puede crear una cuenta de Azure Blob Storage o crear
una cuenta de almacenamiento para usarla con Azure Data Lake Storage Gen2.

Paso 2: Creación de un artefacto de entorno de Fabric con


la configuración de Apache Spark

Opción 1: Configuración con el URI de Azure Storage y la clave de


acceso
1. Creación de un artefacto de entorno de Fabric en Fabric

2. Agregue las siguientes propiedades de Spark con los valores adecuados al


artefacto de entorno o seleccione Agregar desde .yml en la cinta de opciones para
descargar el archivo yaml de ejemplo , que ya contiene las siguientes
propiedades.
properties

[Link]: MyStorageBlob
[Link]: "AzureStorage"
[Link]:
"DriverLog,ExecutorLog,EventLog,Metrics"
[Link]: "[Link]
storage>.[Link]/<container-name>/<folder-name>"
[Link]: "AccessKey"
[Link]: <storage-
access-key>
[Link]: "true" //Add this Spark property
when using the default pool.

En el archivo de configuración, rellene estos parámetros: <my-blob-storage> ,


<container-name> , <folder-name> , <storage-access-key> . Para más información

sobre estos parámetros, consulte configuraciones de Azure Storage.

Opción 2: Configuración con Azure Key Vault

7 Nota

Problema conocido: provisionalmente, no se puede iniciar una sesión con la opción


2. Actualmente, almacenar los secretos en Key Vault impide que se inicien las
sesiones de Spark. Dé prioridad a la configuración mediante el método descrito en
la opción 1.

Asegúrese de que a los usuarios que envían aplicaciones de Apache Spark se les
conceden permisos de lectura de secretos. Para obtener más información, consulta
Acceso a las claves, los certificados y los secretos de Key Vault con un control de
acceso basado en rol de Azure.

Para configurar Azure Key Vault para almacenar la clave del área de trabajo:

1. Cree un almacén de claves en Azure Portal y desplácese hasta él.

2. En la página de configuración del almacén de claves, seleccione Secretos y, a


continuación, Generar/importar.

3. En la pantalla Crear un secreto, elija los siguientes valores:

Nombre: escriba un nombre para el secreto.


Valor: escriba el valor de <storage-access-key> del secreto.
Deje las restantes opciones con sus valores predeterminados. Seleccione
Crear.

4. Creación de un artefacto de entorno de Fabric en Fabric.

5. Agregue las siguientes propiedades de Spark. O bien, seleccione Agregar desde


.yml de la cinta de opciones para cargar el archivo yaml de ejemplo que incluye
las siguientes propiedades de Spark.

properties

[Link]: <MyStorageBlob>
[Link]: "AzureStorage"
[Link]:
"DriverLog,ExecutorLog,EventLog,Metrics"
[Link]: "[Link]
storage>.[Link]/<container-name>/<folder-name>"
[Link]: "AccessKey"
[Link]:
<AZURE_KEY_VAULT_NAME>
[Link]
me: <AZURE_KEY_VAULT_SECRET_KEY_NAME>
[Link]: "true" //Add this Spark property
when using the default pool.

En el archivo de configuración, rellene estos parámetros: <my-blob-storage> ,


<container-name> , <folder-name> , <AZURE_KEY_VAULT_NAME> ,
<AZURE_KEY_VAULT_SECRET_KEY_NAME> . Para más información sobre estos parámetros,

consulte configuraciones de Azure Storage.

6. Guarde y publique los cambios.

Paso 3: Adjuntar el artefacto de entorno a cuadernos o


definiciones de trabajos de Spark, o establecerlo como el
valor predeterminado del área de trabajo
Para adjuntar el entorno a cuadernos o definiciones de trabajos de Spark:

1. Vaya al cuaderno específico o definición de trabajo de Spark en Fabric.


2. Seleccione el menú Entorno en la pestaña Inicio y seleccione el entorno con las
propiedades de Spark de diagnóstico configuradas.
3. La configuración se aplica al iniciar una sesión de Spark.

Para establecer el entorno como valor predeterminado del área de trabajo:

1. Vaya a Configuración del área de trabajo en Fabric.


2. Busque la configuración de Spark en la configuración del área de trabajo
(Configuración del área de trabajo -> Ingeniería/ciencia de datos -
>Configuración de Spark).
3. Seleccione la pestaña Entorno, elija el entorno con las propiedades de Spark de
diagnóstico configuradas y haga clic en Guardar.

7 Nota

Solo los administradores del área de trabajo pueden administrar las configuraciones
del área de trabajo. Los cambios realizados aquí se aplicarán a todos los cuadernos
y definiciones de trabajo de Spark adjuntos a la configuración del área de trabajo.
Para más información, consulte Configuración del área de trabajo de Fabric.

Paso 4: Visualización de los archivos de registro en la


cuenta de almacenamiento de Azure
Después de enviar un trabajo a la sesión de Spark configurada, puede ver los archivos de
registros y métricas en la cuenta de almacenamiento de destino. Los registros se
almacenan en las rutas de acceso correspondientes basadas en diferentes aplicaciones,
identificadas por <workspaceId>.<fabricLivyId> . Todos los archivos de registro están en
formato de líneas JSON (también conocido JSON delimitado por nuevas líneas o ndjson),
lo cual resulta práctico para el procesamiento de los datos.

Configuraciones disponibles
ノ Expandir tabla

Configuración Descripción

[Link] Necesario. Nombres de destino separados por comas de


emisores de diagnósticos. Por ejemplo: MyDest1,MyDest2

[Link]. Necesario. Tipo de destino integrado. Para habilitar el


<destination>.type destino de almacenamiento de Azure, AzureStorage debe
incluirse en este campo.

[Link]. Opcional. Categorías de registro seleccionadas separadas


<destination>.categories por comas. Entre los valores disponibles se incluyen:
DriverLog , ExecutorLog , EventLog y Metrics . Si no se
especifica, se establece en todas categorías.
Configuración Descripción

[Link]. Necesario. AccessKey para usar la autorización de clave de


<destination>.auth acceso de la cuenta de almacenamiento. SAS para la
autorización mediante firmas de acceso compartido.

[Link]. Necesario. URI de la carpeta del contenedor de blobs de


<destination>.uri destino. Debe coincidir con el patrón [Link]
storage>.[Link]/<container-name>/<folder-
name> .

[Link]. Opcional. Contenido del secreto (AccessKey o SAS).


<destination>.secret

[Link]. Obligatorio si no se ha especificado .secret . Nombre del


<destination>.[Link] almacén de claves de Azure donde se almacena el secreto
(AccessKey o SAS).

[Link]. Requerido si se especifica .[Link] . Nombre del


<destination>.[Link] almacén de claves de Azure donde se almacena el secreto
(AccessKey o SAS).

[Link]. Opcional. Nombres de eventos de Spark separados por


<destination>.[Link] comas, puede especificar qué eventos se recopilan. Por
ejemplo:
SparkListenerApplicationStart,SparkListenerApplicationEnd

[Link]. Opcional. Nombres del registrador Log4j separados por


<destination>.[Link] comas, puede especificar qué registros se recopilan. Por
ejemplo: [Link],[Link]

[Link]. Opcional. Sufijos de nombre de métrica de Spark separados


<destination>.[Link] por comas, puede especificar qué métricas se recopilan. Por
ejemplo: [Link]

[Link] Necesario. Esta propiedad de Spark se usa para forzar una


sesión de Spark a petición. Debe establecer el valor en True
al usar el grupo predeterminado para desencadenar las
bibliotecas para emitir registros y métricas.

Ejemplo de datos de registro


Este es un registro de ejemplo en formato JSON:

JSON

{
"timestamp": "2024-09-06T[Link].235Z",
"category": "Log|EventLog|Metrics",
"fabricLivyId": "<fabric-livy-id>",
"applicationId": "<application-id>",
"applicationName": "<application-name>",
"executorId": "<driver-or-executor-id>",
"fabricTenantId": "<my-fabric-tenant-id>",
"capacityId": "<my-fabric-capacity-id>",
"artifactType": "SynapseNotebook|SparkJobDefinition",
"artifactId": "<my-fabric-artifact-id>",
"fabricWorkspaceId": "<my-fabric-workspace-id>",
"fabricEnvId": "<my-fabric-environment-id>",
"executorMin": "<executor-min>",
"executorMax": "<executor-max>",
"isHighConcurrencyEnabled": "true|false",
"properties": {
// The message properties of logs, events and metrics.
"timestamp": "2024-09-06T[Link].235Z",
"message": "Initialized BlockManager: BlockManagerId(1, vm-04b22223,
34319, None)",
"logger_name": "[Link]",
"level": "INFO",
"thread_name": "dispatcher-Executor"
//...
}
}

Áreas de trabajo de Fabric con red virtual


administrada
Cree un punto de conexión privado administrado para Azure Blob Storage de destino.
Para obtener instrucciones detalladas, consulte Creación y uso de puntos de conexión
privados administrados en Microsoft Fabric: Microsoft Fabric.

Una vez aprobado el punto de conexión privado administrado, los usuarios pueden
empezar a emitir registros y métricas al Azure Blob Storage de destino.

Pasos siguientes
Crear una definición de trabajo de Apache Spark
Creación, configuración y uso de un entorno en Microsoft Fabric
Creación y uso de puntos de conexión privados administrados en Microsoft Fabric
Desarrollo, ejecución y administración de cuadernos de Microsoft Fabric
Supervisión de aplicaciones Spark

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Recopilación de los registros de
aplicaciones y las métricas de Apache
Spark mediante Azure Event Hubs
(versión preliminar)
Artículo • 06/11/2024

La extensión de emisor de diagnóstico de Apache Spark de Fabric es una biblioteca que


permite a las aplicaciones de Apache Spark emitir registros, registros de eventos y
métricas a varios destinos, incluidos Azure Log Analytics, Azure Storage y Azure Event
Hubs.

En este tutorial aprenderá a usar la extensión de emisión de diagnósticos de Apache


Spark de Fabric para enviar registros, registros de eventos y métricas de la aplicación
Apache Spark a Azure Event Hubs.

Recopilación de registros y métricas en Azure


Event Hubs

Paso 1: Crear una instancia de Azure Event Hubs


Para recopilar registros y métricas de diagnóstico puede usar una instancia de Azure
Event Hubs existente. Si no tiene, puede crear un centro de eventos.

Paso 2: Crear un artefacto de entorno de Fabric con la


configuración de Apache Spark

Opción 1: Configurar con la cadena de conexión de Azure Event


Hubs

1. Crear un artefacto de entorno de Fabric en Fabric

2. Agregue las siguientes propiedades de Spark con los valores adecuados al


artefacto de entorno o seleccione Agregar desde .yml en la cinta de opciones para
descargar el archivo yaml de ejemplo , que ya contiene las siguientes
propiedades.

properties
[Link]: MyEventHub
[Link]: "AzureEventHub"
[Link]:
"Log,EventLog,Metrics"
[Link]: <connection-string>
[Link]: "true" //Add this Spark property
when using the default pool.

Rellene los parámetros <connection-string> en el archivo de configuración. Para


obtener más información, consulte configuraciones de Azure Event Hubs.

Opción 2: Configuración con Azure Key Vault

7 Nota

Problema conocido: provisionalmente, no se puede iniciar una sesión con la opción


2. Actualmente, almacenar los secretos en Key Vault impide que se inicien las
sesiones de Spark. Dé prioridad a la configuración mediante el método descrito en
la opción 1.

Asegúrese de que a los usuarios que envían aplicaciones de Apache Spark se les
conceden permisos de lectura de secretos. Para obtener más información, consulta
Acceso a las claves, los certificados y los secretos de Key Vault con un control de
acceso basado en rol de Azure.

Para configurar Azure Key Vault para almacenar la clave del área de trabajo:

1. Cree un almacén de claves en Azure Portal y desplácese hasta él.

2. En la página de configuración del almacén de claves, seleccione Secretos y, a


continuación, Generar/importar.

3. En la pantalla Crear un secreto, elija los siguientes valores:

Nombre: escriba un nombre para el secreto.


Valor: escriba el valor de <connection-string> del secreto.
Deje las restantes opciones con sus valores predeterminados. Seleccione
Crear.

4. Creación de un artefacto de entorno de Fabric en Fabric.

5. Agregue las siguientes propiedades de Spark. O bien, seleccione Agregar desde


.yml de la cinta de opciones para descargar el archivo yaml de ejemplo que
incluye las siguientes propiedades de Spark.

properties

[Link]: MyEventHub
[Link]: "AzureEventHub"
[Link]:
"Log,EventLog,Metrics"
[Link]:
<AZURE_KEY_VAULT_NAME>
[Link]:
<AZURE_KEY_VAULT_SECRET_KEY_NAME>
[Link]: "true" //Add this Spark property
when using the default pool.

En el archivo de configuración, rellene estos parámetros: <AZURE_KEY_VAULT_NAME> ,


<AZURE_KEY_VAULT_SECRET_KEY_NAME> . Para más información sobre estos parámetros,

consulte configuraciones de Azure Event Hubs.

6. Guarde y publique los cambios.

Paso 3: Adjuntar el artefacto de entorno a cuadernos o


definiciones de trabajos de Spark, o establecerlo como el
valor predeterminado del área de trabajo
Para adjuntar el entorno a cuadernos o definiciones de trabajos de Spark:

1. Vaya al cuaderno específico o definición de trabajo de Spark en Fabric.


2. Seleccione el menú Entorno en la pestaña Inicio y seleccione el entorno con las
propiedades de Spark de diagnóstico configuradas.
3. La configuración se aplica al iniciar una sesión de Spark.

Para establecer el entorno como valor predeterminado del área de trabajo:

1. Vaya a Configuración del área de trabajo en Fabric.


2. Busque la configuración de Spark en la configuración del área de trabajo
(Configuración del área de trabajo -> Ingeniería/ciencia de datos -
>Configuración de Spark).
3. Seleccione la pestaña Entorno, elija el entorno con las propiedades de Spark de
diagnóstico configuradas y haga clic en Guardar.

7 Nota
Solo los administradores del área de trabajo pueden administrar las configuraciones
del área de trabajo. Los cambios realizados aquí se aplicarán a todos los cuadernos
y definiciones de trabajo de Spark adjuntos a la configuración del área de trabajo.
Para más información, consulte Configuración del área de trabajo de Fabric.

Configuraciones disponibles
ノ Expandir tabla

Configuración Descripción

[Link] Necesario. Nombres de destino separados por comas de


emisores de diagnósticos.

[Link]. Necesario. Tipo de destino integrado. Para habilitar Azure


<destination>.type Event Hubs como destino, el valor debe ser AzureEventHub .

[Link]. Opcional. Categorías de registro seleccionadas separadas


<destination>.categories por comas. Entre los valores disponibles se incluyen:
DriverLog , ExecutorLog , EventLog y Metrics . Si no se
especifica, se establece en todas categorías.

[Link]. Opcional. Cadena de conexión de instancia de Azure Event


<destination>.secret Hubs. Este campo debe coincidir con este patrón
Endpoint=sb://<FQDN>/;SharedAccessKeyName=
<KeyName>;SharedAccessKey=<KeyValue>;EntityPath=
<PathName> .

[Link]. Obligatorio si no se ha especificado .secret . Nombre del


<destination>.[Link] almacén de claves de Azure donde se almacena el secreto
(cadena de conexión).

[Link]. Requerido si se especifica .[Link] . Nombre del


<destination>.[Link] almacén de claves de Azure donde se almacena el secreto
(cadena de conexión).

[Link]. Opcional. Nombres de eventos de Spark separados por


<destination>.[Link] comas, puede especificar qué eventos se recopilan. Por
ejemplo:
SparkListenerApplicationStart,SparkListenerApplicationEnd

[Link]. Opcional. Nombres del registrador Log4j separados por


<destination>.[Link] comas, puede especificar qué registros se recopilan. Por
ejemplo: [Link],[Link]

[Link]. Opcional. Sufijos de nombre de métrica de Spark separados


<destination>.[Link] por comas, puede especificar qué métricas se recopilan. Por
Configuración Descripción

ejemplo: [Link]

7 Nota

La cadena de conexión de la instancia de Azure Event Hubs siempre debe incluir


EntityPath , que es el nombre de la instancia de Azure Event Hubs.

Ejemplo de datos de registro


Este es un registro de ejemplo en formato JSON:

JSON

{
"timestamp": "2024-09-06T[Link].235Z",
"category": "Log|EventLog|Metrics",
"fabricLivyId": "<fabric-livy-id>",
"applicationId": "<application-id>",
"applicationName": "<application-name>",
"executorId": "<driver-or-executor-id>",
"fabricTenantId": "<my-fabric-tenant-id>",
"capacityId": "<my-fabric-capacity-id>",
"artifactType": "SynapseNotebook|SparkJobDefinition",
"artifactId": "<my-fabric-artifact-id>",
"fabricWorkspaceId": "<my-fabric-workspace-id>",
"fabricEnvId": "<my-fabric-environment-id>",
"executorMin": "<executor-min>",
"executorMax": "<executor-max>",
"isHighConcurrencyEnabled": "true|false",
"properties": {
// The message properties of logs, events and metrics.
"timestamp": "2024-09-06T[Link].235Z",
"message": "Initialized BlockManager: BlockManagerId(1, vm-04b22223,
34319, None)",
"logger_name": "[Link]",
"level": "INFO",
"thread_name": "dispatcher-Executor"
//...
}
}

Áreas de trabajo de Fabric con red virtual


administrada
Cree un punto de conexión privado administrado para Azure Event Hubs de destino.
Para obtener instrucciones detalladas, consulte Creación y uso de puntos de conexión
privados administrados en Microsoft Fabric: Microsoft Fabric.

Una vez aprobado el punto de conexión privado administrado, los usuarios pueden
empezar a emitir registros y métricas al Azure Event Hubs de destino.

Pasos siguientes
Tutorial: Uso de Azure Synapse Analytics para crear definiciones de trabajos de
Spark y enviarlas a un grupo de Synapse Spark
Creación, configuración y uso de un entorno en Microsoft Fabric
Creación y uso de puntos de conexión privados administrados en Microsoft Fabric
Desarrollo, ejecución y administración de cuadernos de Microsoft Fabric
Supervisión de aplicaciones Spark

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Conector de Spark para el Data
Warehouse de Microsoft Fabric Synapse
Artículo • 25/10/2024

El conector de Spark para el Data Warehouse de Microsoft Fabric Synapse permite a los
desarrolladores y científicos de datos de Spark acceder a los datos y trabajar con datos
de un almacén y del punto de conexión de análisis SQL del almacén de lago. El conector
ofrece las siguientes capacidades:

Puede trabajar con datos de un almacén o de un punto de conexión de análisis


SQL en el mismo espacio de trabajo o en varios espacios de trabajo.
El punto de conexión del análisis SQL de una instancia de Lakehouse se detecta
automáticamente en función del contexto del área de trabajo.
El conector cuenta con una API de Spark simplificada, limita la complejidad
subyacente y funciona con una sola línea de código.
Mientras accede a una tabla o una vista, el conector mantiene los modelos de
seguridad definidos en el nivel del motor de SQL. Estos modelos incluyen
seguridad de nivel de objeto (OLS), seguridad de nivel de fila (RLS) y seguridad de
nivel de columna (CLS).
El conector viene preinstalado en tiempo de ejecución de Fabric, lo que elimina la
necesidad de realizar una instalación independiente.

7 Nota

El conector está actualmente en versión preliminar. Para obtener más información,


consulte el apartado Limitaciones actuales más adelante en este artículo.

Autenticación
La autenticación de Microsoft Entra es un enfoque de autenticación integrada. Los
usuarios pueden iniciar sesión en el área de trabajo de Microsoft Fabric y sus
credenciales se pasan automáticamente al motor de SQL para la autenticación y
autorización. Las credenciales se asignan automáticamente y no es necesario que los
usuarios proporcionen opciones de configuración específicas.

Permisos
Para conectarse al motor de SQL, los usuarios necesitan tener, al menos, permiso de
lectura (similar al permiso CONNECT en SQL Server) en el almacén o en el punto de
conexión de análisis SQL (nivel de elemento). Los usuarios también deben tener
permisos pormenorizados de nivel de objeto para leer datos de tablas o de vistas
específicas. Para obtener más información, consulte Seguridad para el almacenamiento
de datos en Microsoft Fabric.

Plantillas de código y ejemplos

Utilice una firma de método


El siguiente comando muestra la firma de método synapsesql para la solicitud de
lectura. El argumento de tres partes tableName es necesario para acceder a tablas o
vistas desde un almacenamiento y el punto de conexión de análisis SQL de una instancia
del almacén de lago. Actualice el argumento con los siguientes nombres, en función de
su escenario:

Parte 1: Nombre del almacén o del almacén de lago.


Parte 2: Nombre del esquema.
Parte 3: Nombre de una tabla o vista.

Scala

synapsesql(tableName:String="<Part [Link] [Link] 3>") =>


[Link]

Además de leer directamente desde una tabla o vista, este conector también le permite
especificar una consulta personalizada o de acceso directo, que se pasa al motor de SQL
y el resultado se devuelve a Spark.

Scala

[Link]([Link], "<warehouse/lakeshouse
name>").synapsesql("<T-SQL Query>") => [Link]

Aunque este conector detecta automáticamente el punto de conexión para el


warehouse o lakehouse especificado, si desea especificarlo explícitamente, puede
hacerlo.
//For warehouse
[Link]("[Link].<warehouse name>.sqlendpoint", "<sql
endpoint,port>")
//For lakehouse
[Link]("[Link].<lakeshouse name>.sqlendpoint", "<sql
endpoint,port>")
//Read from table
[Link]("<warehouse/lakeshouse name>.<schema name>.<table or
view name>")

Lectura de datos dentro de la misma área de trabajo

) Importante

Ejecute estas instrucciones de importación al principio del cuaderno o antes de


empezar a usar el conector:

Para Scala

import [Link]._

import [Link]

Para PySpark (Python)

import [Link]

from [Link] import Constants

El código siguiente es un ejemplo que sirve para leer datos de una tabla o vista en un
dataframe de Spark:

Python

df = [Link]("<warehouse/lakehouse name>.<schema name>.<table


or view name>")

El código siguiente es un ejemplo que sirve para leer datos de una tabla o vista en un
dataframe de Spark con un límite de recuento de filas de 10:

Python
df = [Link]("<warehouse/lakehouse name>.<schema name>.<table
or view name>").limit(10)

El código siguiente es un ejemplo que sirve para leer datos de una tabla o vista en un
dataframe de Spark después de aplicar un filtro:

Python

df = [Link]("<warehouse/lakehouse name>.<schema name>.<table


or view name>").filter("column name == 'value'")

El código siguiente es un ejemplo que sirve para leer datos de una tabla o vista en un
dataframe de Spark solo para las columnas seleccionadas:

Python

df = [Link]("<warehouse/lakehouse name>.<schema name>.<table


or view name>").select("column A", "Column B")

Lectura de datos entre áreas de trabajo


Para acceder y leer datos desde un almacén de datos o lakehouse entre áreas de
trabajo, puede especificar el identificador de área de trabajo donde existe el almacén de
datos o lakehouse y, a continuación, el identificador del elemento de almacenamiento
de datos o lakehouse. Esta línea proporciona un ejemplo de lectura de datos de una
tabla o vista en un DataFrame de Spark desde el almacén de datos o el lakehouse con el
identificador de área de trabajo y el identificador de almacén de datos o lakehouse
especificados:

Python

# For lakehouse
df = [Link]([Link], "<workspace id>").synapsesql("
<lakehouse name>.<schema name>.<table or view name>")
df = [Link]([Link], "<workspace
id>").option([Link], "<lakehouse item id>").synapsesql("
<lakehouse name>.<schema name>.<table or view name>")

# For data warehouse


df = [Link]([Link], "<workspace id>").synapsesql("
<warehouse name>.<schema name>.<table or view name>")
df = [Link]([Link], "<workspace
id>").option([Link], "<data warehouse item
id>").synapsesql("<warehouse name>.<schema name>.<table or view name>")
7 Nota

Al ejecutar el cuaderno, el conector busca de manera predeterminada el


almacenamiento de datos o lakehouse especificados en el área de trabajo del
lakehouse adjunto al cuaderno. Para hacer referencia a un almacenamiento de
datos o lakehouse desde otra área de trabajo, especifique el identificador del área
de trabajo y el identificador del elemento del lakehouse o almacenamiento de
datos como se indicó anteriormente.

Cree una tabla de almacén de lago basada en los datos


del almacén
Estas líneas de código proporcionan un ejemplo para leer datos de una tabla o vista en
un dataframe de Spark y usarlos para crear una tabla lakehouse:

Python

df = [Link]("<warehouse/lakehouse name>.<schema name>.<table


or view name>")
[Link]("delta").saveAsTable("<Lakehouse table name>")

Solución de problemas
Al finalizar, el fragmento de código de respuesta de lectura aparece en la salida de la
celda. Cualquier error en la celda actual también cancelará las ejecuciones de celdas
posteriores del cuaderno. La información detallada del error está disponible en los
registros de la aplicación Spark.

Limitaciones actuales
Actualmente, el conector:

Admite la recuperación de datos de puntos de conexión de los almacenes de


Fabric y análisis SQL de elementos de almacén de lago.
Fabric DW ahora admite Time Travel , sin embargo, este conector no funciona para
una consulta con sintaxis de viaje en el tiempo.
Conserva la firma de uso como la que se incluye con Apache Spark para Azure
Synapse Analytics para mantener la coherencia. Sin embargo, no es compatible
con versiones anteriores para conectarse y trabajar con el grupo de SQL dedicado
de Azure Synapse Analytics.
Los nombres de columna con caracteres especiales se controlarán agregando
caracteres de escape antes de la consulta, según el nombre de la tabla o vista de 3
partes, se envía. En el caso de una lectura personalizada o basada en consultas de
paso a través, los usuarios deben escapar los nombres de columna que contengan
caracteres especiales.

Contenido relacionado
Entornos de ejecución de Apache Spark en Fabric
Resumen de supervisión de Apache Spark
Seguridad para el almacenamiento de datos en Fabric
Permisos granulares de SQL en Fabric

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Caché inteligente en Microsoft Fabric
Artículo • 15/11/2023

La característica de caché inteligente funciona perfectamente en segundo plano y


almacena en caché los datos para ayudar a acelerar la ejecución de trabajos de Apache
Spark en Microsoft Fabric a medida que lee desde el almacenamiento de OneLake o
Azure Data Lake Storage (ADLS) Gen2 a través de accesos directos. También detecta
automáticamente los cambios en los archivos subyacentes y actualiza automáticamente
los archivos de la memoria caché, lo que proporciona los datos más recientes. Cuando
el tamaño de la memoria caché alcanza su límite, la memoria caché libera
automáticamente los datos menos leídos para hacer espacio para los datos más
recientes. Esta característica reduce el costo total de propiedad, ya que mejora el
rendimiento hasta un 60 % en las lecturas posteriores de los archivos almacenados en la
caché disponible para archivos Parquet y un 50 % para los archivos CSV.

Cuando el motor de Apache Spark de Microsoft Fabric consulta un archivo o una tabla
desde Lakehouse, realiza una llamada al almacenamiento remoto para leer los archivos
subyacentes. Con cada solicitud de consulta para leer los mismos datos, el motor de
Spark debe realizar una llamada al almacenamiento remoto cada vez. Este proceso
redundante agrega latencia al tiempo de procesamiento total. Spark tiene un requisito
de almacenamiento en caché que debe establecer y liberar manualmente la memoria
caché para minimizar la latencia y mejorar el rendimiento general. Sin embargo, este
requisito puede dar lugar a datos obsoletos si cambian los datos subyacentes.

La caché inteligente simplifica el proceso almacenando en caché automáticamente cada


lectura dentro del espacio de almacenamiento de caché asignado en cada nodo de
Spark donde los archivos de datos se almacenan en caché en SSD. Cada solicitud de un
archivo comprueba si el archivo existe en la caché del nodo local y compara la etiqueta
del almacenamiento remoto para determinar si el archivo está obsoleto. Si el archivo no
existe o si el archivo está obsoleto, Spark lee el archivo y lo almacena en la memoria
caché. Cuando la caché se llena, el archivo con la hora de último acceso más antigua se
expulsa de la memoria caché para permitir archivos más recientes.

La caché inteligente es una sola caché por nodo. Si usa un nodo de tamaño mediano y
se ejecuta con dos ejecutores pequeños en ese único nodo, los dos ejecutores
comparten la misma memoria caché. Además, este almacenamiento en caché de nivel
de archivo de datos permite que varias consultas usen la misma caché si acceden a los
mismos datos o archivos de datos.

Cómo funciona
En Microsoft Fabric (Runtime 1.1 y 1.2), el almacenamiento en caché inteligente está
habilitado de forma predeterminada para todos los grupos de Spark para todas las
áreas de trabajo con un tamaño de caché del 50 %. El tamaño real del almacenamiento
disponible y el tamaño de caché de cada nodo dependen de la familia de nodos y del
tamaño del nodo.

Cuándo usar caché inteligente


Esta característica le beneficia si:

La carga de trabajo requiere leer el mismo archivo varias veces y el tamaño del
archivo se ajusta a la memoria caché.

La carga de trabajo usa tablas Delta Lake, formatos de archivo Parquet o CSV.

El uso de la memoria caché inteligente no le beneficiará si:

Está leyendo un archivo que supere el tamaño de la memoria caché. Si es así, se


podría expulsar el principio de los archivos y las consultas posteriores tienen que
volver a capturar los datos desde el almacenamiento remoto. En este caso, no verá
ninguna ventaja de la caché inteligente y es posible que quiera aumentar el
tamaño de la caché o el tamaño del nodo.

La carga de trabajo requiere grandes cantidades de orden aleatorio. Al deshabilitar


la caché inteligente, se libera espacio para evitar que el trabajo produzca errores
debido a un espacio de almacenamiento insuficiente.

Habilitación y deshabilitación de la caché


inteligente
Puede deshabilitar o habilitar la caché inteligente dentro de una sesión ejecutando el
siguiente código en el cuaderno o estableciendo esta configuración en el área de
trabajo o en el nivel de elementoEntorno.

Scala

[Link]("[Link]", "false/true")

Pasos siguientes
¿Qué es el proceso de Spark en Microsoft Fabric?
Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Tablas de Lakehouse y Delta Lake
Artículo • 15/11/2023

Microsoft Fabric Lakehouse es una plataforma de arquitectura de datos para almacenar,


administrar y analizar datos estructurados y no estructurados en una sola ubicación.
Para lograr un acceso sin problemas a los datos en todos los motores de proceso de
Microsoft Fabric, Delta Lake se elige como formato de tabla unificado.

Guardar datos en Lakehouse mediante funcionalidades como Cargar en tablas o los


métodos descritos en Opciones para obtener datos en Lakehouse de Fabric, todos los
datos se guardan en formato Delta.

Para obtener una introducción más completa al formato de tabla de Delta Lake, siga los
vínculos de la sección Pasos siguientes.

Macrodatos, Apache Spark y formatos de tabla


heredados
Microsoft Fabric Runtime para Apache Spark usa la misma base que Azure Synapse
Analytics Runtime para Apache Spark, pero contiene diferencias clave para proporcionar
un comportamiento más simplificado en todos los motores del servicio Microsoft Fabric.
En Microsoft Fabric, las características de rendimiento clave están activadas de forma
predeterminada. Los usuarios avanzados de Apache Spark pueden revertir las
configuraciones a valores anteriores para alinearse mejor con escenarios específicos.

Microsoft Fabric Lakehouse y el motor de Apache Spark admiten todos los tipos de
tabla, tanto administrados como no administrados. Esto incluye vistas y formatos
normales de tabla de Hive no delta. Las tablas definidas mediante PARQUET, CSV, AVRO,
JSON y cualquier formato de archivo compatible con Apache Hive funcionan según lo
previsto.

La experiencia de la interfaz de usuario del explorador de Lakehouse varía en función


del tipo de tabla. Actualmente, el explorador de Lakehouse solo representa objetos de
tabla.

Diferencias de configuración con Azure Synapse Analytics


La tabla siguiente contiene las diferencias de configuración entre Azure Synapse
Analytics y Microsoft Fabric Runtime para Apache Spark.
Configuración de Apache Spark Valor de Valor de Notas
Microsoft Fabric Azure
Synapse
Analytics

[Link] delta parquet Formato de tabla


predeterminado

[Link] true N/D Escritor de orden


V

[Link] 2 GB N/D Límite de tamaño


de página del
diccionario para
orden V

[Link] true unset Optimizar


(false) escritura

Detección automática de tablas


El explorador de Lakehouse proporciona una vista de árbol de los objetos del elemento
Microsoft Fabric Lakehouse. Tiene la capacidad clave de descubrir y mostrar tablas que
están descritas en el repositorio de metadatos y en el almacenamiento de OneLake. Las
referencias de tabla se muestran en la sección Tables de la interfaz de usuario del
explorador de Lakehouse. La detección automática también se aplica a las tablas
definidas a través de accesos directos de OneLake.

Tablas en accesos directos


Microsoft Fabric Lakehouse admite tablas definidas a través de accesos directos de
OneLake, para proporcionar la máxima compatibilidad y sin movimiento de datos. La
tabla siguiente contiene los procedimientos recomendados del escenario para cada tipo
de elemento cuando se usa sobre accesos directos.

Destino de Dónde Procedimiento recomendado


acceso directo crear el
acceso
directo

Tabla de Delta Tables Si hay varias tablas presentes en el destino, cree un acceso
Lake sección directo por tabla.

Carpetas con Files Use Apache Spark para usar el destino directamente mediante
archivos sección rutas de acceso relativas. Cargue los datos en tablas Delta
Destino de Dónde Procedimiento recomendado
acceso directo crear el
acceso
directo

nativas de Lakehouse para obtener el máximo rendimiento.

Tablas Files Use Apache Spark para usar el destino directamente mediante
heredadas de sección rutas de acceso relativas o cree una referencia de catálogo de
Apache Hive metadatos mediante la sintaxis CREATE EXTERNAL TABLE . Cargue
los datos en tablas Delta nativas de Lakehouse para obtener el
máximo rendimiento.

Cargar en tablas
Microsoft Fabric Lakehouse proporciona una interfaz de usuario cómoda y productiva
para simplificar la carga de datos en tablas Delta. La característica Cargar en tablas
permite que una experiencia visual cargue formatos de archivo comunes en Delta para
aumentar la productividad analítica de todos los roles. Para obtener más información
sobre la característica Cargar en tablas, consulte la documentación de referencia Cargar
en tablas de Lakehouse.

Optimización de tablas de Delta Lake


Mantener las tablas en forma para el amplio ámbito de los escenarios de análisis no es
una tarea menor. Microsoft Fabric Lakehouse habilita de forma proactiva los parámetros
importantes para minimizar los problemas comunes asociados a las tablas de
macrodatos, como la compactación y los archivos de pequeño tamaño, y para
maximizar el rendimiento de las consultas. Aun así, hay muchos escenarios en los que
esos parámetros necesitan cambios. En el artículo Optimización de tablas y orden V de
Delta Lake se describen algunos escenarios clave y se proporciona una guía detallada
sobre cómo mantener de forma eficaz las tablas Delta para obtener el máximo
rendimiento.

Pasos siguientes
¿Qué es Delta Lake?
Introducción a Delta Lake
Accesos directos
Cargar en tablas
Configuración de la administración del área de trabajo de Spark
¿Qué es un runtime en Fabric?
Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Carga en tabla de Delta Lake
Artículo • 16/09/2024

En Microsoft Fabric Lakehouse proporciona una característica para cargar eficazmente


tipos de archivo comunes en una tabla Delta optimizada y lista para el análisis. La
característica Cargar en tabla permite a los usuarios cargar un solo archivos o una
carpeta de archivos en una table. Esta característica aumenta la productividad de los
ingenieros de datos, ya que les permite usar rápidamente una acción de clic con el
botón derecho para habilitar la carga de tablas en archivos y carpetas. La carga en la
tabla es también una experiencia sin código, lo que baja la barrera de entrada a todas
las personas.

Introducción a las funcionalidades de Carga en


tabla
Esta es una lista de las características que habilitamos en la experiencia de carga en
tabla integrada para ofrecer a nuestros usuarios la flexibilidad que necesitan y, al mismo
tiempo, aumentar su productividad:

Tipos de archivo admitidos: esta característica solo admite la carga de los tipos de
archivo PARQUET o CSV. No importa si la extensión de archivo está en mayúsculas
o minúsculas.

Carga de un solo archivo: para cargar el archivo que prefieran en uno de los
formatos admitidos los usuarios deben seleccionar "Cargar en tabla delta" en la
acción de menú contextual del archivo.

Carga a nivel de carpeta: si selecciona "Cargar en tabla delta" después de hacer


clic en una carpeta, puede cargar todos los archivos de una carpeta y sus
subcarpetas simultáneamente. Esta característica recorre automáticamente todos
los archivos y los carga en una tabla delta. Es importante tener en cuenta que en
una tabla sólo pueden cargarse al mismo tiempo archivos del mismo tipo.

Cargar en tabla nueva y existente: el usuario puede elegir cargar sus archivos y
carpetas en una nueva tabla o en la tabla existente que prefiera. Si deciden
cargarlos en una tabla existente, pueden anexar o sobrescribir sus datos en la
tabla.

Opción archivo de origen .csv: en los archivos .csv, permitimos al usuario


especificar si su archivo de origen incluye encabezados que le gustaría usar como
nombres de columna. Los usuarios también pueden especificar el separador que
prefieran para anular el separador de comas predeterminado.

Cargado como tablas delta: para cargar las tablas siempre se utiliza el formato de
tabla Delta Lake con la optimización V-Order habilitada.

7 Nota

Actualmente, no se puede especificar el esquema de tabla a través de la interfaz de


usuario del almacén de lago; debes usar un cuaderno para ese fin.

Directrices y reglas de validación


El siguiente estándar se aplica a la experiencia de Carga en tabla:

Los nombres de tabla solo pueden contener caracteres alfanuméricos y


subrayados. También permite cualquier letra inglesa, mayúscula o minúscula y
guion bajo ( _ ), con una longitud máxima de 256 caracteres. No se permiten
guiones ( - ) ni caracteres de espacio.

Los archivos de texto sin encabezados de columna se reemplazan por notación


estándar col# como nombres de columna de tabla.

Los nombres de columna permiten cualquier letra en inglés, mayúsculas o


minúsculas, caracteres de subrayado ( _ ) y caracteres en otro idioma, como chino
en UTF, longitud de hasta 128 caracteres. Los nombres de columna se validan
durante la acción de carga. El algoritmo Carga en Delta reemplaza los valores
prohibidos por un guion bajo ( _ ). Si no se consigue ningún nombre de columna
adecuado durante la validación, se produce un error en la acción de carga.

En los archivos .csv, el separador no puede estar vacío, tener más de ocho
caracteres ni usar ninguno de los siguientes caracteres: ( , ) , [ , ] , { , } , comillas
simples ( ' ), comillas dobles ( " ) y espacio en blanco.

Contenido relacionado
¿Qué es Delta Lake?
Carga de archivos CSV en Delta para la creación de informes de Power BI

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Uso de la característica de
mantenimiento de tablas para
administrar tablas delta en Fabric
Artículo • 03/05/2024

Lakehouse en Microsoft Fabric proporciona la característica de mantenimiento de tablas


para administrar de forma eficaz las tablas delta y mantenerlas siempre listas para el
análisis. En esta guía se describe la característica de mantenimiento de tablas de
Lakehouse y sus funcionalidades.

Funcionalidades clave de la característica de mantenimiento de tablas de Lakehouse:

Realice el mantenimiento de tablas ad hoc mediante acciones contextuales con el


botón derecho del ratón en una tabla delta dentro del explorador de Lakehouse.
Aplique la compactación bin, el orden V y la limpieza de archivos antiguos sin
referencia.

7 Nota

Para tareas de mantenimiento avanzadas, como agrupar varios comandos de


mantenimiento de tablas y orquestarlos en función de una programación, se
recomienda un enfoque centrado en el código. Para obtener más información,
consulte el artículo Optimización de tablas de Delta Lake y orden V. También es
posible usar la API de Lakehouse para automatizar las operaciones de
mantenimiento de tablas, para obtener más información, consulte Administración
de Lakehouse con la API de REST de Microsoft Fabric.

Tipos de archivo admitidos


El mantenimiento de tablas de Lakehouse solo se aplica a las tablas de Delta Lake. No
se admiten las tablas heredadas de Hive que usan PARQUET, ORC, AVRO, CSV y otros
formatos.

Operaciones de mantenimiento de tablas


La característica de mantenimiento de tablas ofrece tres operaciones.
Optimización: consolida varios archivos Parquet pequeños en archivos grandes.
Los motores de procesamiento de macrodatos y todos los motores de Fabric se
benefician de tener tamaños de archivos mayores. Tener archivos de tamaño
superior a 128 MB y, de forma óptima, cerca de 1 GB, mejora la compresión y la
distribución de datos, en los nodos del clúster. Reduce la necesidad de examinar
numerosos archivos pequeños para realizar operaciones de lectura eficaces. Es un
procedimiento recomendado ejecutar estrategias de optimización después de
cargar tablas grandes.
Orden V: aplica la ordenación, la codificación y la compresión optimizadas a los
archivos Parquet delta para permitir operaciones de lectura rápidas en todos los
motores de Fabric. El orden V se produce durante el comando optimize y se
presenta como una opción para el grupo de comandos en la experiencia del
usuario. Para más información sobre el orden V, consulte Optimización de tablas
de Delta Lake y Orden V.
Vacío: quita los archivos antiguos a los que ya no hace referencia un registro de
tabla de Delta. Los archivos deben ser más antiguos que el umbral de retención, y
este es de siete días. Todas las tablas delta de OneLake tienen el mismo período de
retención. El período de retención de archivos es el mismo independientemente
del motor de proceso de Fabric que esté usando. Este mantenimiento es
importante para optimizar el costo de almacenamiento. Establecer un período de
retención más corto afecta a las funcionalidades de viaje en el tiempo de Delta. Es
un procedimiento recomendado establecer un intervalo de retención en al menos
siete días, ya que los lectores y escritores simultáneos pueden seguir usando
instantáneas antiguas y archivos no confirmados. La limpieza de archivos activos
con el comando VACUUM puede provocar errores de lector o incluso daños en la
tabla si se quitan los archivos no confirmados.

Ejecución del mantenimiento de tablas ad hoc


en una tabla de Delta mediante Lakehouse
Cómo usar la característica:

1. En su cuenta de Microsoft Fabric, vaya a la instancia de Lakehouse deseada.

2. En la sección Tablas del explorador de Lakehouse, haga clic con el botón derecho
en la tabla o use los puntos suspensivos para acceder al menú contextual.

3. Seleccione la entrada de menú Mantenimiento.

4. Compruebe las opciones de mantenimiento en el cuadro de diálogo según sus


necesidades. Para obtener más información, consulte la sección Operaciones de
mantenimiento de tablas de este artículo.

5. Seleccione Ejecutar ahora para ejecutar el trabajo de mantenimiento de la tabla.

6. Realice un seguimiento de la ejecución del trabajo de mantenimiento mediante el


panel de notificaciones o la experiencia del Centro de supervisión.

¿Cómo funciona el mantenimiento de tablas?


Después de seleccionar Ejecutar ahora, se envía un trabajo de mantenimiento de Spark
para su ejecución.

1. El trabajo de Spark se envía mediante la identidad de usuario y los privilegios de


tabla.
2. El trabajo de Spark consume la capacidad de Fabric del área de trabajo o el usuario
que envió el trabajo.
3. Si hay otro trabajo de mantenimiento que se ejecuta en una tabla, se rechaza uno
nuevo.
4. Los trabajos en tablas diferentes se pueden ejecutar en paralelo.
5. Los trabajos de mantenimiento de tablas se pueden realizar fácilmente en el
Centro de supervisión. Busque el texto "TableMaintenance" dentro de la columna
del nombre de actividad en la página principal del centro de supervisión.

Contenido relacionado
Optimización de tablas de Delta Lake y orden V
Administración de Lakehouse con la API de REST de Microsoft Fabric
Carga de archivos CSV en Delta para la creación de informes de Power BI
¿Qué es Delta Lake?

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Optimización de tablas de Delta Lake y
V-Order
Artículo • 22/01/2024

Los formatos de tablas de Lakehouse y Delta Lake son fundamentales para Microsoft
Fabric, lo que garantiza que las tablas estén optimizadas para el análisis sea un requisito
clave. En esta guía se describen los conceptos de optimización de tablas de Delta Lake,
las configuraciones y cómo aplicarlos a los patrones de uso de macrodatos más
comunes.

¿Qué es V-Order?
V-Order es una optimización del tiempo de escritura en el formato de archivo parquet
que permite lecturas rápidas de rayos en los motores de proceso de Microsoft Fabric,
como Power BI, SQL, Spark y otros.

Los motores de Power BI y SQL usan la tecnología de Microsoft Verti-Scan y los archivos
parquet ordenados por V-Order para lograr tiempos de acceso a datos en memoria.
Spark y otros motores de proceso que no son Verti-Scan también se benefician de los
archivos ordenados por V-Order con un promedio de tiempos de lectura un 10 % más
rápidos, con algunos escenarios de hasta un 50 %.

V-Order funciona aplicando una ordenación especial, distribución de grupos de filas,


codificación de diccionario y compresión en archivos parquet, lo que requiere menos
recursos de red, disco y CPU en los motores de proceso para leerlos, lo que proporciona
rentabilidad y rendimiento. La ordenación de V-Order tiene un impacto del 15 % en los
tiempos medios de escritura, pero proporciona hasta un 50 % más de compresión.

Todos los motores parquet puede leer su formato parquet de código abierto 100 %
compatible como archivos parquet normales. Las tablas delta son más eficientes que
nunca; características como Z-Order son compatibles con V-Order. Las propiedades de
tabla y los comandos de optimización se pueden usar en el control de V-Order en sus
particiones.

V-Order se aplica en el nivel de archivo parquet. Las tablas delta y sus características,
como Z-Order, compactación, vacío, viaje de tiempo, etc. son ortogonales a V-Order y,
como tal, son compatibles y se pueden usar juntas para beneficios adicionales.

Control de escrituras de V-Order


V-Order está habilitado de forma predeterminada en Microsoft Fabric y en Apache
Spark se controla mediante las siguientes configuraciones.

ノ Expandir tabla

Configuración Valor Descripción


predeterminado

[Link] true Controla la escritura de


V-Order de nivel de
sesión.

TBLPROPERTIES(“[Link]”) false Modo de V-Order


predeterminado en
tablas

Opción del escritor de DataFrame: anular Control de escrituras de


[Link] V-Order mediante el
escritor de DataFrame

Use los comandos siguientes para controlar el uso de escrituras de V-Order.

Comprobación de la configuración de V-Order en la


sesión de Apache Spark

Spark SQL

SQL

%%sql
SET [Link]

Deshabilitación de la escritura de V-Order en la sesión de


Apache Spark

Spark SQL

SQL

%%sql
SET [Link]=FALSE
Habilitación de la escritura de V-Order en la sesión de
Apache Spark

) Importante

Cuando se habilita en el nivel de sesión. Todas las escrituras de parquet se realizan


con V-Order habilitado. Esto incluye tablas de parquet no delta y tablas Delta con
la propiedad de tabla [Link] establecida en true o false .

Spark SQL

SQL

%%sql
SET [Link]=TRUE

Control de V-Order mediante las propiedades de la tabla


Delta
Habilite la propiedad de tabla V-Order durante la creación de la tabla:

SQL

%%sql
CREATE TABLE person (id INT, name STRING, age INT) USING parquet
TBLPROPERTIES("[Link]" = "true");

) Importante

Cuando la propiedad de tabla se establece en true, los comandos INSERT, UPDATE


y MERGE se comportarán según lo esperado y ejecutarán la optimización en
tiempo de escritura. Si la configuración de sesión de pedido virtual se establece en
true o [Link] la habilita, las escrituras serán V-Order incluso si TBLPROPERTIES
está establecida en false.

Habilite o deshabilite V-Order modificando la propiedad de tabla:

SQL
%%sql
ALTER TABLE person SET TBLPROPERTIES("[Link]" =
"true");

ALTER TABLE person SET TBLPROPERTIES("[Link]" =


"false");

ALTER TABLE person UNSET TBLPROPERTIES("[Link]");

Después de habilitar o deshabilitar V-Order mediante propiedades de tabla, solo se ven


afectadas las escrituras futuras en la tabla. Los archivos parquet mantienen la
ordenación usada cuando se creó. Para cambiar la estructura física actual para aplicar o
quitar V-Order, lea la sección "Control de V-Order al optimizar una tabla".

Control de V-Order directamente en operaciones de


escritura
Todos los comandos de escritura de Apache Spark heredan la configuración de sesión si
no está explícita. Todos los comandos siguientes escriben con V-Order mediante la
herencia implícita de la configuración de sesión.

Python

df_source.write\
.format("delta")\
.mode("append")\
.saveAsTable("[Link]")

[Link](spark)\
.addColumn("id","INT")\
.addColumn("firstName","STRING")\
.addColumn("middleName","STRING")\
.addColumn("lastName","STRING",comment="surname")\
.addColumn("birthDate","TIMESTAMP")\
.location("Files/people")\
.execute()

df_source.write\
.format("delta")\
.mode("overwrite")\
.option("replaceWhere","start_date >= '2017-01-01' AND end_date <= '2017-
01-31'")\
.saveAsTable("[Link]")

) Importante
V-Order solo aplica a los archivos afectados por el predicado.

En una sesión en la que [Link] no se establece o se


establece en false, los siguientes comandos escribirían mediante V-Order:

Python

df_source.write\
.format("delta")\
.mode("overwrite")\
.option("replaceWhere","start_date >= '2017-01-01' AND end_date <= '2017-
01-31'")\
.option("[Link] ","true")\
.saveAsTable("[Link]")

[Link](spark)\
.addColumn("id","INT")\
.addColumn("firstName","STRING")\
.addColumn("middleName","STRING")\
.addColumn("lastName","STRING",comment="surname")\
.addColumn("birthDate","TIMESTAMP")\
.option("[Link]","true")\
.location("Files/people")\
.execute()

¿Qué es la optimización de escritura?


Las cargas de trabajo analíticas en motores de procesamiento de macrodatos, como
Apache Spark, funcionan de forma más eficaz al usar tamaños de archivo más grandes
estandarizados. La relación entre el tamaño del archivo, el número de archivos, el
número de trabajos de Spark y sus configuraciones desempeña un papel fundamental
en el rendimiento. La incorporación de datos a las tablas del lago de datos puede tener
la característica heredada de escribir constantemente un gran número de archivos
pequeños; este escenario se conoce comúnmente como el "problema de los archivos
pequeños".

La característica Optimizar escritura de Delta Lake en Microsoft Fabric y Azure Synapse


Analytics en el motor de Apache Spark reduce el número de archivos escritos y tiene
como objetivo aumentar el tamaño del archivo de los datos escritos. El tamaño del
archivo de destino se puede cambiar según los requisitos de carga de trabajo mediante
las configuraciones.

La característica está habilitada de manera predeterminada en Microsoft Fabric


Runtime para Apache Spark. Para más información sobre escenarios de optimización de
uso de escritura, lea el artículo Necesidad de optimizar la escritura en Apache Spark.
Optimización de combinación
El comando MERGE de Data Lake permite a los usuarios actualizar una tabla delta con
condiciones avanzadas. Puede actualizar datos de una tabla de origen, una vista o un
DataFrame en una tabla de destino mediante el comando MERGE. Sin embargo, el
algoritmo actual de la distribución de código abierto de Delta Lake no está totalmente
optimizado para controlar las filas sin modificar. El equipo Delta de Microsoft Spark
implementó una optimización de combinación aleatoria baja personalizada. Las filas sin
modificar se excluirán de operaciones de orden aleatorio costosas que se necesiten para
actualizar las filas coincidentes.

La implementación se controla mediante la configuración


[Link] , habilitada de forma predeterminada
en el tiempo de ejecución. No requiere cambios de código y es totalmente compatible
con la distribución de código abierto de Delta Lake. Para más información sobre los
escenarios de uso de combinación aleatoria baja, lea el artículo Optimización de
combinación aleatoria baja en tablas delta.

Mantenimiento de tablas delta


A medida que cambian las tablas delta, el rendimiento y la rentabilidad del
almacenamiento tienden a degradarse por los siguientes motivos:

Los nuevos datos agregados a la tabla pueden sesgar datos.


Las tasas de ingesta de datos por lotes y streaming pueden traer muchos archivos
pequeños.
Las operaciones de actualización y eliminación finalmente crean sobrecarga de
lectura; los archivos parquet son inmutables por diseño, por lo que las tablas delta
agregan nuevos archivos parquet con el conjunto de cambios, ampliando aún más
los problemas impuestos por los dos primeros elementos.
Ya no se necesitan archivos de datos ni archivos de registro disponibles en el
almacenamiento.

Con el fin de mantener las tablas en el mejor estado para obtener el mejor rendimiento,
realice operaciones de compactación y vaciado de bin en las tablas Delta. La
compactación de bin se logra mediante el comando OPTIMIZE ; combina todos los
cambios en archivos parquet más grandes y consolidados. La limpieza de
almacenamiento desreferenciada se logra mediante el comando VACUUM .

Los comandos de mantenimiento de tablas OPTIMIZE y VACUUM se pueden usar en


cuadernos y definiciones de trabajos de Spark y, a continuación, orquestarlos mediante
funcionalidades de plataforma. Lakehouse en Fabric ofrece una funcionalidad para usar
la interfaz de usuario para realizar el mantenimiento de tablas ad hoc, como se explica
en el artículo Mantenimiento de tablas de Delta Lake.

) Importante

Diseñar correctamente la estructura física de la tabla en función de la frecuencia de


ingesta y los patrones de lectura esperados es probablemente más importante que
ejecutar los comandos de optimización descritos en esta sección.

Control de V-Order al optimizar una tabla


Las siguientes estructuras de comandos realizan la compactación de bin y vuelven a
escribir todos los archivos afectados mediante V-Order, independientemente de la
configuración de TBLPROPERTIES o de la configuración de sesión:

SQL

%%sql
OPTIMIZE <table|fileOrFolderPath> VORDER;

OPTIMIZE <table|fileOrFolderPath> WHERE <predicate> VORDER;

OPTIMIZE <table|fileOrFolderPath> WHERE <predicate> [ZORDER BY (col_name1,


col_name2, ...)] VORDER;

Cuando se usan ZORDER y VORDER juntos, Apache Spark realiza la compactación de


bin, ZORDER y VORDER secuencialmente.

Los siguientes comandos realizan la compactación de bin y vuelven a escribir todos los
archivos afectados mediante la configuración TBLPROPERTIES. Si TBLPROPERTIES se
establece en true en V-Order, todos los archivos afectados se escriben como V-Order. Si
TBLPROPERTIES no se establece o se establece en false en V-Order, hereda la
configuración de sesión; por lo tanto, para quitar V-Order de la tabla, establezca la
configuración de sesión en false.

SQL

%%sql
OPTIMIZE <table|fileOrFolderPath>;

OPTIMIZE <table|fileOrFolderPath> WHERE predicate;


OPTIMIZE <table|fileOrFolderPath> WHERE predicate [ZORDER BY (col_name1,
col_name2, ...)];

Contenido relacionado
¿Qué es Delta Lake?
Tablas de Lakehouse y Delta
La necesidad de optimizar la escritura en Apache Spark
optimización de combinación aleatoria baja en tablas Delta

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Cómo usar los cuadernos de
Microsoft Fabric
Artículo • 25/10/2024

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. Los ingenieros de datos escriben código para la ingesta, preparación y
transformación de datos. Los científicos de datos también usan cuadernos para crear
soluciones de aprendizaje automático, incluyendo la creación de experimentos y
modelos, el seguimiento de modelos y la implementación.

Con un cuaderno de Fabric puede hacer lo siguiente:

Empezar a trabajar sin esfuerzo alguno de configuración.


Explorar y procesar fácilmente los datos con una experiencia intuitiva de poco
código.
Mantener los datos protegidos con las características de seguridad empresarial
integradas.
Analizar datos en formatos sin procesar (CSV, TXT, JSON, etc.) y formatos de
archivos procesados (parquet, Delta Lake, etc.) mediante las eficaces
funcionalidades de Spark.
Ser productivo con funcionalidades de creación mejoradas y visualización de datos
integrada.

En este artículo se describe cómo usar cuadernos en experiencias de ciencia de datos e


ingeniería de datos.

Contexto de seguridad del cuaderno en


ejecución
La ejecución de un cuaderno se puede desencadenar de tres maneras diferentes en
Fabric, con plena flexibilidad para cumplir diferentes escenarios:

Ejecución interactiva: el usuario desencadena manualmente la ejecución a través


de las distintas entradas de la experiencia de usuario o llamando a la API de REST.
La ejecución se llevaría a cabo en el contexto de seguridad del usuario actual.
Ejecución como actividad de canalización: la ejecución se desencadena desde la
canalización de Data Factory de Microsoft Fabric. Puede encontrar los pasos
detallados en la Actividad del cuaderno. La ejecución se llevaría a cabo en el
contexto de seguridad del propietario de la canalización.
Programador: la ejecución se desencadena desde un plan de programador. La
ejecución se llevaría a cabo en el contexto de seguridad del usuario que configura
o actualiza el plan del programador.

La flexibilidad de estas opciones de ejecución con un contexto de seguridad diferente le


permite cumplir distintos escenarios y requisitos, pero también requiere que tenga en
cuenta el contexto de seguridad al diseñar y desarrollar el cuaderno; de lo contrario,
puede provocar un comportamiento inesperado e incluso algunos problemas de
seguridad.

La primera vez que se crea un cuaderno, se mostrará un mensaje de advertencia para


recordarle el riesgo de ejecutar el código sin revisarlo.

Estos son algunos procedimientos recomendados para ayudarle a evitar problemas de


seguridad:

Antes de ejecutar manualmente el cuaderno, abra la configuración del cuaderno y


compruebe la sección Detalle en el panel Acerca de la actualización de
modificación para asegurarse de que el cambio más reciente es correcto.
Antes de añadir una actividad de cuaderno a una canalización, abra la
configuración del cuaderno y compruebe la sección Detalle en el panel Acerca de
la actualización de modificación para asegurarse de que el cambio más reciente es
correcto. Si no está seguro del cambio más reciente, es mejor que abra el
cuaderno para revisar el cambio antes de añadirlo a la canalización.
Antes de actualizar el plan del programador, abra la configuración del cuaderno y
compruebe la sección Detalle en el panel Acerca de la actualización de
modificación para asegurarse de que el cambio más reciente es correcto. Si no está
seguro del cambio más reciente, es mejor que abra el cuaderno para revisar el
cambio antes de actualizar el plan del programador.
Separe el área de trabajo en fases diferentes (desarrollo, prueba, producción) y
controle el acceso a las otras fases para evitar el problema de seguridad. Añada
solo el usuario en quien confíe a la fase de producción.
Creación de cuadernos
Puede crear un cuaderno o importar uno existente.

Creación un nuevo cuaderno


Como en otros procesos de creación de elementos de Fabric estándar, puede crear
fácilmente un cuaderno desde la página principal de Ingeniería de datos de Fabric, la
opción Nuevo del área de trabajo o en Crear centro.

Importar los cuaderno existentes


Puede importar uno o varios cuadernos existentes desde el equipo local mediante la
entrada de la barra de herramientas del área de trabajo. Los cuadernos de Fabric
reconocen los archivos estándar .ipynb de Jupyter Notebook y los archivos de código
fuente como .py, .scala y .sql, y crear respectivamente nuevos elementos de cuaderno.

Exportación de un cuaderno
Puede exportar el cuaderno a otros formatos estándar. Un cuaderno de Synapse se
puede exportar a:

El archivo de cuaderno estándar (.ipynb), que se usa normalmente para cuadernos


de Jupyter Notebook.
Un archivo HTML (.html), que se puede abrir directamente desde el explorador.
Un archivo de Python (.py).
Un archivo de Latex (.tex).
Guardado de un cuaderno
En Fabric, un cuaderno se guardará automáticamente de manera predeterminada
después de abrirlo y de editarlo; no hay que preocuparse por perder los cambios del
código. También puede usar Guardar una copia para clonar en otra copia en el área de
trabajo actual o en otra área de trabajo.

Si prefiere guardar manualmente un cuaderno, puede cambiar a la opción de guardado


Manual para tener una rama local del elemento del cuaderno y, a continuación, usar
Guardar o CTRL+s para guardar los cambios.
También puede cambiar al modo de guardado manual seleccionando Editar ->Opciones
de guardado ->Manual. Para activar una rama local del cuaderno, guárdelo
manualmente seleccionando Guardar o use el método abreviado de teclado Ctrl+s.

Conectar lakehouses y cuadernos


Los cuadernos de Fabric ahora admiten interacciones cercanas con los almacenes de
lago; puede agregar fácilmente un almacén de lago nuevo o existente desde el
Explorador del almacén de lago.

Puede ir a diferentes almacenes de lago en el Explorador del almacén de lago y anclar


un almacén de lago para establecerlo como predeterminado. A continuación, el almacén
predeterminado se monta en el directorio de trabajo del entorno de ejecución y puede
leer o escribir en el almacén de lago predeterminado mediante una ruta de acceso local.

7 Nota

Debe reiniciar la sesión después de anclar un nuevo almacén de lago o cambiar el


nombre del almacén de lago predeterminado.

Agregar o eliminar una instancia de Lakehouse


Al seleccionar el icono X situado junto a un nombre del Lakehouse, se quita de la
pestaña del cuaderno, pero el elemento Lakehouse sigue existiendo en el área de
trabajo.

Seleccione Agregar Lakehouse para agregar más al cuaderno, ya sea agregando uno
existente o creando uno nuevo.
Explorar un archivo Lakehouse
La subcarpeta y los archivos de la sección Tablas y Archivos de la vista Lake aparecen en
un área de contenido entre la lista de Lakehouse y el contenido del cuaderno.
Seleccione diferentes carpetas de la sección Tablas y Archivos para actualizar el área de
contenido.

Operaciones de carpeta y de archivo


Si selecciona un archivo (.csv, .parquet, .txt, .jpg, .png, etc.) con un clic derecho, puede
usar la API de Spark y la de Pandas para cargar los datos. Se genera una nueva celda de
código y se inserta debajo de la celda que tiene el foco.

Puede copiar fácilmente una ruta de acceso con un formato diferente al del archivo o
carpeta que se ha seleccionado y usar la ruta de acceso correspondiente en el código.

Recursos de los cuadernos


El explorador de recursos de los cuadernos proporciona un sistema de archivos similar a
Unix para ayudar a administrar las carpetas y los archivos. Ofrece un espacio de sistema
de archivos que se puede escribir, donde puede almacenar archivos de tamaño
pequeño, como módulos de código, modelos semánticos e imágenes. Puede acceder
fácilmente a ellos con código en el cuaderno de la misma manera que si estuviera
trabajando con el sistema de archivos local.
7 Nota

Los almacenamientos de recursos máximos para carpetas integradas y


carpetas de entorno son de 500 MB, con un tamaño de archivo único de
hasta 100 MB. Ambos permiten hasta 100 instancias de archivo o carpeta en
total.
Si usa [Link]() , utilice el comando
[Link] para acceder al recurso del cuaderno de destino. La

ruta de acceso relativa integrada/ siempre apuntará a la carpeta integrada del


cuaderno raíz.

Carpeta de recursos integrados


La carpeta de recursos integrados es una carpeta predefinida del sistema para cada
instancia de elemento de cuaderno. Estas son las funcionalidades clave de los recursos
del cuaderno.
Puede usar operaciones comunes como crear, eliminar, cargar, descargar, arrastrar
y colocar, cambiar el nombre, duplicar y buscar a través de la interfaz de usuario.
Puede usar rutas de acceso relativas como builtin/[Link] para explorar de
manera rápida. El método de [Link] le ayuda a componer la
ruta de acceso completa.
Puede mover fácilmente los datos validados a un almacén de lago mediante la
opción Escribir en almacén de lago. Fabric tiene fragmentos de código
enriquecido insertados para los tipos de archivo comunes, que le ayudarán a
empezar a trabajar rápidamente.
Estos recursos también están disponibles para usarse en el caso de ejecución del
cuaderno de referencia mediante [Link]() .

Carpeta de recursos de entorno


Carpeta de recursos de entorno es un repositorio compartido diseñado para simplificar
la colaboración entre varios cuadernos.

Puede encontrar la pestaña Recursos dentro del entorno y tener las operaciones
completas para administrar los archivos de recursos aquí. Estos archivos se pueden
compartir entre varios cuadernos una vez que el cuaderno está conectado al
entorno actual.

En la página Cuaderno, puede encontrar fácilmente una segunda carpeta raíz en


Recursos heredados del entorno adjunto.
También puede operar en los archivos o carpetas iguales con la carpeta Recursos
integrados.

La ruta de acceso del recurso entorno se montará automáticamente en el clúster


de cuadernos; puede usar la ruta de acceso relativa /env para acceder a los
recursos del entorno.

Editor de archivos
El editor de archivos permite ver y editar archivos directamente dentro de la carpeta de
recursos del cuaderno y la carpeta de recursos del entorno del cuaderno. Los tipos de
archivo admitidos incluyen CSV, TXT, HTML, YML, PY, SQL, etc. Con el editor de
archivos, puede acceder y modificar archivos fácilmente en el cuaderno, admite el
resaltado de palabras clave y proporciona un servicio de lenguaje necesario al abrir y
editar archivos de código como .py y .sql.

Puede acceder a esta característica a través de "Ver y editar" en el menú archivo.


Hacer doble clic en el archivo es una manera más rápida.
El cambio de contenido en el editor de archivos debe guardarse manualmente
haciendo clic en el botón Guardar o el método abreviado de teclado: Ctrl+S, el
editor de archivos no admite el guardado automático.

El editor de archivos también se ve afectado por el modo de cuaderno. Solo puede


ver los archivos, pero no puede editarlos si está en modo de cuaderno sin permiso
de edición.

7 Nota

Estas son algunas limitaciones para el editor de archivos.

El límite de tamaño de archivo es de 1 MB.


Estos tipos de archivo no se admiten para ver y editar: .xlsx y .parquet.

Colaborar en un cuaderno
El cuaderno de Fabric es un elemento de colaboración que admite la edición por parte
de varios usuarios en el mismo cuaderno.

Cuando abre un cuaderno, se entra al modo de edición conjunta de manera


predeterminada y todas las ediciones del cuaderno se guardarán automáticamente. Si
los compañeros abren el mismo cuaderno al mismo tiempo, verá su perfil, la salida de la
ejecución, el indicador del cursor, el indicador de selección y el seguimiento de la
edición. Mediante las características de colaboración, puede realizar fácilmente la
programación en pareja, la depuración remota y los escenarios de tutoría.

Uso compartido de un cuaderno


Compartir un cuaderno es una manera cómoda de colaborar con los miembros del
equipo. Los roles de área de trabajo autorizados pueden ver o editar/ejecutar cuadernos
de forma predeterminada. Puede compartir un cuaderno con los permisos especificados
concedidos.

1. Seleccione Compartir en la barra de herramientas del cuaderno.


2. Seleccione la categoría correspondiente de personas que pueden ver este
cuaderno. Puede elegir los permisos Compartir, Editar o Ejecutar para los
destinatarios.

3. Después de seleccionar Aplicar, puede enviar el cuaderno directamente o copiar el


vínculo para otros usuarios. A continuación, los destinatarios pueden abrir el
cuaderno con la vista correspondiente concedida por su nivel de permisos.
4. Para administrar aún más los permisos del cuaderno, seleccione Lista de
elementos del área de trabajo>Más opciones y, a continuación, seleccione
Administrar permisos. Desde esa pantalla, puede actualizar el acceso y los
permisos existentes del cuaderno.
Comentar una celda de código
La creación de comentarios es otra característica útil en escenarios de colaboración.
Actualmente, Fabric admite la adición de comentarios de nivel de celda.

1. Seleccione el botón Comentarios de la barra de herramientas del cuaderno o el


indicador de comentario de celda para abrir el panel Comentarios.

2. Seleccione el código en la celda de código, seleccione Nuevo en el panel


Comentarios, agregue los comentarios y, a continuación, seleccione Publicar
comentario para guardarlo.
3. Si las necesita, busque las opciones Editar comentario, Resolver conversación y
Eliminar conversación; para ello, seleccione la opción Más situada junto al
comentario.

Etiquetado de otros usuarios en un comentario


"Etiquetado" hace referencia a mencionar y notificar a un usuario en un subproceso de
comentario, lo que mejora la colaboración de forma eficaz en los detalles.

1. Seleccione una sección de código en una celda y un nuevo subproceso de


comentario.

2. Introduzca el nombre de usuario y elija el correcto en la lista de sugerencias si


desea mencionar a alguien para obtener información sobre una determinada
sección.

3. Comparta sus conclusiones y publíquelas.

4. Se desencadenará una notificación por correo electrónico y el usuario hace clic en


el vínculo Abrir comentarios para localizar rápidamente esta celda.

5. Además, autorice y configure los permisos para los usuarios al etiquetar a alguien
que no tiene acceso, lo que garantiza que los recursos de código estén bien
administrados.
7 Nota

Para un elemento de comentario, el usuario etiquetado ya no recibirá una


notificación por correo electrónico si actualiza el comentario en un plazo de una
hora. Pero enviará una notificación por correo electrónico al nuevo usuario
etiquetado.

Conmutador del modo notebook


Los cuadernos de Fabric admiten cuatro modos que se pueden cambiar fácilmente:
Modo de desarrollo , Modo de solo ejecución, Modo de edición y Modo de vista .
Cada modo se asigna a una combinación de permisos específica. Al compartir el
cuaderno con otros miembros del equipo, puede conceder permisos adecuados a los
destinatarios y verá el mejor modo de cuaderno disponible según su permiso y podrá
cambiar entre el modo al que tienen permiso.
Modo de desarrollo: lectura, ejecución, permiso de escritura necesario.
Modo de solo ejecución: lectura, ejecución y permiso necesario.
Modo de edición: se necesita permiso de lectura y escritura.
Modo de vista: se necesita permiso de lectura.

Contenido relacionado
Creador y ejecución de cuadernos

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Desarrollo, ejecución y administración de
cuadernos de Microsoft Fabric
Artículo • 18/04/2024

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.

1. Mantenga el puntero sobre el espacio entre dos celdas y seleccione Código o Markdown.
2. 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.

ノ Expandir tabla

Comando magic Lenguaje Descripción

%%pyspark Python Ejecute una consulta de Python en SparkContext.

%%spark Scala Ejecute una consulta de Scala en SparkContext.

%%sql SparkSQL Ejecute una consulta de SparkSQL en SparkContext.

%%html Html Ejecute una consulta de HTML en Spark Context.

%%sparkr R Ejecute una consulta de R en SparkContext.

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:

ノ Expandir tabla

Idiomas Resaltado Creador Finalización Finalización Finalización Finalización Sangría Plegado


de de de código de código de código de código inteligente de
sintaxis errores de sintaxis de de función de código
de variables del sistema funciones
sintaxis del usuario

PySpark Sí Sí Sí Sí Sí Sí Sí Sí
(Python)

Spark Sí Sí Sí Sí Sí Sí Sí Sí
(Scala)

SparkSQL Sí Sí Sí Sí Sí No Sí Sí

SparkR Sí Sí Sí Sí Sí Sí Sí Sí

7 Nota

Debes tener una sesión de 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 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.

7 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 mssparkutils de referencia de ejecución, también puedes usar el comando
magic %run <notebook name> 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.

7 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 y string . 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" }

7 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

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.

7 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.

Indicar el trabajo de Spark insertado


El cuaderno de Microsoft Fabric se basa en Spark. Las celdas de código se ejecutan en el clúster
de 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.
7 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:

1. Cree un cuaderno con el nombre "MyLakehouseModule".

2. 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


1. Primero debe importar el módulo ipywidgets para usar el marco del widget de Jupyter.

Python

import ipywidgets as widgets

2. 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.

Python

slider = [Link]()
display(slider)

3. Ejecute la celda. El widget se muestra en el área de salida.

Python

slider = [Link]()
display(slider)

4. Usa varias llamadas de display() para representar la misma instancia de widget varias veces.
Permanecen sincronizadas entre sí.

Python

slider = [Link]()
display(slider)
display(slider)

5. Para representar dos widgets independientes entre sí, cree dos instancias de widget:

Python

slider1 = [Link]()
slider2 = [Link]()
display(slider1)
display(slider2)

Widgets admitidos

ノ Expandir tabla

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
Tipos de widgets Widgets

Widgets de cadena Text, Text area, Combobox, Password, Label, HTML, HTML Math, Image, Button

Widgets de Date picker, Color picker, Controller


reproducción
(animación)

Widgets de contenedor Box, HBox, VBox, GridBox, Accordion, Tabs, Stacked


o diseño

Limitaciones conocidas
Los siguientes widgets todavía no se admiten. Las siguientes soluciones están disponibles:

ノ Expandir tabla

Funcionalidad Solución alternativa

Widget de salida Puede usar la función print() en su lugar para escribir texto en stdout.

[Link]() Puede usar la función [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.

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
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.

JSON

%%configure
{
// You can get a list of valid parameters to config the session from
[Link]
"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>.[Link]/<path>/[Link]", "wasb[s]:
//<containername>@<accountname>.[Link]/<path>/[Link]"],
"conf": {
// Example of customized property, you can specify count of lines that Spark
SQL returns by configuring "[Link]-rows".
"[Link]-rows": "3000",
"[Link]": "ALL"
}
"defaultLakehouse": { // This overwrites the default lakehouse for current
session
"name": "<lakehouse-name>",
"id": "<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>.[Link]/<path>"
},
{
"mountPoint": "/myMountPoint1",
"source":
"abfs[s]://<file_system>@<account_name>.[Link]/<path1>"
},
],
"useStarterPool": false, // Set to true to force using starter pool
"useWorkspacePool": "<workspace-pool-name>"
}

7 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.
El %%configure usado en [Link] se omitirá, 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 "[Link]",
"[Link]", "[Link]", "[Link]" y
"[Link]", 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"
}

Python

%%configure

{
"driverCores":
{
"parameterName": "driverCoresFromNotebookActivity",
"defaultValue": 4
},
"conf":
{
"[Link]-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
[Link]-rows , por 4000.

7 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:

Python

import logging

# Customize the logging format for all loggers


FORMAT = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
formatter = [Link](fmt=FORMAT)
for handler in [Link]().handlers:
[Link](formatter)

# Customize log level for all loggers


[Link]().setLevel([Link])
# Customize the log level for a specific logger
customizedLogger = [Link]('customized')
[Link]([Link])

# logger that use the default global log level


defaultLogger = [Link]('default')
[Link]("default debug message")
[Link]("default info message")
[Link]("default warning message")
[Link]("default error message")
[Link]("default critical message")

# logger that use the customized log level


[Link]("customized debug message")
[Link]("customized info message")
[Link]("customized warning message")
[Link]("customized error message")
[Link]("customized critical message")

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


ノ Expandir tabla

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.

ノ Expandir tabla

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


Acción Métodos abreviados del cuaderno

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.

Contenido relacionado
Visualización de cuadernos
Introducción a Fabric MSSparkUtils

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Fabric Notebook known limitation
Article • 08/29/2024

This document outlines the known limitations of Fabric notebooks to help you
understand the constraints and optimize your notebook usage effectively and avoid
common issues.

Notebook sizing
Notebook content size is limited to 32 MB.
The notebook snapshot size is limited to 32 MB.
Rich dataframe table output is limited to 10K rows and 5 MB data size.
The maximum Resource storages for both built-in folder and environment folder
are 500 MB, with a single file size up to 100 MB.

Output table
Rich dataframe table view is limited to 10K rows or 5 MB.

Other specific limitations


256 code cells could be executed for each notebook at most.
7 days is the longest running job time.
The upper limit for notebook activities or concurrent notebooks in
[Link]() is 50.

The statement depth for %run is up to 5, with a total of 1000 referenced cells.
Notebook job history is retained for 60 days.
To personalize your Spark session in %%configure , set the same value for
"DriverMemory" and "ExecutorMemory". The "driverCores" and "executorCores"
values should also be the same. Choose an executor size from the following
options: (4, 28g), (8, 56g), (16, 112g), (32, 224g) or (64, 400g). Furthermore, use
this formula to make sure capacity stays within limits: (NumExecutors + 1) *
ExecutorCores.

Feedback
Was this page helpful?  Yes  No

Provide product feedback | Ask the community


NotebookUtils (antiguo MSSparkUtils) para Fabric
Artículo • 26/07/2024

Las utilidades de notebook (NotebookUtils) son un paquete integrado que le ayudará a realizar fácilmente tareas comunes en Fabric
Notebook. Puede usar NotebookUtils para trabajar con sistemas de archivos, obtener variables de entorno, encadenar cuadernos entre sí y
trabajar con secretos. El paquete NotebookUtils está disponible en PySpark (Python) Scala, cuadernos de SparkR y canalizaciones de Fabric.

7 Nota

MsSparkUtils ha cambiado oficialmente el nombre a NotebookUtils. El código existente seguirá siendo compatible con
versiones anteriores y no provocará cambios importantes. Se recomienda encarecidamente actualizar a notebookutils para
garantizar el soporte y el acceso continuos a las nuevas características. El espacio de nombres mssparkutils se retirará en el
futuro.
NotebookUtils está diseñado para funcionar con Spark 3.4(Runtime v1.2) y versiones posteriores. Todas las nuevas
características y actualizaciones se admitirán exclusivamente con el espacio de nombres notebookutils en el futuro.

Utilidades del sistema de archivos


[Link] ofrece utilidades para trabajar con varios sistemas de archivos, como Azure Data Lake Storage (ADLS) Gen2 y Azure Blob
Storage. Asegúrese de configurar el acceso a Azure Data Lake Storage Gen2 y Azure Blob Storage adecuadamente.

Ejecute los siguientes comandos para obtener información general sobre los métodos disponibles:

Python

[Link]()

Salida

Consola

[Link] provides utilities for working with various FileSystems.

Below is overview about the available methods:

cp(from: String, to: String, recurse: Boolean = false): Boolean -> Copies a file or directory, possibly across FileSystems
fastcp(from: String, to: String, recurse: Boolean = true): Boolean -> [Preview] Copies a file or directory via azcopy,
possibly across FileSystems
mv(from: String, to: String, createPath: Boolean = false, overwrite: Boolean = false): Boolean -> Moves a file or
directory, possibly across FileSystems
ls(dir: String): Array -> Lists the contents of a directory
mkdirs(dir: String): Boolean -> Creates the given directory if it does not exist, also creating any necessary parent
directories
put(file: String, contents: String, overwrite: Boolean = false): Boolean -> Writes the given String out to a file, encoded
in UTF-8
head(file: String, maxBytes: int = 1024 * 100): String -> Returns up to the first 'maxBytes' bytes of the given file as a
String encoded in UTF-8
append(file: String, content: String, createFileIfNotExists: Boolean): Boolean -> Append the content to a file
rm(dir: String, recurse: Boolean = false): Boolean -> Removes a file or directory
exists(file: String): Boolean -> Check if a file or directory exists
mount(source: String, mountPoint: String, extraConfigs: Map[String, Any]): Boolean -> Mounts the given remote storage
directory at the given mount point
unmount(mountPoint: String): Boolean -> Deletes a mount point
mounts(): Array[MountPointInfo] -> Show information about what is mounted
getMountPath(mountPoint: String, scope: String = ""): String -> Gets the local path of the mount point

Use [Link]("methodName") for more info about a method.

NotebookUtils funciona con el sistema de archivos de la misma manera que las API de Spark. Tomemos como ejemplo
[Link]() y el uso del almacén de lago de Fabric:

ノ Expandir tabla
Uso Ruta de acceso relativa desde la raíz de Ruta de acceso absoluta para el sistema de archivos ABFS
HDFS

Lakehouse no No compatible [Link]("abfss://<container_name>@<storage_account_name>.[Link]/<new


predeterminado

Lakehouse Directorio en "Files" o "Tables": [Link]("abfss://<container_name>@<storage_account_name>.[Link]/<new


predeterminado [Link]("Files/<new_dir>")

Enumerar archivos
Para enumerar el contenido de un directorio, use [Link]('Your directory path'). Por ejemplo:

Python

[Link]("Files/tmp") # works with the default lakehouse files using relative path
[Link]("abfss://<container_name>@<storage_account_name>.[Link]/<path>") # based on ABFS file
system
[Link]("file:/tmp") # based on local file system of driver node

Vea las propiedades del archivo.


Este método devuelve las propiedades del archivo, incluido el nombre, la ruta de acceso, el tamaño y si es un directorio o un archivo.

Python

files = [Link]('Your directory path')


for file in files:
print([Link], [Link], [Link], [Link], [Link])

Creación de un directorio
Este método crea el directorio especificado si no existe y también crea los directorios principales necesarios.

Python

[Link]('new directory name')


[Link]("Files/<new_dir>") # works with the default lakehouse files using relative path
[Link]("abfss://<container_name>@<storage_account_name>.[Link]/<new_dir>") # based on ABFS file
system
[Link]("file:/<new_dir>") # based on local file system of driver node

Copiar archivo
Este método copia un archivo o directorio y admite la actividad de copia entre sistemas de archivos.

Python

[Link]('source file or directory', 'destination file or directory', True)# Set the third parameter as True to
copy all files and directories recursively

Copiar archivos de un modo más eficaz


Este método ofrece un enfoque más eficaz para copiar o mover archivos, especialmente cuando se trabaja con grandes volúmenes de
datos. Para mejorar el rendimiento en Fabric, es aconsejable utilizar fastcp como sustituto del método tradicional cp .

Python

[Link]('source file or directory', 'destination file or directory', True)# Set the third parameter as True
to copy all files and directories recursively

Vista previa del contenido del archivo


Este método devuelve hasta los primeros "maxBytes" bytes del archivo especificado como una cadena codificada en UTF-8.

Python

[Link]('file path', maxBytes to read)

Mover archivo
Este método mueve un archivo o directorio y admite movimientos entre sistemas de archivos.

Python

[Link]('source file or directory', 'destination directory', True) # Set the last parameter as True to firstly
create the parent directory if it does not exist
[Link]('source file or directory', 'destination directory', True, True) # Set the third parameter to True to
firstly create the parent directory if it does not exist. Set the last parameter to True to overwrite the updates.

Escritura de archivos
Este método escribe la cadena especificada en un archivo, codificada en formato UTF-8.

Python

[Link]("file path", "content to write", True) # Set the last parameter as True to overwrite the file if it
existed already

Adición de contenido a un archivo


Este método anexa la cadena especificada a un archivo, codificada en formato UTF-8.

Python

[Link]("file path", "content to append", True) # Set the last parameter as True to create the file if it
does not exist

Eliminación de un archivo o directorio


Este método quita un archivo o directorio.

Python

[Link]('file path', True) # Set the last parameter as True to remove all files and directories recursively

Montaje o desmontaje del directorio


Obtenga más información sobre el uso detallado en Montaje y desmontaje de archivos.

Utilidades de cuaderno
Use las utilidades de cuaderno para ejecutar un cuaderno o salir de uno con un valor. Ejecute el siguiente comando para obtener
información general sobre los métodos disponibles:

Python

[Link]()

Salida:

Consola

The notebook module.


exit(value: String): void -> This method lets you exit a notebook with a value.
run(path: String, timeoutSeconds: int, arguments: Map, workspace: String): String -> This method runs a notebook and
returns its exit value.
runMultiple(DAG: Any): Map[String, MsNotebookRunResult] -> [Preview] Runs multiple notebooks concurrently with support for
dependency relationships.
validateDAG(DAG: Any): Boolean -> [Preview] This method check if the DAG is correctly defined.

[Preview] Below methods are only support Fabric Notebook.


create(name: String, description: String = "", content: String = "", defaultLakehouse: String = "",
defaultLakehouseWorkspace: String = "", workspaceId: String = ""): Artifact -> Create a new Notebook.
get(name: String, workspaceId: String = ""): Artifact -> Get a Notebook by name or id.
update(name: String, newName: String, description: String = "", workspaceId: String = ""): Artifact -> Update a Artifact by
name.
delete(name: String, workspaceId: String = ""): Boolean -> Delete a Notebook by name.
list(workspaceId: String = "", maxResults: Int = 1000): Array[Artifact] -> List all Notebooks in the workspace.
updateDefinition(name: String, content: String = "", defaultLakehouse: String = "", defaultLakehouseWorkspace: String = "",
workspaceId: String = "") -> Update the definition of a Notebook.

Use [Link]("methodName") for more info about a method.

7 Nota

Las utilidades de cuaderno no son aplicables a las definiciones de trabajo de Apache Spark (SJD).

Referencia a un cuaderno
Este método hace referencia a un cuaderno y devuelve su valor de salida. Puede ejecutar llamadas de función anidadas en un cuaderno de
manera interactiva o en una canalización. El cuaderno al que se hace referencia se ejecuta en el grupo de Spark del cuaderno que llama a
esta función.

Python

[Link]("notebook name", <timeoutSeconds>, <parameterMap>, <workspaceId>)

Por ejemplo:

Python

[Link]("Sample1", 90, {"input": 20 })

El cuaderno de Fabric también admite la referencia a cuadernos en varias áreas de trabajo especificando el ID del área de trabajo.

Python

[Link]("Sample1", 90, {"input": 20 }, "fe0a6e2a-a909-4aa3-a698-0a651de790aa")

Puede abrir el vínculo de instantánea de la ejecución de referencia en la salida de la celda. La instantánea captura los resultados de la
ejecución del código y permite depurar fácilmente una ejecución de referencia.


7 Nota

El cuaderno de referencia entre áreas de trabajo es compatible con la versión 1.2 y posteriores del tiempo de ejecución.
Si utiliza los archivos en Recurso de cuaderno, use [Link] en el cuaderno al que se hace referencia para
asegurarse de que apunta a la misma carpeta que la ejecución interactiva.

Referencia que ejecuta varios cuadernos en paralelo

) Importante

Esta característica se encuentra en versión preliminar.

El método [Link]() permite ejecutar varios cuadernos en paralelo o con una estructura topológica
predefinida. La API utiliza un mecanismo de implementación de varios subprocesos dentro de una sesión de Spark, lo que significa que los
recursos de proceso se comparten mediante las ejecuciones del cuaderno de referencia.

Con [Link]() , puede:

Ejecute varios cuadernos simultáneamente, sin esperar a que finalice cada uno.

Especifique las dependencias y el orden de ejecución de los cuadernos mediante un formato JSON simple.

Optimice el uso de recursos de proceso de Spark y reduzca el costo de los proyectos de Fabric.

Vea las instantáneas de cada registro de ejecución de cuadernos en la salida y depure o supervise las tareas del cuaderno de forma
cómoda.

Obtenga el valor de salida de cada actividad ejecutiva y úselos en tareas descendentes.

También puede intentar ejecutar [Link]("runMultiple") para buscar el ejemplo y el uso detallado.

Este es un ejemplo sencillo de ejecutar una lista de cuadernos en paralelo mediante este método:

Python

[Link](["NotebookSimple", "NotebookSimple2"])

El resultado de la ejecución del cuaderno raíz es el siguiente:


A continuación se muestra un ejemplo de ejecución de cuadernos con estructura topológica mediante


[Link]() . Use este método para organizar fácilmente cuadernos a través de una experiencia de código.

Python

# run multiple notebooks with parameters


DAG = {
"activities": [
{
"name": "NotebookSimple", # activity name, must be unique
"path": "NotebookSimple", # notebook path
"timeoutPerCellInSeconds": 90, # max timeout for each cell, default to 90 seconds
"args": {"p1": "changed value", "p2": 100}, # notebook parameters
},
{
"name": "NotebookSimple2",
"path": "NotebookSimple2",
"timeoutPerCellInSeconds": 120,
"args": {"p1": "changed value 2", "p2": 200}
},
{
"name": "NotebookSimple2.2",
"path": "NotebookSimple2",
"timeoutPerCellInSeconds": 120,
"args": {"p1": "changed value 3", "p2": 300},
"retry": 1,
"retryIntervalInSeconds": 10,
"dependencies": ["NotebookSimple"] # list of activity names that this activity depends on
}
],
"timeoutInSeconds": 43200, # max timeout for the entire DAG, default to 12 hours
"concurrency": 50 # max number of notebooks to run concurrently, default to 50
}
[Link](DAG, {"displayDAGViaGraphviz": False})

El resultado de la ejecución del cuaderno raíz es el siguiente:


También proporcionamos un método para comprobar si el DAG está definido correctamente.

Python

[Link](DAG)

7 Nota

El grado de paralelismo de la ejecución de varios cuadernos está restringido al recurso de proceso total disponible de una sesión
de Spark.
El límite superior de actividades de cuadernos o cuadernos simultáneos es de 50. Superar este límite puede provocar problemas
de estabilidad y rendimiento debido a un uso elevado de recursos de proceso. Si surgen problemas, considere la posibilidad de
separar cuadernos en varias llamadas de runMultiple o reducir la simultaneidad ajustando el campo de simultaneidad en el
parámetro DAG.
El tiempo de expiración predeterminado para el DAG completo es de 12 horas y el tiempo de expiración predeterminado para
cada celda del cuaderno secundario es de 90 segundos. Puede cambiar el tiempo de expiración definiendo los campos
timeoutInSeconds y timeoutPerCellInSeconds en el parámetro DAG.

Salida de un cuaderno
Este método sale de un cuaderno con un valor. Puede ejecutar llamadas de función anidadas en un cuaderno de manera interactiva o en
una canalización.

Cuando llama a una función exit() desde un cuaderno de forma interactiva, el cuaderno de Fabric generará una excepción, omitirá la
ejecución de celdas de subsecuencia y mantendrá activa la sesión de Spark.

Cuando se orquesta un cuaderno en una canalización que llama a una función exit(), la actividad de cuaderno vuelve con un valor de
salida, completa la ejecución de canalización y detiene la sesión de Spark.

Cuando se llama a una función exit() en un cuaderno al que se está haciendo referencia, Fabric Spark detendrá la ejecución posterior
del cuaderno al que se hace referencia y continuará ejecutando las siguientes celdas en el cuaderno principal que llama a la función
run(). Por ejemplo: Notebook1 tiene tres celdas y llama a una función exit() en la segunda celda. Notebook2 tiene cinco celdas y llama
a run(notebook1) en la tercera celda. Al ejecutar Notebook2, Notebook1 se detiene en la segunda celda al pulsar la función exit().
Notebook2 continua con la ejecución de su cuarta y quinta celda.
Python

[Link]("value string")

Por ejemplo:

El cuaderno Sample1 con las dos celdas siguientes:

La celda 1 define un parámetro input con un valor predeterminado establecido en 10.

La celda 2 sale del cuaderno con el valor de input como valor de salida.

Puede ejecutar Sample1 en otro cuaderno con los valores predeterminados:

Python

exitVal = [Link]("Sample1")
print (exitVal)

Salida:

Consola

Notebook is executed successfully with exit value 10

Puede ejecutar Sample1 en otro cuaderno y establecer el valor de input en 20:

Python

exitVal = [Link]("Sample1", 90, {"input": 20 })


print (exitVal)

Salida:

Consola

Notebook is executed successfully with exit value 20

Administración de artefactos de cuadernos


[Link] proporciona utilidades especializadas para administrar elementos de Notebook mediante programación. Estas API

pueden ayudarle a crear, obtener, actualizar y eliminar elementos de Notebook fácilmente.

Para usar estos métodos de forma eficaz, tenga en cuenta los ejemplos de utilización siguientes:

Creación de un cuaderno
Python

with open("/path/to/[Link]", "r") as f:


content = [Link]()

artifact = [Link]("artifact_name", "description", "content", "default_lakehouse_name",


"default_lakehouse_workspace_id", "optional_workspace_id")
Obtener contenido de un cuaderno
Python

artifact = [Link]("artifact_name", "optional_workspace_id")

Actualización de un cuaderno
Python

updated_artifact = [Link]("old_name", "new_name", "optional_description", "optional_workspace_id")

Python

updated_artifact_definition = [Link]("artifact_name", "content",


"default_lakehouse_name", "default_Lakehouse_Workspace_name", "optional_workspace_id")

Eliminación de un cuaderno
Python

is_deleted = [Link]("artifact_name", "optional_workspace_id")

Enumeración de cuadernos en un área de trabajo


Python

artifacts_list = [Link]("optional_workspace_id")

Utilidades de credenciales
Puede usar las utilidades de credenciales para obtener los tokens de acceso y administrar los secretos en Azure Key Vault.

Ejecute el siguiente comando para obtener información general sobre los métodos disponibles:

Python

[Link]()

Salida:

Consola

Help on module [Link] in notebookutils:

NAME
[Link] - Utility for credentials operations in Fabric

FUNCTIONS
getSecret(akvName, secret) -> str
Gets a secret from the given Azure Key Vault.
:param akvName: The name of the Azure Key Vault.
:param secret: The name of the secret.
:return: The secret value.

getToken(audience) -> str


Gets a token for the given audience.
:param audience: The audience for the token.
:return: The token.

help(method_name=None)
Provides help for the [Link] module or the specified method.

Examples:
[Link]()
[Link]("getToken")
:param method_name: The name of the method to get help with.

DATA
creds = <[Link]...

FILE
/home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages/notebookutils/[Link]

Obtener el token
getToken devuelve un token de Microsoft Entra para una audiencia y un nombre determinado (opcional). En la lista siguiente se muestran
las claves de público disponibles actualmente:

Recurso de público de almacenamiento: "storage"


Recursos de Power BI: "pbi"
Recurso de Azure Key Vault: "keyvault"
Recurso de base de datos KQL de Synapse RTA: "kusto"

Ejecute el siguiente comando para obtener el token:

Python

[Link]('audience Key')

Obtención del secreto con las credenciales de usuario


getSecret devuelve un secreto de Azure Key Vault para un punto de conexión y un nombre de secreto de Azure Key Vault determinados
mediante las credenciales del usuario.

Python

[Link]('[Link] 'secret name')

Montaje y desmontaje de archivos


Fabric admite los siguientes escenarios de montaje en el paquete de utilidades de Microsoft Spark. Puede usar las API mount, unmount,
getMountPath() y mounts() para adjuntar almacenamiento remoto (ADLG Gen2) a todos los nodos de trabajo (nodo de driver y nodos de
trabajo). Una vez instalado el punto de montaje de almacenamiento, utilice la API de archivos locales para acceder a los datos como si
estuvieran almacenados en el sistema de archivos local.

Montaje de una cuenta de ADLS Gen2


En el ejemplo siguiente se muestra cómo montar Azure Data Lake Storage Gen2. El montaje de Blob Storage funciona de forma similar.

En este ejemplo se supone que tiene una cuenta de Data Lake Storage Gen2 denominada storegen2 y que la cuenta tiene un contenedor
denominado mycontainer que desea montar en /test en la sesión de Spark del cuaderno.

Para montar el contenedor llamado mycontainer, notebookutils primero necesita comprobar si tiene permiso para acceder al contenedor.
Actualmente, Fabric admite dos métodos de autenticación para la operación de montaje del desencadenador: accountKey y sastoken.

Montaje con un token de firma de acceso compartido o una clave de cuenta


NotebookUtils permite pasar explícitamente una clave de cuenta o firma de acceso compartido (SAS) como parámetro para montar el
destino.

Por motivos de seguridad, se recomienda almacenar las claves de cuenta o los tokens de SAS en Azure Key Vault (como se muestra en la
siguiente captura de pantalla). A continuación, puede recuperarlos mediante la API [Link] API. Para obtener más
información sobre Azure Key Vault, consulte Acerca de las claves de cuenta de almacenamiento administradas de Azure Key Vault.

Código de ejemplo para el método accountKey:

Python

# get access token for keyvault resource


# you can also use full audience here like [Link]
accountKey = [Link]("<vaultURI>", "<secretName>")
[Link](
"abfss://mycontainer@<accountname>.[Link]",
"/test",
{"accountKey":accountKey}
)

Código de ejemplo para sastoken:

Python
# get access token for keyvault resource
# you can also use full audience here like [Link]
sasToken = [Link]("<vaultURI>", "<secretName>")
[Link](
"abfss://mycontainer@<accountname>.[Link]",
"/test",
{"sasToken":sasToken}
)

Parámetros de montaje:

fileCacheTimeout: los blobs se almacenarán en caché en la carpeta temporal local durante 120 segundos de forma predeterminada.
Durante este tiempo, blobfuse no comprobará si el archivo está actualizado o no. El parámetro se puede establecer para cambiar el
tiempo de espera predeterminado. Cuando varios clientes modifican archivos al mismo tiempo, para evitar incoherencias entre
archivos locales y remotos, se recomienda acortar el tiempo de caché o incluso cambiarlo a 0 y obtener siempre los archivos más
recientes del servidor.
timeout: el tiempo de espera de la operación de montaje es de 120 segundos de forma predeterminada. El parámetro se puede
establecer para cambiar el tiempo de espera predeterminado. Cuando hay demasiados ejecutores o cuando se agota el tiempo de
espera de montaje, se recomienda aumentar el valor.

Puede usar estos parámetros de la siguiente manera:

Python

[Link](
"abfss://mycontainer@<accountname>.[Link]",
"/test",
{"fileCacheTimeout": 120, "timeout": 120}
)

7 Nota

A efectos de seguridad, se recomienda evitar la inserción de credenciales directamente en el código. Para proteger aún más las
credenciales, se censurarán los secretos mostrados en las salidas del cuaderno. Para más información, consulte el artículo sobre
redacción de secretos.

Cómo montar un almacén de lago


Código de ejemplo para montar una instancia de Lakehouse en /test:

Python

[Link](
"abfss://<workspace_id>@[Link]/<lakehouse_id>",
"/test"
)

Acceso a los archivos del punto de montaje por medio de la API


notebookutils fs
El objetivo principal de la operación de montaje es permitir a los clientes acceder a los datos almacenados en una cuenta de
almacenamiento remoto con una API del sistema de archivos local. También puede acceder a los datos por medio de la API notebookutils fs
con una ruta de acceso montada como parámetro. Este formato de ruta de acceso es un poco diferente.

Supongamos que ha montado el contenedor de Data Lake Storage Gen2 mycontainer en /test utilizando la API de montaje. Cuando accede
a los datos con la API del sistema de archivos local, el formato de la ruta de acceso es como el siguiente:

Python

/synfs/notebook/{sessionId}/test/{filename}

Cuando quiera acceder a los datos mediante la API notebookutils fs, se recomienda usar getMountPath() para obtener la ruta de acceso
precisa:
Python

path = [Link]("/test")

Enumerar directorios:

Python

[Link](f"[Link]

Leer el contenido de archivos:

Python

[Link](f"[Link]

Crear un directorio:

Python

[Link](f"[Link]

Acceso a los archivos en el punto de montaje a través de la ruta de acceso


local
Puede leer y escribir fácilmente los archivos en el punto de montaje mediante el sistema de archivos estándar. Este es un ejemplo de
Python:

Python

#File read
with open([Link]('/test2') + "/[Link]", "r") as f:
print([Link]())
#File write
with open([Link]('/test2') + "/[Link]", "w") as f:
print([Link]("dummy data"))

Cómo comprobar los puntos de montaje existentes


Puede usar la API [Link]() para comprobar toda la información existente sobre los puntos de montaje:

Python

[Link]()

Desmontaje del punto de montaje.


Use el siguiente código para desmontar el punto de montaje (/test en este ejemplo):

Python

[Link]("/test")

Restricciones conocidas
El montaje actual es una configuración de nivel de trabajo; se recomienda usar las API de montajes para comprobar si existe un punto
de montaje o no está disponible.

El mecanismo de desmontaje no es automático. Cuando termine la ejecución de la aplicación, para desmontar el punto de montaje y
liberar el espacio en disco, debe llamar explícitamente a una API de desmontaje en el código. De lo contrario, el punto de montaje
seguirá existiendo en el nodo cuando termine la ejecución de la aplicación.
No se admite el montaje de una cuenta de almacenamiento de ADLS Gen1.

Utilidades de Lakehouse
[Link] proporciona utilidades adaptadas específicamente para administrar elementos de Lakehouse. Estas utilidades le

permiten crear, obtener, actualizar y eliminar artefactos de Lakehouse sin esfuerzo.

Información general de los métodos


A continuación se muestra información general de los métodos disponibles proporcionados por [Link] :

Python

# Create a new Lakehouse artifact


create(name: String, description: String = "", definition: ItemDefinition = null, workspaceId: String = ""): Artifact

# Retrieve a Lakehouse artifact


get(name: String, workspaceId: String = ""): Artifact

# Get a Lakehouse artifact with properties


getWithProperties(name: String, workspaceId: String = ""): Artifact

# Update an existing Lakehouse artifact


update(name: String, newName: String, description: String = "", workspaceId: String = ""): Artifact

# Delete a Lakehouse artifact


delete(name: String, workspaceId: String = ""): Boolean

# List all Lakehouse artifacts


list(workspaceId: String = "", maxResults: Int = 1000): Array[Artifact]

# List all tables in a Lakehouse artifact


listTables(lakehouse: String, workspaceId: String = "", maxResults: Int = 1000): Array[Table]

# Starts a load table operation in a Lakehouse artifact


loadTable(loadOption: [Link][String, Any], table: String, lakehouse: String, workspaceId: String = ""):
Array[Table]

Ejemplos de uso
Para usar estos métodos de forma eficaz, tenga en cuenta los ejemplos de utilización siguientes:

Creación de un Lakehouse
Python

artifact = [Link]("artifact_name", "Description of the artifact", "optional_workspace_id")

Obtención de un Lakehouse
Python

artifact = [Link]("artifact_name", "optional_workspace_id")

Python

artifact = [Link]("artifact_name", "optional_workspace_id")

Actualización de un Lakehouse
Python

updated_artifact = [Link]("old_name", "new_name", "Updated description", "optional_workspace_id")


Eliminación de un Lakehouse
Python

is_deleted = [Link]("artifact_name", "optional_workspace_id")

Enumeración de Lakehouses en un área de trabajo


Python

artifacts_list = [Link]("optional_workspace_id")

Enumeración de todas las tablas de una instancia de Lakehouse


Python

artifacts_tables_list = [Link]("artifact_name", "optional_workspace_id")

Inicio de una operación de tabla de carga en una instancia de Lakehouse


Python

[Link](
{
"relativePath": "Files/[Link]",
"pathType": "File",
"mode": "Overwrite",
"recursive": False,
"formatOptions": {
"format": "Csv",
"header": True,
"delimiter": ","
}
}, "table_name", "artifact_name", "optional_workspace_id")

Información adicional
Para obtener información más detallada sobre cada método y sus parámetros, utilice la función
[Link]("methodName") .

Utilidades en tiempo de ejecución


Mostrar la información de contexto de sesión
Con [Link] puede obtener la información de contexto de la sesión activa actual, incluido el nombre del cuaderno,
el almacén de lago predeterminado, la información del área de trabajo, si se trata de una ejecución de canalización, etc.

Python

[Link]

Problema conocido
Al usar la versión en tiempo de ejecución anterior a 1.2 y ejecutar [Link]() , las API fabricClient y PBIClient enumeradas no se
admiten por ahora; estarán disponibles posteriormente. Además, la API de credenciales no se admite por ahora en cuadernos de Scala.

Contenido relacionado
Utilidades de Microsoft Spark (MSSparkUtils) para Fabric
Desarrollo, ejecución y administración de cuadernos de Microsoft Fabric
Administración y ejecución de cuadernos en Fabric con API

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Configurar el modo de simultaneidad
alta para cuadernos de Fabric
Artículo • 18/06/2024

Al ejecutar un cuaderno en Microsoft Fabric, se inicia una sesión de Apache Spark y se


usa para ejecutar las consultas enviadas como parte de las ejecuciones de celdas del
cuaderno. Con el modo de simultaneidad alta habilitado, no es necesario iniciar nuevas
sesiones de Spark cada vez que ejecute un cuaderno.

Si ya tiene una sesión de simultaneidad alta en ejecución, podría adjuntar cuadernos a la


sesión de simultaneidad alta obteniendo una sesión de Spark al instante para ejecutar
las consultas y lograr una mayor tasa de uso de la sesión.

7 Nota

El uso compartido de sesiones basado en el modo de simultaneidad alta siempre


está dentro de un único límite de usuario. Los cuadernos deben tener
configuraciones de Spark coincidentes, deben formar parte de la misma área de
trabajo, compartir el mismo lakehouse y las mismas bibliotecas predeterminados
para compartir una sola sesión de Spark.

Condiciones para el uso compartido de


sesiones
Para que los cuadernos compartan una única sesión de Spark, deben:
Estar ejecutadas por el mismo usuario.
Tener la misma instancia de Data Lakehouse predeterminada. Los cuadernos sin
una instancia predeterminada de Data Lakehouse pueden compartir sesiones con
otros cuadernos que no tienen una instancia predeterminada.
Tener las mismas configuraciones de proceso de Spark.
Tener los mismos paquetes de biblioteca. Puede tener instalaciones de biblioteca
insertadas diferentes como parte de las celdas del cuaderno y compartir la sesión
con cuadernos que tengan dependencias de biblioteca diferentes.

Configuración del modo de simultaneidad alta


De forma predeterminada, todas las áreas de trabajo de Fabric están habilitadas con el
modo de simultaneidad alta. Siga estos pasos para configurar la característica de
simultaneidad alta:

1. Haga clic en la opción Configuración del área de trabajo en el área de trabajo de


Fabric

2. Vaya a la sección Synapse>Proceso de Spark>Simultaneidad alta

3. En la sección Alta simultaneidad, puede optar por habilitar o deshabilitar la


configuración.

4. Habilitar la opción de simultaneidad alta permite a los usuarios iniciar una sesión
de simultaneidad alta en sus cuadernos o asociarse a la sesión de simultaneidad
alta existente.
5. Al deshabilitar el modo de simultaneidad alta, se oculta la sección para configurar
el período de inactividad y también se oculta la opción de iniciar una nueva sesión
de simultaneidad alta en el menú del cuaderno.

Ejecutar cuadernos en una sesión de


simultaneidad alta
1. Abrir el área de trabajo de Fabric

2. Crear un cuaderno o abrir un cuaderno existente

3. Vaya a la pestaña Ejecutar de la cinta de opciones de menú y seleccione en la lista


desplegable Tipo de sesión que tiene seleccionada la opción Estándar como
opción predeterminada.

4. Seleccione Nueva sesión de simultaneidad alta.


5. Una vez iniciada la sesión de simultaneidad alta, puede agregar hasta 10
cuadernos en la sesión de simultaneidad alta.

6. Cree un cuaderno y, para ello, vaya al menú Ejecutar, tal como se mencionó en los
pasos anteriores, en el menú desplegable ahora verá la sesión de simultaneidad
alta recién creada.

7. Al seleccionar la sesión de simultaneidad alta existente, se adjunta el segundo


cuaderno a la sesión.

8. Una vez conectado el cuaderno, puede empezar a ejecutar los pasos del cuaderno
al instante.
9. El estado de la sesión de alta simultaneidad también muestra el número de
cuadernos adjuntos a una sesión determinada en cualquier momento dado.

10. En cualquier momento si cree que el cuaderno asociado a una sesión de


simultaneidad alta requiere un proceso más dedicado, puede elegir cambiar el
cuaderno a una sesión estándar seleccionando la opción de desasociar el cuaderno
de la simultaneidad alta en la pestaña de menú Ejecutar.

11. Puede ver el estado de la sesión, el tipo y el id. de sesión navegando a la barra de
estado, seleccionar el id. de sesión le permite explorar los trabajos ejecutados en
esta sesión de simultaneidad alta y ver los registros de la sesión de Spark en la
página de detalles de supervisión.


Supervisar y depurar cuadernos que se
ejecutan en una sesión de simultaneidad alta
La supervisión y la depuración suelen ser una tarea no trivial cuando se ejecutan varios
cuadernos en una sesión compartida. Para el modo de simultaneidad alta en Fabric, se
ofrece la separación de registros, lo que permitiría a los usuarios realizar un seguimiento
de los registros emitidos por eventos de Spark de diferentes cuadernos.

1. Cuando la sesión está en curso o en estado completado, puede ver el estado de la


sesión; para ello, vaya al menú Ejecutar y seleccione la opción Todas las
ejecuciones

2. Esto abriría el historial de ejecución del cuaderno en el que se muestra la lista de


sesiones activas e históricas actuales de Spark

3. Los usuarios al seleccionar una sesión pueden acceder a la vista de detalles de


supervisión, que muestra la lista de todos los trabajos de Spark que se han
ejecutado en la sesión.

4. En el caso de una sesión de simultaneidad alta, los usuarios podrían identificar los
trabajos y sus registros asociados de distintos cuadernos mediante la pestaña
Cuaderno relacionado, que muestra el cuaderno desde el que se ha ejecutado ese
trabajo.


Contenido relacionado
En este documento, obtendrá una comprensión básica de una sesión compartida a
través del modo de simultaneidad alta en cuadernos. Pase a los siguientes artículos para
aprender a crear y empezar a trabajar con sus propias experiencias de Ingeniería de
datos mediante Lakehouse y Notebooks:

Para empezar a trabajar con un lakehouse, consulte Crear un lakehouse.


Para empezar a trabajar con Notebooks, consulte Cómo usar un Notebook

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Configuración del modo de
simultaneidad alta para cuadernos de
Fabric en canalizaciones
Artículo • 25/10/2024

Al ejecutar un paso de cuaderno dentro de una canalización, se inicia una sesión de


Apache Spark y se usa para ejecutar las consultas enviadas desde el cuaderno. Al
habilitar el modo de simultaneidad alta para canalizaciones, los cuadernos se
empaquetarán automáticamente en las sesiones de Spark existentes.

Esto le ofrece la funcionalidad de uso compartido de sesiones en todos los cuadernos


dentro de un único límite de usuario. El sistema empaqueta automáticamente todos los
cuadernos en una sesión de alta simultaneidad existente.

7 Nota

El uso compartido de sesiones con el modo de simultaneidad alta siempre está


dentro de un único límite de usuario. Para compartir una sola sesión de Spark, los
cuadernos deben tener configuraciones de Spark coincidentes, deben formar parte
del mismo área de trabajo y compartir las mismas bibliotecas y lakehouse
predeterminadas.

Condiciones para el uso compartido de


sesiones
Para que los cuadernos compartan una única sesión de Spark, deben:

Estar ejecutadas por el mismo usuario.


Tener la misma instancia de Data Lakehouse predeterminada. Los cuadernos sin
una instancia predeterminada de Data Lakehouse pueden compartir sesiones con
otros cuadernos que no tienen una instancia predeterminada.
Tener las mismas configuraciones de proceso de Spark.
Tener los mismos paquetes de biblioteca. Puede tener instalaciones de biblioteca
insertadas diferentes como parte de las celdas del cuaderno y compartir la sesión
con cuadernos que tengan dependencias de biblioteca diferentes.

Configuración del modo de simultaneidad alta


Los administradores del área de trabajo de Fabric pueden habilitar el modo de alta
simultaneidad para las canalizaciones mediante la configuración del área de trabajo.
Siga estos pasos para configurar la característica de simultaneidad alta:

1. Seleccione la opción Configuración del área de trabajo en el área de trabajo de


Fabric.

2. Vaya a la sección >Ingeniero de datos ing and Science Spark Compute High
Simcurrency (Alta simultaneidad de Spark Compute>High).

3. En la sección Alta simultaneidad, habilite la opción Para canalización que ejecuta


varios cuadernos.

4. La habilitación de la opción de alta simultaneidad permite todas las sesiones de


cuaderno desencadenadas por canalizaciones como una sesión de simultaneidad
alta.

5. El sistema empaqueta automáticamente las sesiones de cuaderno entrantes en


sesiones activas de alta simultaneidad. Si no hay sesiones activas de alta
simultaneidad, se crea una nueva sesión de alta simultaneidad y los cuadernos
simultáneos enviados se empaquetan en la nueva sesión.

Uso de la etiqueta de sesión en el cuaderno


para agrupar sesiones compartidas
1. Abrir el área de trabajo de Fabric

2. Creación de un elemento de canalización mediante el menú Crear

3. Vaya a la pestaña Actividades de la cinta de menús y agregue una actividad de


Cuaderno .

4. En Configuración avanzada, especifique cualquier valor de cadena para la


propiedad de etiqueta de sesión.

5. Una vez agregada la etiqueta de sesión, el uso compartido de cuadernos usa esta
etiqueta como criterios coincidentes que agrupan todos los cuadernos con la
misma etiqueta de sesión.

Supervisión y depuración de cuadernos


desencadenados por canalizaciones
La supervisión y la depuración pueden resultar difíciles cuando se ejecutan varios
cuadernos dentro de una sesión compartida. En el modo de simultaneidad alta, se
proporciona la separación de registros, lo que permite realizar un seguimiento de los
registros de eventos de Spark para cada cuaderno individual.

1. Cuando la sesión está en curso o en estado completado, puede ver el estado de la


sesión; para ello, vaya al menú Ejecutar y seleccione la opción Todas las
ejecuciones

2. Se abre el historial de ejecución del cuaderno con la lista de sesiones activas e


históricas actuales de Spark.

3. Al seleccionar una sesión, puede acceder a la vista de detalles de supervisión, que


muestra una lista de todos los trabajos de Spark ejecutados en esa sesión.

4. Para una sesión de alta simultaneidad, puede identificar los trabajos y sus registros
asociados de distintos cuadernos mediante la pestaña Cuaderno relacionado, que
muestra el cuaderno desde el que se ejecutó ese trabajo.

Contenido relacionado
Para obtener más información sobre el modo de simultaneidad alta en Microsoft
Fabric, consulte Información general sobre el modo de simultaneidad alta en
Microsoft Fabric.
Para empezar a trabajar con el modo de simultaneidad alta para cuadernos,
consulte Uso de un modo de simultaneidad alta en cuadernos

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Visualización de cuadernos en Microsoft
Fabric
Artículo • 03/01/2024

Microsoft Fabric es un servicio de análisis integrado que acelera el tiempo necesario


para obtener información de los sistemas de almacenamiento de datos y de análisis de
macrodatos. La visualización de datos en los cuadernos es un componente clave que
permite obtener información sobre los datos. Igualmente, facilita la comprensión de los
macrodatos y otros datos de pequeño tamaño a los usuarios. También facilita la
detección de patrones, tendencias y valores atípicos en grupos de datos.

Al usar Apache Spark en Fabric, hay varias opciones integradas para ayudarle a visualizar
los datos, incluidas las opciones de gráfico de cuadernos de Fabric y el acceso a
bibliotecas de código abierto populares.

Al usar un cuaderno de Fabric, puede convertir la vista de resultados tabulares en un


gráfico personalizado mediante las opciones de gráfico. Aquí puede visualizar los datos
sin tener que escribir ningún código.

Comando de visualización integrada: función


display()
La función de visualización integrada de Fabric permite convertir los resultados de las
consultas SQL y los DataFrames de Apache Spark y de Pandas en visualizaciones de
datos de formato enriquecido.

Puede usar la función de visualización en DataFrames creados en PySpark y Scala en


DataFrames de Spark o en funciones de conjuntos de datos distribuidos resistentes
(RDD) para generar la vista de tabla de DataFrame enriquecida y la vista de gráfico.

De manera predeterminada, la salida de la instrucción SQL aparece en la vista de tabla


representada.

Vista de tabla de DataFrame enriquecida


1. La vista de tabla se representa de manera predeterminada al usar el comando
display().
2. Para generar perfiles del DataFrame, haga clic en el botón Inspeccionar.
Proporciona la distribución de datos resumida y muestra las estadísticas de cada
columna.
3. Cada tarjeta del panel lateral "Inspeccionar" se asigna a una columna de
DataFrame. Para ver más detalles, haga clic en la tarjeta o seleccione una columna
de la tabla.
4. Para ver los detalles de la celda, haga clic en la celda de la tabla. Esto resulta útil
cuando el DataFrame contiene un tipo de cadena largo de contenido.
5. Puede especificar el recuento de filas de la vista de tabla. El valor predeterminado
es 1000, compatibilidad con Notebook para ver y generar perfiles de 10000 filas de
un DataFrame como máximo.

Vista de gráfico de DataFrame enriquecida


1. Una vez que tenga una vista de tabla representada, cambie a la vista de Gráfico.

2. El cuaderno de Fabric recomendará automáticamente un par "Clave" "Valor"


basado en el DataFrame de destino, para que el gráfico predeterminado sea
significativo con la información de datos.

3. Puede personalizar la visualización especificando los valores siguientes:

ノ Expandir tabla

Configuración Descripción

Tipo de gráfico La función display admite una amplia gama de tipos de gráficos, como
gráficos de barras, gráficos de dispersión, gráficos de líneas, etc.

Clave Especificar el rango de valores para el eje x.

Value Especificar el rango de valores para los valores del eje y.

Grupo de Use esta configuración para determinar los grupos de la agregación.


series

Agregación Use este método para agregar datos en la visualización.

las configuraciones se guardarán automáticamente en el contenido de salida del


cuaderno.

7 Nota

De forma predeterminada, la función display(df) solo tomará las primeras


1000 filas de los datos para representar los gráficos. Seleccione Agregación
de todos los resultados y, a continuación, Aplicarpara que el gráfico se cree a
partir de todo el modelo semántico. Se desencadenará un trabajo de Spark
cuando cambie la configuración del gráfico. Tenga en cuenta que la operación
para completar el cálculo y representar el gráfico puede tardar varios minutos.

4. Una vez concluida la tarea, puede ver la visualización final e interactuar con ella.

vista de resumen display(df)


Use display(df, summary = true) para consultar el resumen de estadísticas de un
determinado DataFrame de Apache Spark. El resumen incluye el nombre de la columna,
el tipo de columna, los valores únicos y los valores que faltan para cada columna.
También puede seleccionar una columna específica para ver el valor mínimo, el valor
máximo, el valor medio y la desviación estándar.

displayHTML() option
Los cuadernos de Fabric admiten gráficos HTML mediante la función displayHTML.

La imagen siguiente es un ejemplo de creación de visualizaciones mediante [Link] .


Para crear esta visualización, ejecute el código siguiente.

Python

displayHTML("""<!DOCTYPE html>
<meta charset="utf-8">

<!-- Load [Link] -->


<script src="[Link]

<!-- Create a div where the graph will take place -->
<div id="my_dataviz"></div>
<script>

// set the dimensions and margins of the graph


var margin = {top: 10, right: 30, bottom: 30, left: 40},
width = 400 - [Link] - [Link],
height = 400 - [Link] - [Link];

// append the svg object to the body of the page


var svg = [Link]("#my_dataviz")
.append("svg")
.attr("width", width + [Link] + [Link])
.attr("height", height + [Link] + [Link])
.append("g")
.attr("transform",
"translate(" + [Link] + "," + [Link] + ")");

// Create Data
var data = [12,19,11,13,12,22,13,4,15,16,18,19,20,12,11,9]

// Compute summary statistics used for the box:


var data_sorted = [Link]([Link])
var q1 = [Link](data_sorted, .25)
var median = [Link](data_sorted, .5)
var q3 = [Link](data_sorted, .75)
var interQuantileRange = q3 - q1
var min = q1 - 1.5 * interQuantileRange
var max = q1 + 1.5 * interQuantileRange

// Show the Y scale


var y = [Link]()
.domain([0,24])
.range([height, 0]);
[Link]([Link](y))

// a few features for the box


var center = 200
var width = 100

// Show the main vertical line


svg
.append("line")
.attr("x1", center)
.attr("x2", center)
.attr("y1", y(min) )
.attr("y2", y(max) )
.attr("stroke", "black")

// Show the box


svg
.append("rect")
.attr("x", center - width/2)
.attr("y", y(q3) )
.attr("height", (y(q1)-y(q3)) )
.attr("width", width )
.attr("stroke", "black")
.style("fill", "#69b3a2")

// show median, min and max horizontal lines


svg
.selectAll("toto")
.data([min, median, max])
.enter()
.append("line")
.attr("x1", center-width/2)
.attr("x2", center+width/2)
.attr("y1", function(d){ return(y(d))} )
.attr("y2", function(d){ return(y(d))} )
.attr("stroke", "black")
</script>

"""
)
Inserción de un informe de Power BI en un
cuaderno

) Importante

Esta característica actualmente está en VERSIÓN PRELIMINAR. Esta información


está relacionada con un producto en versión preliminar que puede modificarse
considerablemente antes de su lanzamiento. Microsoft no ofrece ninguna garantía,
expresa o implícita, con respecto a la información que se ofrece aquí.

El paquete de Python Powerbiclient ahora se admite de forma nativa en los cuadernos


de Fabric. No es necesario definir ninguna configuración adicional (como el proceso de
autenticación) en el entorno de ejecución de Spark 3.4 de los cuadernos de Fabric. Solo
tiene que importar powerbiclient y continuar con la exploración. Para obtener más
información sobre cómo usar el paquete powerbiclient, consulte la documentación de
powerbiclient .

Powerbiclient admite las siguientes características clave.

Representación de un informe de Power BI existente


Puede insertar e interactuar fácilmente con informes de Power BI en los cuadernos con
solo unas pocas líneas de código.

La imagen siguiente es un ejemplo de representación del informe de Power BI existente.

Ejecute el código siguiente para representar un informe de Power BI existente.


Python

from powerbiclient import Report

report_id="Your report id"


report = Report(group_id=None, report_id=report_id)

report

Creación de objetos visuales de informe a partir de un


DataFrame de Spark
Puede usar un DataFrame de Spark en el cuaderno para generar rápidamente
visualizaciones con información. También puede seleccionar Guardar en el informe
insertado para crear un elemento de informe en un área de trabajo de destino.

La imagen siguiente es un ejemplo de un elemento QuickVisualize() de un DataFrame


de Spark.

Ejecute el código siguiente para representar un informe de un DataFrame de Spark.

Python

# Create a spark dataframe from a Lakehouse parquet table


sdf = [Link]("SELECT * FROM [Link] LIMIT 1000")

# Create a Power BI report object from spark data frame


from powerbiclient import QuickVisualize, get_dataset_config
PBI_visualize = QuickVisualize(get_dataset_config(sdf))

# Render new report


PBI_visualize

Creación de objetos visuales de informe a partir de un


DataFrame de Pandas
También puede crear informes a partir de un DataFrame de Pandas en un cuaderno.

La imagen siguiente es un ejemplo de un elemento QuickVisualize() de un DataFrame


de Pandas.

Ejecute el código siguiente para representar un informe de un DataFrame de Spark.

Python

import pandas as pd

# Create a pandas dataframe from a URL


df =
pd.read_csv("[Link]
[Link]")

# Create a pandas dataframe from a Lakehouse csv file


from powerbiclient import QuickVisualize, get_dataset_config

# Create a Power BI report object from your data


PBI_visualize = QuickVisualize(get_dataset_config(df))
# Render new report
PBI_visualize

Bibliotecas populares
Cuando se trata de la visualización de datos, Python ofrece varias bibliotecas de gráficos
equipadas con varias características diferentes. De forma predeterminada, cada grupo
de Apache Spark de Fabric contiene un conjunto de populares bibliotecas de código
abierto seleccionadas.

Matplotlib
Puede representar bibliotecas de trazado estándar, como Matplotlib, mediante las
funciones de representación integradas para cada biblioteca.

En la imagen siguiente se muestra un ejemplo de cómo crear un gráfico de barras


mediante Matplotlib.


Ejecute el código de ejemplo siguiente para dibujar este gráfico de barras.

Python

# Bar chart

import [Link] as plt

x1 = [1, 3, 4, 5, 6, 7, 9]
y1 = [4, 7, 2, 4, 7, 8, 3]

x2 = [2, 4, 6, 8, 10]
y2 = [5, 6, 2, 6, 2]

[Link](x1, y1, label="Blue Bar", color='b')


[Link](x2, y2, label="Green Bar", color='g')
[Link]()

[Link]("bar number")
[Link]("bar height")
[Link]("Bar Chart Example")
[Link]()
[Link]()

Bokeh
Puede representar bibliotecas HTML o interactivas, como bokeh, mediante
displayHTML(df).

La imagen siguiente es un ejemplo del trazado de glifos en un mapa mediante bokeh.


Para dibujar esta imagen, ejecute el siguiente código de ejemplo.

Python

from [Link] import figure, output_file


from bokeh.tile_providers import get_provider, Vendors
from [Link] import file_html
from [Link] import CDN
from [Link] import ColumnDataSource

tile_provider = get_provider([Link])

# range bounds supplied in web mercator coordinates


p = figure(x_range=(-9000000,-8000000), y_range=(4000000,5000000),
x_axis_type="mercator", y_axis_type="mercator")
p.add_tile(tile_provider)

# plot datapoints on the map


source = ColumnDataSource(
data=dict(x=[ -8800000, -8500000 , -8800000],
y=[4200000, 4500000, 4900000])
)

[Link](x="x", y="y", size=15, fill_color="blue", fill_alpha=0.8,


source=source)

# create an html document that embeds the Bokeh plot


html = file_html(p, CDN, "my plot1")
# display this html
displayHTML(html)

Plotly
Puede representar bibliotecas HTML o interactivas, como Plotly, mediante
displayHTML() .

Para dibujar esta imagen, ejecute el siguiente código de ejemplo.

Python

from [Link] import urlopen


import json
with
urlopen('[Link]
[Link]') as response:
counties = [Link](response)

import pandas as pd
df =
pd.read_csv("[Link]
[Link]",
dtype={"fips": str})

import plotly
import [Link] as px

fig = [Link](df, geojson=counties, locations='fips', color='unemp',


color_continuous_scale="Viridis",
range_color=(0, 12),
scope="usa",
labels={'unemp':'unemployment rate'}
)
fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0})

# create an html document that embeds the Plotly plot


h = [Link](fig, output_type='div')

# display this html


displayHTML(h)

Pandas
Puede ver la salida HTML de los DataFrames de Pandas como salida predeterminada.
Los cuadernos de Fabric muestran automáticamente el contenido HTML con estilo.

Python

import pandas as pd
import numpy as np

df = [Link]([[38.0, 2.0, 18.0, 22.0, 21, [Link]],[19, 439, 6, 452,


226,232]],

index=[Link](['Tumour (Positive)', 'Non-Tumour


(Negative)'], name='Actual Label:'),

columns=[Link].from_product([['Decision Tree',
'Regression', 'Random'],['Tumour', 'Non-Tumour']], names=['Model:',
'Predicted:']))

df

Contenido relacionado
Explorar los datos de lago de datos con un cuaderno

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Procedimiento para integrar cuadernos
con la aplicación de la organización
Artículo • 11/11/2024

En este artículo, se muestra cómo integrar cuadernos en una aplicación. Esta nueva
integración está diseñada para mejorar la productividad mediante el uso de Notebook
como operador de contenido enriquecido y simplificar el flujo de trabajo al
proporcionar una experiencia sin problemas dentro de la aplicación de organización, lo
que facilita la interacción con la información de datos.

Cuaderno en la aplicación de organización

7 Nota

Actualmente, la característica está en versión preliminar.

Ahora puede insertar fácilmente Fabric Notebook en la aplicación de organización. Con


contenido enriquecido como código y celdas markdown, objetos visuales, tablas,
gráficos y widgets, el cuaderno puede ser una herramienta práctica de narración, similar
a los paneles. Siguiendo los pasos que se indican a continuación, podrá agregar un
cuaderno específico a una aplicación de organización. El cuaderno se convertirá en un
cuaderno de solo lectura dentro del contexto de la aplicación, pero los widgets, como
las vistas previas de tramas de datos enriquecidas, los gráficos integrados y las salidas
de bibliotecas populares como Plotly permanecerán interactivas. Esto permitirá a los
consumidores de aplicaciones explorar e interactuar con el cuaderno de forma cómoda.

Las operaciones aplicadas al bloc de notas insertado en la aplicación de organización


por parte de los consumidores no se guardarán, después de actualizar la página, toda la
configuración se restablecerá a la vista predeterminada.
1. Cree una aplicación de organización en el panel de elementos nuevo del área de
trabajo con el nombre de la aplicación.

2. Agregue contenido del área de trabajo en el panel de navegación o agregue


contenido directamente>: agregue cuadernos a la aplicación.

3. Previsualice la aplicación para comprobar el contenido. Cierre la vista previa y


vuelva a guardar los cambios si todo está bien.
4. Una vez integrados los cuadernos en la aplicación, entra en un modo de solo
lectura, pero también puede administrar la visualización en la salida de la celda.

5. Compartir el vínculo de la aplicación ayudará a los colaboradores a encontrar la


aplicación cómodamente.

Contenido relacionado
Visualización de cuadernos

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Exploración de los datos en la casa del
lago con un cuaderno
Artículo • 17/08/2023

En este tutorial, aprenderá a explorar los datos en la casa del lago con un cuaderno.

) Importante

Microsoft Fabric está en versión preliminar.

Requisitos previos
Para comenzar, necesitará los prerrequisitos siguientes:

Una cuenta de inquilino de Microsoft Fabric con una suscripción activa. Cree una
cuenta gratuita.
Lea la Información general de la casa del lago.

Apertura o creación de un cuaderno desde la


casa del lago
Para explorar los datos de la casa del lago, puede agregar la casa del lago a un
cuaderno existente o crear un cuaderno nuevo desde la casa del lago.

Apertura de la casa del lago desde un cuaderno existente


Seleccione el cuaderno en la lista de cuadernos y, a continuación, seleccione Agregar. El
cuaderno se abre con la casa del lago actual agregada al cuaderno.

Apertura de la casa del lago desde un nuevo cuaderno


Puede crear un cuaderno nuevo en la misma área de trabajo y la casa del lago actual
aparece en ese cuaderno.
Cambio de la casa del lago y establecimiento
de una predeterminada
Puede agregar múltiples casas del lago al mismo cuaderno. Al cambiar la casa del lago
disponible en el panel izquierdo, puede explorar la estructura y los datos de diferentes
casas del lago.

En la lista de casas del lago, el icono de anclaje situado junto al nombre de una casa del
lago indica que es la casa del lago predeterminada en el cuaderno actual. En el código
del cuaderno, si solo se proporciona una ruta de acceso relativa para acceder a los datos
desde Microsoft Fabric OneLake, la casa del lago predeterminada se sirve como la
carpeta raíz en tiempo de ejecución.

Para cambiar a otra casa del lago predeterminada, mueva el icono de anclaje.

7 Nota

La casa del lago predeterminada decide qué metastore de Hive se usará al ejecutar
el cuaderno con Spark [Link] se agregan varias casa del lago al cuaderno,
asegúrese de que cuando se usa Spark SQL, la casa del lago de destino y la casa del
lago predeterminada actual proceden de la misma área de trabajo.

Adición o eliminación de una casa del lago


Al seleccionar el icono X situado junto al nombre de la casa del lago, la elimina del
cuaderno, pero el elemento casa del lago sigue existiendo en el área de trabajo.

Para quitar todas las casas del lago del cuaderno, haga clic en "Quitar todas las casas del
lago" en la lista de casas del lago.
Seleccione Agregar la casa del lago para agregar más casas del lago al cuaderno. Puede
agregar una existente o crear una nueva.

Exploración de los datos de la casa del lago


La estructura de la casa del lago que se muestra en el cuaderno es la misma que la de la
vista de la casa del lago. Para ver detalles, consulte Información general de la casa del
lago. Al seleccionar un archivo o una carpeta, el área de contenido muestra los detalles
del elemento seleccionado.
7 Nota

El cuaderno se creará en el área de trabajo actual.

Pasos siguientes
Cómo usar un cuaderno para cargar datos en la casa del lago
Utilización de un cuaderno para cargar
datos en un almacén de lago
Artículo • 28/05/2024

En este tutorial, aprenderá a leer y escribir datos en el almacén de lago de Fabric con
ayuda de un cuaderno. Fabric admite la API de Spark y la API de Pandas para lograr este
objetivo.

Cargar datos con una API de Apache Spark


En la celda de código del cuaderno, use el ejemplo de código siguiente para leer datos
del origen y cargarlos en Archivos, Tablas o ambas secciones del lago de datos.

Para especificar la ubicación desde la que se va a leer, puede usar la ruta de acceso
relativa si los datos proceden del almacén de lago predeterminado del cuaderno actual.
O bien, si los datos proceden de otro almacén de lago, puede usar la ruta de acceso
Azure Blob File System (ABFS) absoluta. Copie esta ruta de acceso desde el menú
contextual de los datos.
Copiar la ruta de acceso de ABFS: esta opción devuelve la ruta de acceso absoluta del
archivo.

Copiar la ruta de acceso relativa para Spark: esta opción devuelve la ruta de acceso
relativa del archivo en el almacén de lago predeterminado.

Python

df = [Link]("location to read from")

# Keep it if you want to save dataframe as CSV files to Files section of the
default lakehouse

[Link]("overwrite").format("csv").save("Files/ " + csv_table_name)

# Keep it if you want to save dataframe as Parquet files to Files section of


the default lakehouse

[Link]("overwrite").format("parquet").save("Files/" +
parquet_table_name)

# Keep it if you want to save dataframe as a delta lake, parquet table to


Tables section of the default lakehouse

[Link]("overwrite").format("delta").saveAsTable(delta_table_name)

# Keep it if you want to save the dataframe as a delta lake, appending the
data to an existing table

[Link]("append").format("delta").saveAsTable(delta_table_name)

Cargar datos con una API Pandas


Para admitir la API Pandas, el almacén de lago predeterminado se montará
automáticamente en el cuaderno. El punto de montaje es "/lakehouse/default/". Puede
usar este punto de montaje para leer y escribir datos desde o hacia el lago de datos
predeterminado. La opción "Copiar ruta de acceso de la API de archivo" del menú
contextual devolverá la ruta de acceso de la API de archivo desde ese punto de montaje.
La ruta de acceso devuelta desde la opción Copiar ruta de acceso ABFS también
funciona para la API Pandas.
Copiar ruta de acceso de la API de archivo: esta opción devuelve la ruta de acceso bajo
el punto de montaje del almacén de lago predeterminado.

Python

# Keep it if you want to read parquet file with Pandas from the default
lakehouse mount point

import pandas as pd
df = pd.read_parquet("/lakehouse/default/Files/[Link]")

# Keep it if you want to read parquet file with Pandas from the absolute
abfss path

import pandas as pd
df = pd.read_parquet("abfss://DevExpBuildDemo@msit-
[Link]/Marketing_LH.Lakehouse/Files/[Link]
")

 Sugerencia

En el caso de la API Spark, use la opción Copiar ruta de acceso ABFS o Copiar ruta
de acceso relativa para Spark para obtener la ruta de acceso del archivo. Para la
API Pandas, use la opción Copiar la ruta de acceso ABFS o Copiar la ruta de
acceso de la API de archivo para obtener la ruta de acceso del archivo.

La manera más rápida de hacer funcionar el código para trabajar con la API Spark o la
API Pandas es usar la opción Cargar datos y seleccionar la API que quiere usar. El código
se generará automáticamente en una nueva celda de código del cuaderno.

Contenido relacionado
Explorar los datos de lago de datos con un cuaderno

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Implementación y control de código
fuente de cuaderno
Artículo • 05/11/2024

En este artículo se explica cómo funcionan las canalizaciones de implementación e


integración de Git para cuadernos en Microsoft Fabric. Obtenga información sobre
cómo configurar una conexión al repositorio, administrar los cuadernos e
implementarlos en distintos entornos.

Integración de cuaderno de Git


Los cuadernos de Fabric ofrecen integración de Git para el control de código fuente con
Azure DevOps. Con la integración de Git, puede realizar copias de seguridad y editar el
cuaderno, revertir a las fases anteriores según sea necesario, colaborar o trabajar solo
con ramas de Git y administrar el ciclo de vida del contenido del cuaderno
completamente dentro de Fabric.

7 Nota

A partir de octubre de 2024, la integración de Git con el cuaderno admite la


conservación de la relación de asignación del entorno adjunto al sincronizar con el
área de trabajo nueva, lo que significa que al confirmar el cuaderno y el entorno
adjunto juntos en el repositorio de Git y sincronizarlo con otra área de trabajo, el
cuaderno y el entorno recién generados se enlazarán juntos. Esta actualización
tendrá un impacto en los cuadernos y entornos dependientes existentes que tienen
versiones de Git, el identificador físico del entorno adjunto en el contenido de
metadatos del cuaderno se reemplazará por un identificador lógico y el cambio se
reflejará en la vista de diferencias.

Configuración de una conexión


Desde la configuración del área de trabajo, puede configurar fácilmente una conexión al
repositorio para confirmar y sincronizar los cambios. Para configurar la conexión,
consulte Introducción a la integración de Git. Una vez conectados, los elementos,
incluidos los cuadernos, aparecen en el panel Control de código fuente.

Después de confirmar correctamente las instancias del cuaderno en el repositorio de Git,


verá la estructura de carpetas del cuaderno en el repositorio.

Ahora puede ejecutar operaciones futuras, como Creación de solicitud de


incorporación de cambios.

Representación del cuaderno en Git


La siguiente imagen es un ejemplo de la estructura de archivos de cada elemento de
cuaderno del repositorio:

Al confirmar el elemento de cuaderno en el repositorio de Git, el código del cuaderno se


convierte en un formato de código fuente, en lugar de un archivo .ipynb estándar. Por
ejemplo, un cuaderno de PySpark se convierte en un archivo [Link]. Este
enfoque permite realizar revisiones de código más sencillas mediante características de
diferencias integradas.

En el archivo de origen de contenido del elemento, se conservan y distinguen los


metadatos (incluido el almacén de lago predeterminado y el entorno adjunto), las celdas
de Markdown y las celdas de código. Este enfoque admite una recuperación precisa
cuando se vuelve a sincronizar con un área de trabajo de Fabric.

La salida de la celda del cuaderno no se incluye al sincronizar con Git.


7 Nota

Actualmente, los archivos de los recursos de Notebook no se confirman en el


repositorio. La confirmación de estos archivos se admite en una próxima
versión.
Se recomienda administrar los cuadernos y su entorno dependiente en la
misma área de trabajo y usar Git para el control de versiones, tanto en el
cuaderno como en los elementos del entorno; el sistema Git de Fabric
controlará la relación de asignación al sincronizar el cuaderno y el entorno
asociado a nuevas áreas de trabajo.
El identificador predeterminado del almacén de lago se conserva en el
cuaderno cuando se sincroniza desde el repositorio a un área de trabajo de
Fabric. Si confirma un cuaderno con el almacén de lago predeterminado, debe
hacer referencia manualmente a un elemento del almacén de lago recién
creado. Para más información, consulte Integración del almacén de lago de
Git.

Cuaderno en canalizaciones de implementación


También puede usar la canalización de implementación para implementar el código del
cuaderno en distintos entornos, como desarrollo, prueba y producción. Esta
característica puede permitirle simplificar el proceso de desarrollo, garantizar la calidad
y la coherencia, y reducir los errores manuales con operaciones ligeras de código bajo.
También puede usar reglas de implementación para personalizar el comportamiento de
los cuadernos cuando se implementan, como cambiar la instancia predeterminada del
almacén de lago de un cuaderno.

7 Nota

Ahora está usando el nuevo diseño de la canalización de implementación, se


puede acceder a la interfaz de usuario antigua desactivando "Nueva
canalización de implementación".
Desde octubre, el cuaderno de Fabric admite la característica de enlace
automático que enlazará el almacén de lago predeterminado y el entorno
adjunto dentro de la misma área de trabajo al implementar en la siguiente
fase. El cambio tendrá impacto en los cuadernos existentes de la canalización
de implementación.
El almacén de lago predeterminado y el entorno adjunto (cuando todos los
elementos dependientes están en la misma área de trabajo) se
reemplazarán por los elementos recién generados en el área de trabajo de
destino, el cambio de metadatos del cuaderno se resaltará en la vista de
diferencias en la siguiente ronda de implementación.
Puede establecer reglas de implementación para que el almacén de lago
predeterminado invalide el almacén de lago enlazado automáticamente.
Problema conocido: El estado de la celda inmovilizada en el cuaderno se
perderá durante la implementación. Actualmente estamos trabajando en
tareas relacionadas.

Siga estos pasos para completar la implementación del cuaderno mediante la


canalización de implementación.

1. Cree una nueva canalización de implementación o abra una canalización de


implementación existente. (Para obtener más información, consulte Introducción a
las canalizaciones de implementación).

2. Asigne áreas de trabajo a distintas fases según los objetivos de implementación.

3. Seleccione, vea y compare elementos, incluidos los cuadernos entre distintas fases,
como se muestra en el siguiente ejemplo. Distintivo resaltado que indica el
recuento de elementos modificados entre la fase anterior y la fase actual.

4. Seleccione Implementar para implementar los cuadernos en las fases desarrollo,


prueba y producción.


5. (Opcional). Puede seleccionar Reglas de implementación para crear reglas de


implementación para un proceso de implementación. La entrada de reglas de
implementación está en la fase de destino de un proceso de implementación.

Fabric admite la parametrización del almacén de lago predeterminado para cada


instancia de cuaderno al implementar con reglas de implementación. Hay tres
opciones disponibles para especificar el almacén de lago predeterminado de
destino: igual que con el almacén de lago de origen, N/A(sin almacén de lago
predeterminado) y otro almacén de lago.

Puede lograr el aislamiento de datos protegido mediante la configuración de esta


regla. El almacén de lago predeterminado del cuaderno se reemplaza por el que
especificó como destino durante la implementación.

7 Nota

Al establecer el almacén de lago predeterminado en las reglas de


implementación, es imprescindible tener el identificador del almacén de
lago. Puede obtener el identificador del almacén de lago desde el vínculo de
la dirección URL del elemento. Las reglas de implementación tienen mayor
prioridad que el enlace automático; el almacén de lago enlazado
automáticamente se sobrescribirá cuando se configure la regla de
implementación.

6. Supervise el estado de implementación del historial de implementación.


Contenido relacionado
Administración y ejecución de cuadernos de Fabric con API públicas
Introducción a la integración de Git
Introducción a las canalizaciones de implementación

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Administración y ejecución de
cuadernos en Fabric con API
Artículo • 25/10/2024

La API REST de Microsoft Fabric proporciona un punto de conexión de servicio para las
operaciones de creación, lectura, actualización y eliminación (CRUD) de un elemento de
Fabric. En este artículo se describen las API REST del cuaderno disponibles y su uso.

) Importante

Esta característica se encuentra en versión preliminar.

7 Nota

La autenticación de entidad de servicio está disponible para la API CURD de


Notebook. Por ahora, no se admite para ejecutar la API de cuadernos.

Con las API de cuadernos, los ingenieros de datos y los científicos de datos pueden
automatizar sus propias canalizaciones y establecer CI/CD de forma cómoda y eficaz.
Estas API también facilitan a los usuarios la administración y manipulación de elementos
de cuadernos de Fabric y la integración de cuadernos con otras herramientas y sistemas.

Estas acciones de administración de elementos están disponibles para los cuadernos:

ノ Expandir tabla

Acción Descripción

Crear elemento Creación de un cuaderno dentro de un área de trabajo

Actualizar elemento Actualización de los metadatos de un cuaderno

Actualización de la definición de Actualización del contenido de un cuaderno


elementos

Eliminar elemento Eliminación de un cuaderno

Obtener elemento Obtención de los metadatos de un cuaderno

Obtención de la definición de elementos Obtención del contenido de un cuaderno

Elemento de lista Enumeración de todos los elementos de un área de


Acción Descripción

trabajo

Para más información, consulte Elementos: API REST.

Las siguientes acciones del programador de trabajos están disponibles para los
cuadernos:

ノ Expandir tabla

Acción Descripción

Ejecución del trabajo de elemento a petición Ejecución del cuaderno con parametrización

Cancelación de la instancia de trabajo del Cancelación de la ejecución del trabajo del


elemento cuaderno

Obtención de la instancia de trabajo del Obtención del estado de ejecución del cuaderno
elemento

Para más información, consulte Programador de trabajos.

Ejemplos de uso de la API REST de cuadernos


Utilice las instrucciones siguientes para probar ejemplos de uso de API públicas de
cuadernos específicos y comprobar los resultados.

7 Nota

Estos escenarios solo cubren ejemplos de uso únicos de cuadernos. Los ejemplos
de API comunes de elementos de Fabric no se tratan aquí.

Requisitos previos
La API REST de Fabric define un punto de conexión unificado para las operaciones.
Reemplace los marcadores de posición {WORKSPACE_ID} y {ARTIFACT_ID} por los valores
adecuados cuando siga los ejemplos de este artículo.

Creación de un cuaderno con una definición


Cree un elemento de cuaderno con un archivo .ipynb existente:
Solicitar

HTTP

POST [Link]

{
"displayName":"Notebook1",
"type":"Notebook",
"definition" : {
"format": "ipynb",
"parts": [
{
"path": "[Link]",
"payload":
"eyJuYmZvcm1hdCI6NCwibmJmb3JtYXRfbWlub3IiOjUsImNlbGxzIjpbeyJjZWxsX3R5cGUiOiJ
jb2RlIiwic291cmNlIjpbIiMgV2VsY29tZSB0byB5b3VyIG5ldyBub3RlYm9va1xuIyBUeXBlIGh
lcmUgaW4gdGhlIGNlbGwgZWRpdG9yIHRvIGFkZCBjb2RlIVxuIl0sImV4ZWN1dGlvbl9jb3VudCI
6bnVsbCwib3V0cHV0cyI6W10sIm1ldGFkYXRhIjp7fX1dLCJtZXRhZGF0YSI6eyJsYW5ndWFnZV9
pbmZvIjp7Im5hbWUiOiJweXRob24ifX19",
"payloadType": "InlineBase64"
}
]
}
}

La carga de la solicitud es una cadena base64 convertida desde el siguiente cuaderno de


ejemplo.

JSON

{
"nbformat": 4,
"nbformat_minor": 5,
"cells": [
{
"cell_type": "code",
"source": [
"# Welcome to your new notebook\n# Type here in the cell
editor to add code!\n"
],
"execution_count": null,
"outputs": [],
"metadata": {}
}
],
"metadata": {
"language_info": {
"name": "python"
},
"dependencies": {
"environment": {
"environmentId": "6524967a-18dc-44ae-86d1-0ec903e7ca05",
"workspaceId": "c31eddd2-26e6-4aa3-9abb-c223d3017004"
},
"lakehouse": {
"default_lakehouse": "5b7cb89a-81fa-4d8f-87c9-3c5b30083bee",
"default_lakehouse_name": "lakehouse_name",
"default_lakehouse_workspace_id": "c31eddd2-26e6-4aa3-9abb-
c223d3017004"
}
}
}
}

7 Nota

Puede cambiar el almacén de lago predeterminado del cuaderno o el entorno


adjunto cambiando el contenido [Link] o
[Link] del cuaderno.

Obtención de un cuaderno con una definición


Use la siguiente API para obtener el contenido del cuaderno. Fabric le permite
establecer el formato como .ipynb en la cadena de consulta para obtener un cuaderno
.ipynb.

Solicitar

HTTP

POST
[Link]
FACT_ID}}/GetDefinition?format=ipynb

Respuesta

Código de estado: 200

JSON

{
"definition": {
"parts": [
{
"path": "[Link]",
"payload":
"eyJuYmZvcm1hdCI6NCwibmJmb3JtYXRfbWlub3IiOjUsImNlbGxzIjpbeyJjZWxsX3R5cGUiOiJ
jb2RlIiwic291cmNlIjpbIiMgV2VsY29tZSB0byB5b3VyIG5ldyBub3RlYm9va1xuIyBUeXBlIGh
lcmUgaW4gdGhlIGNlbGwgZWRpdG9yIHRvIGFkZCBjb2RlIVxuIl0sImV4ZWN1dGlvbl9jb3VudCI
6bnVsbCwib3V0cHV0cyI6W10sIm1ldGFkYXRhIjp7fX1dLCJtZXRhZGF0YSI6eyJsYW5ndWFnZV9
pbmZvIjp7Im5hbWUiOiJweXRob24ifX19",
"payloadType": "InlineBase64"
}
]
}
}

Ejecución de un cuaderno a petición


Programe la ejecución del cuaderno con la siguiente API. El trabajo de Spark comienza a
ejecutarse después de una solicitud correcta.

Fabric admite el paso parameters del cuerpo de la solicitud para parametrizar la


ejecución del cuaderno. La celda de parámetros del cuaderno consume los valores.

También puede usar configuration para personalizar la sesión de Spark de la ejecución


del cuaderno. configuration comparte el mismo contrato con el comando magic de
configuración de sesión de Spark.

Solicitar

HTTP

POST
[Link]
FACT_ID}}/jobs/instances?jobType=RunNotebook

{
"executionData": {
"parameters": {
"parameterName": {
"value": "new value",
"type": "string"
}
},
"configuration": {
"conf": {
"spark.conf1": "value"
},
"environment": {
"id": "<environment_id>",
"name": "<environment_name>"
},
"defaultLakehouse": {
"name": "<lakehouse-name>",
"id": "<lakehouse-id>",
"workspaceId": "<(optional) workspace-id-that-contains-the-
lakehouse>"
},
"useStarterPool": false,
"useWorkspacePool": "<workspace-pool-name>"
}
}
}

Respuesta

Código de estado: 202

HTTP

Location: [Link]
8187-f10824047715/items/431e8d7b-4a95-4c02-8ccd-
6faef5ba1bd7/jobs/instances/f2d65699-dd22-4889-980c-15226deb0e1b
Retry-After: 60

Con location , puede usar Obtener instancia de trabajo de elemento para ver el estado
del trabajo o usar Cancelar instancia de trabajo de elemento para cancelar la ejecución
del cuaderno actual.

Contenido relacionado
Desarrollo, ejecución y administración de cuadernos de Microsoft Fabric
Implementación y control de código fuente del cuaderno
Utilidades de Microsoft Spark (MSSparkUtils) para Fabric

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Cómo usar los cuadernos de
Microsoft Fabric
Artículo • 25/07/2024

Existen muchas ventajas para adoptar un buen estilo y convenciones al escribir un


cuaderno de Python o una definición de trabajo de Apache Spark. Al aplicar un formato
coherente al código, logra o siguiente:

Facilitar la lectura del código.


Aumentar la capacidad de mantenimiento del código.
Acelerar las revisiones de código.
Detectar cambios entre versiones de forma más precisa.

En concreto, en este artículo se describe cómo extender un cuaderno de Fabric para usar
un formateador de código que cumpla las recomendaciones de PEP 8 .

7 Nota

PEP es el acrónimo de Propuestas de mejora de Python. PEP 8 es una guía de estilo


que describe las convenciones de codificación para el código de Python.

Extensión de cuadernos de Fabric


Puede ampliar un cuaderno de Fabric mediante una extensión de cuaderno. Una
extensión de cuaderno es un componente de software que agrega nuevas
funcionalidades a la interfaz del cuaderno. Primero, se instala una extensión como
biblioteca y, a continuación, se configura para satisfacer sus necesidades específicas.

En este artículo empleamos dos extensiones que puede usar para dar formato al código
de Python en un cuaderno de Fabric. Ambas extensiones están disponibles
gratuitamente en GitHub.

La extensión de formateador de código de Python black .


La extensión de formateador jupyter-black , que también puede usar para dar
formato automáticamente al código en un cuaderno de Jupyter Notebook o
Jupyter Lab.

Configuración de una extensión de formateador de


código
Hay dos métodos para configurar una extensión de formateador de código en un
cuaderno de Fabric. El primer método conlleva la configuración del área de trabajo,
mientras que el segundo método implica la instalación en línea. Puede habilitar el
formato de código después de instalar la extensión.

Configuración del área de trabajo

La configuración del área de trabajo se usa para configurar el entorno de trabajo de un


área de trabajo de Fabric. Si desea que las bibliotecas estén disponibles para su uso en
los cuadernos y las definiciones de trabajo de Spark en el área de trabajo, puede crear el
entorno, instalar las bibliotecas en él y, después, el administrador del área de trabajo
puede asociar el entorno como valor predeterminado para el área de trabajo. Por lo
tanto, al instalar una extensión de formateador de código en el entorno predeterminado
del área de trabajo, todos los cuadernos del área de trabajo pueden beneficiarse de ello.

Para obtener más información sobre los entornos, consulte Creación, configuración y
uso de un entorno en Microsoft Fabric .

Instalación en línea

Use el método de instalación en línea cuando quiera instalar una biblioteca para un
cuaderno específico, en lugar de todos los cuadernos de un área de trabajo. Este
enfoque es cómodo cuando desea una solución temporal o rápida que no deba afectar
a otros cuadernos del área de trabajo.

Para obtener información sobre cómo realizar una instalación en línea, consulte
instalación en línea.

En el ejemplo siguiente, el comando %pip se usa para instalar la versión más reciente de
la extensión jupyter-black en los nodos del controlador y del ejecutor.

Python

# Install the latest version by using %pip command


# It will be available on both driver and executor nodes
%pip install jupyter-black

Habilitación del formato de código

Después de instalar la extensión de formato de código, debe habilitar el formato de


código para el cuaderno. Para ello, debe cargar la extensión. Esto se puede realizar de
dos maneras:
Mediante el comando magic %load_ext .

Python

# Load the jupyter-black extension


%load_ext jupyter_black

Con la extensión de carga mediante la API de programación.

Python

import jupyter_black
jupyter_black.load()

 Sugerencia

Para asegurarse de que todos los cuadernos habilitan el formato de código —útil
en escenarios de desarrollo empresarial— habilite el formato en un cuaderno de
plantillas.

Código de formato
Para dar formato al código, seleccione las líneas de código a las que desea dar formato
y presione Mayús+Entrar.

Las siguientes 11 líneas de código no tienen todavía el formato correcto.

Python

def unique(list_input):
list_set = set(list_input
)
unique_list = (list(
list_set
)
)
for x in unique_list:
print(
x
)

Tras aplicar el formato, la extensión redujo el script a solo cinco líneas. El código
presenta ahora un buen estilo que cumple las convenciones.
Python

def unique(list_input):
list_set = set(list_input)
unique_list = list(list_set)
for x in unique_list:
print(x)

Contenido relacionado
Para obtener más información sobre los cuadernos de Fabric, consulte los siguientes
artículos.

Administración de bibliotecas de Apache Spark en Microsoft Fabric


¿Tiene alguna pregunta? Intente preguntar a la comunidad de Fabric .
¿Sugerencias? Contribuir a las ideas para mejorar Fabric .

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Compatibilidad de T-SQL en los
cuadernos de Microsoft Fabric
Artículo • 06/11/2024

La característica de cuadernos de T-SQL en Microsoft Fabric le permite escribir y ejecutar


código T-SQL en un cuaderno. Puede usar cuadernos de T-SQL para administrar
consultas complejas y escribir mejor documentación de Markdown. También permite la
ejecución directa de T-SQL en el almacenamiento conectado o el punto de conexión de
análisis SQL. Al agregar un punto de conexión de almacenamiento de datos o de análisis
SQL a un cuaderno, los desarrolladores de T-SQL pueden ejecutar consultas
directamente en el punto de conexión conectado. Los analistas de BI también pueden
realizar consultas entre bases de datos para recopilar información de varios almacenes y
puntos de conexión de análisis SQL.

La mayoría de las funcionalidades de cuadernos existentes están disponibles para los


cuadernos de T-SQL. Estos incluyen gráficos de resultados de consulta, coautoría de
cuadernos, programación de ejecuciones regulares y desencadenamiento de la
ejecución en canalizaciones de integración de datos.

) Importante

Esta característica se encuentra en versión preliminar.

En este artículo aprenderá a:

Crear un cuaderno de SQL


Agregar un punto de conexión de almacenamiento de datos o de análisis SQL a un
cuaderno
Crear y ejecutar código T-SQL en un cuaderno
Usar las características de gráfico para representar gráficamente los resultados de
la consulta
Guardar la consulta como vista o tabla
Ejecutar consultas entre almacenes
Omitir la ejecución de código que no es T-SQL

Creación de un cuaderno de SQL


Para empezar a trabajar con esta experiencia, puede crear un cuaderno de T-SQL de las
dos maneras siguientes:
1. Cree un cuaderno de T-SQL desde la página principal de almacenamiento de
datos: vaya a la experiencia de almacenamiento de datos y elija Cuaderno.

2. Cree un cuaderno de T-SQL desde un editor de almacenamiento existente: vaya a


un almacén existente, en la cinta de navegación superior, seleccione Nueva
consulta SQL y, a continuación, Nuevo cuaderno de consulta T-SQL.

Una vez creado el cuaderno, se establece T-SQL como lenguaje predeterminado. Puede
agregar puntos de conexión de almacenamiento de datos o de análisis SQL desde el
área de trabajo actual al cuaderno.

Adición de un punto de conexión de


almacenamiento de datos o de análisis SQL a
un cuaderno
Para agregar un punto de conexión de almacenamiento de datos o de análisis SQL a un
cuaderno, en el editor de cuadernos, seleccione el botón + Orígenes de datos y elija
Almacenes. En el panel del centro de datos, seleccione el punto de conexión de
almacenamiento de datos o de análisis SQL al que quiere conectarse.
Establecimiento de un almacén principal
Puede agregar varios almacenes o puntos de conexión de análisis SQL al cuaderno, con
uno de ellos establecido como principal. El almacenamiento principal ejecuta el código
T-SQL. Para establecerlo, vaya al explorador de objetos, seleccione ... junto al almacén y
elija Establecer como principal.
Para cualquier comando de T-SQL que admita la nomenclatura de tres partes, el
almacenamiento principal se utiliza como almacenamiento predeterminado si no se
especifica ningún otro.

Creación y ejecución de código T-SQL en un cuaderno


Para crear y ejecutar código T-SQL en un cuaderno, agregue una nueva celda y
establezca T-SQL como lenguaje de celda.

Puede generar automáticamente código T-SQL mediante la plantilla de código desde el


menú contextual del explorador de objetos. Las plantillas siguientes están disponibles
para los cuadernos de T-SQL:

Seleccionar los 100 primeros


Crear tabla
Crear como selección
Drop
Colocar y crear

Para ejecutar una celda de código T-SQL, seleccione el botón Ejecutar de la barra de
herramientas de celda o ejecute todas las celdas seleccionando el botón Ejecutar todo
de la barra de herramientas.

7 Nota

Cada celda de código se ejecuta en una sesión independiente, por lo que las
variables definidas en una celda no están disponibles en otra celda.

Dentro de la misma celda de código, puede contener varias líneas de código. El usuario
puede seleccionar parte de este código y ejecutar únicamente las líneas seleccionadas.
Cada ejecución también genera una nueva sesión.
Una vez ejecutado el código, expanda el panel de mensajes para comprobar el resumen
de ejecución.

En la pestaña Tabla se muestran los registros del conjunto de resultados devuelto. Si la


ejecución contiene varios conjuntos de resultados, puede cambiar de uno a otro
mediante el menú desplegable.
Usar las características de gráfico para representar
gráficamente los resultados de la consulta
Al hacer clic en Inspeccionar, puede ver los gráficos que representan la calidad y
distribución de los datos de cada columna.

Guardar la consulta como una vista o tabla


Puede usar el menú Guardar como tabla para guardar los resultados de la consulta en
la tabla mediante el comando CTAS. Para usar este menú, seleccione el texto de la
consulta en la celda de código y seleccione el menú Guardar como tabla.
Del mismo modo, puede crear una vista a partir del texto de consulta seleccionado con
el menú Guardar como vista de la barra de comandos de la celda.
7 Nota

Dado que los menús Guardar como tabla y Guardar como vista solo están
disponibles para el texto de consulta seleccionado, debe seleccionar el texto
de la consulta antes de usar estos menús.

Crear vista no admite la nomenclatura de tres partes, por lo que la vista


siempre se crea en el almacenamiento principal cuando se establece como tal.

Consultas entre almacenamientos


Puede ejecutar consultas entre almacenamientos mediante la nomenclatura de tres
partes. La nomenclatura de tres partes consta del nombre de la base de datos, el
nombre del esquema y el nombre de la tabla. El nombre de la base de datos es el
nombre del punto de conexión del almacenamiento o de análisis SQL y el nombre del
esquema y el nombre de la tabla son los nombres correspondientes del esquema y la
tabla.

Omitir la ejecución de código que no es T-SQL


Dentro del mismo cuaderno, es posible crear celdas de código que usen diferentes
lenguajes. Por ejemplo, una celda de código PySpark puede preceder a una celda de
código T-SQL. En tal caso, el usuario puede optar por omitir la ejecución del código
PySpark en el cuaderno de T-SQL. Este cuadro de diálogo aparece cuando se ejecutan
todas las celdas de código haciendo clic en el botón Ejecutar todo de la barra de
herramientas.

Limitaciones de la vista preliminar pública


La celda de parámetro aún no se admite en el cuaderno de T-SQL. El parámetro
pasado desde la canalización o el programador no podrá usarse en el cuaderno de
T-SQL.
La característica Ejecución reciente aún no se admite en el cuaderno de T-SQL.
Debe usar la característica de supervisión del almacenamiento de datos actual para
comprobar el historial de ejecución del cuaderno de T-SQL. Consulte el artículo
Supervisar el almacenamiento de datos de Fabric para obtener más información.
La dirección URL de supervisión dentro de la ejecución de la canalización aún no se
admite en el cuaderno de T-SQL.
La característica de instantánea aún no se admite en el cuaderno de T-SQL.
La compatibilidad con la canalización de implementación y de Git aún no se
admite en el cuaderno de T-SQL.

Contenido relacionado
Para obtener más información sobre los cuadernos de Fabric, consulte los siguientes
artículos.

¿Qué es el almacenamiento de datos en Microsoft Fabric?


¿Tiene alguna pregunta? Intente preguntar a la comunidad de Fabric .
¿Sugerencias? Contribuir a las ideas para mejorar Fabric .
Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Creación, configuración y uso de un
entorno en Microsoft Fabric
Artículo • 22/05/2024

Los entornos de Microsoft Fabric son un elemento consolidado de toda la configuración


de hardware y software. En un entorno puede seleccionar tiempos de ejecución de
Spark diferentes, configurar los recursos de proceso, instalar bibliotecas desde
repositorios públicos o directorios locales, etc.

En este tutorial se proporciona información general sobre cómo crear, configurar y usar
un entorno.

Creación de un entorno
Hay varios puntos de entrada para crear entornos nuevos.

Punto de entrada estándar

En el centro de creación o en la sección Nuevo del área de trabajo, puede


encontrar la opción para crear un nuevo entorno como otros elementos de Fabric.

Creación durante la selección

Al seleccionar el entorno del cuaderno, la definición del trabajo de Spark y el valor


predeterminado del área de trabajo, puede encontrar la opción para crear un
entorno nuevo.

Configuración de un entorno
Existen tres componentes principales en un entorno, que son el proceso de Spark (que
incluye el tiempo de ejecución de Spark), las bibliotecas y los recursos. Las
configuraciones de las bibliotecas y el proceso de Spark son necesarias para que la
publicación sea eficaz, mientras que los recursos son un almacenamiento compartido
que puede cambiar en tiempo real. Consulte la sección Guardar y publicar cambios para
obtener más detalles.

Configuración del proceso de Spark


Para un entorno, puede elegir entre varios runtimes de Spark, cada uno con su propia
configuración predeterminada y sus paquetes preinstalados. Para ver los runtimes
disponibles, vaya a la pestaña Inicio del entorno y seleccione Runtime. Seleccione el
runtime que mejor se adapte a sus necesidades.

) Importante

Si va a actualizar el runtime de un entorno con configuraciones o bibliotecas


existentes, debe volver a publicar el contenido en función de la versión de
runtime actualizada.
Si las configuraciones o bibliotecas existentes no son compatibles con la
versión de runtime recién actualizada, se produce un error en la publicación.
Debe quitar las configuraciones o bibliotecas incompatibles y volver a
publicar el entorno.

El proceso de Spark de Microsoft Fabric proporciona una velocidad y eficiencia sin


precedentes ejecutando Spark, así como experiencias adaptadas a los requisitos. En el
entorno puede elegir entre varios grupos creados por administradores de áreas de
trabajo y administradores de capacidades. Puede ajustar aún más las configuraciones y
administrar las propiedades de Spark para que sean eficaces en las sesiones de Spark.
Para obtener más información, consulte Opciones de configuración de proceso de Spark
en entornos de Fabric.

Administración de bibliotecas
Excepto para las bibliotecas integradas proporcionadas por cada runtime de Spark, el
entorno de Fabric permite instalar bibliotecas desde orígenes públicos o cargar
bibliotecas personalizadas compiladas por usted o su organización. Una vez que instale
correctamente las bibliotecas, están disponibles en las sesiones de Spark. Para obtener
más información, consulte Administración de bibliotecas en entornos de Fabric.

Recursos
La sección Recursos del entorno facilita la capacidad de administrar recursos pequeños
durante la fase de desarrollo. Cuando se adjuntan, puede accederse a los archivos
cargados en el entorno entre los distintos cuadernos. Para obtener más información,
consulte Administrar recursos en el entorno de Fabric

Guardar y publicar cambios


En la pestaña Inicio de la cinta del entorno, puede encontrar fácilmente dos botones
denominados Guardar y Publicar. Se activarán cuando haya cambios pendientes sin
guardar o sin publicar en las secciones Bibliotecas y Proceso de Spark.

También verá un banner que muestra estos dos botones cuando hay cambios
pendientes en las secciones Bibliotecas y Proceso de Spark, los cuales tienen las mismas
funciones que los de la cinta.

Los cambios no guardados se pierden si actualiza o deja abierto el navegador.


Seleccione el botón Guardar para asegurarse de que los cambios se registran
antes de salir. Guardar no aplica la configuración, pero almacena los cambios en la
caché del sistema.
Seleccione Publicar para aplicar los cambios en Bibliotecas y Proceso de Spark.
Aparecerá la página Cambios pendientes para efectuar una revisión final antes de
la publicación. A continuación, seleccione Publicar todo para iniciar la
configuración en el entorno de Fabric. Este proceso puede tardar un poco,
especialmente si se producen cambios en la biblioteca.
Para cancelar un proceso de publicación, seleccione Ver progreso en el banner y
Cancelar la operación.
Cuando la publicación finaliza, aparece una notificación. Se produce una
notificación de error si hay algún problema durante el proceso.

7 Nota

El entorno solo acepta una publicación de cada vez. Mientras hay una publicación
en curso, no se pueden realizar más cambios en las bibliotecas ni en la sección de
Proceso de Spark. La publicación no afecta a la adición, eliminación ni edición de
los archivos y carpetas de la sección Recursos. Las acciones para administrar
recursos son en tiempo real y la publicación no bloquea los cambios en la sección
de recursos.
Cómo adjuntar un entorno
El entorno de Microsoft Fabric se puede adjuntar a las áreas de trabajo de
Ingeniería/Ciencia de datos o a sus cuadernos y definiciones de trabajos de Spark.

Cómo adjuntar un entorno como valor predeterminado


del área de trabajo
Busque la pestaña Entorno seleccionando Configuración del área de trabajo -
>Ingeniería/Ciencia de datos ->Configuración de Spark.

Nuevas áreas de trabajo


Cuando esté trabajando en un área de trabajo que sea nueva o no tenga configurada la
biblioteca y la configuración de Spark, aparecerá la siguiente pantalla Configuración de
Spark.
Los administradores de áreas de trabajo pueden definir la experiencia predeterminada
para todas las áreas de trabajo. Los valores configurados aquí son eficaces para los
cuadernos y definiciones de trabajos de Spark que se adjuntan a la configuración del
área de trabajo.

El botón de alternancia Establecer entorno predeterminado puede mejorar la


experiencia del usuario. De forma predeterminada, este botón de alternancia se
establece en Desactivado. Si no hay ninguna propiedad o biblioteca de Spark
predeterminada necesaria como valor predeterminado del área de trabajo, los
administradores pueden definir el runtime de Spark en esta circunstancia. Sin embargo,
si un administrador quiere preparar un proceso y bibliotecas predeterminados de Spark
para el área de trabajo, puede cambiar el botón de alternancia a Activado y adjuntar
fácilmente un entorno como valor predeterminado del área de trabajo. Esta opción hace
que todas las configuraciones del entorno sean eficaces como configuración del área
de trabajo.
Áreas de trabajo con propiedades o biblioteca de Spark existentes
La característica de entorno es una actualización importante de la sección Ingeniería de
datos o Ciencia de datos de la Configuración del área de trabajo. Como parte de esta
actualización, Fabric ya no admite la administración de bibliotecas ni la incorporación de
nuevas propiedades de Spark en el nivel de área de trabajo. Puede migrar las bibliotecas
existentes y las propiedades de Spark a un entorno y adjuntarlas como valor
predeterminado del área de trabajo. Para obtener más información, consulte Migrar
bibliotecas de áreas de trabajo y propiedades de Spark a un entorno predeterminado.
Cómo adjuntar un entorno a un cuaderno o a una
definición de trabajo de Spark
El menú Entorno aparece tanto en la pestaña Inicio del cuaderno como en la de la
definición de trabajo de Spark. Los entornos disponibles se muestran en el menú. Si
selecciona un entorno, el proceso de Spark y las bibliotecas configuradas en él serán
efectivos después de iniciar una sesión de Spark.

7 Nota

Si cambia de entorno mientras se encuentra en una sesión activa, el entorno recién


seleccionado no surtirá efecto hasta la siguiente sesión.

Compartir un entorno existente


Microsoft Fabric admite el uso compartido de un elemento con un nivel de permisos
diferente.
Al compartir un elemento de entorno, los destinatarios reciben automáticamente el
permiso de lectura. Con este permiso, pueden explorar las configuraciones del entorno
y adjuntarlo a cuadernos o trabajos de Spark. Para que la ejecución de código sea fluida,
asegúrese de conceder permisos de lectura para los entornos adjuntos al compartir
cuadernos y definiciones de trabajos de Spark.

Además, puede compartir el entorno con permisos para Compartir y Editar. Los
usuarios con permiso para compartir pueden seguir compartiendo el entorno con otros
usuarios. Mientras tanto, los destinatarios con permiso para editar pueden actualizar el
contenido del entorno.

Contenido relacionado
Opciones de configuración de proceso de Spark en entornos de Fabric
Administración de bibliotecas en entornos de Fabric

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Opciones de configuración de proceso
de Spark en entornos de Fabric
Artículo • 22/05/2024

Las experiencias de Ingeniería de datos y Ciencia de datos de Microsoft Fabric funcionan


en una plataforma de proceso Spark totalmente administrada. Esta plataforma está
diseñada para ofrecer una velocidad y eficiencia inigualables. Incluye grupos de inicio y
grupos personalizados.

Un entorno de Fabric contiene una colección de configuraciones, incluidas las


propiedades de proceso de Spark que permiten a los usuarios configurar la sesión de
Spark después de que estén asociadas a cuadernos y trabajos de Spark. Un entorno le
permite personalizar las configuraciones de proceso para ejecutar los trabajos de Spark
de manera flexible. En un entorno, la sección de proceso le permite configurar las
propiedades de nivel de sesión de Spark para personalizar la memoria y los núcleos de
los ejecutores en función de los requisitos de carga de trabajo.

Los administradores del área de trabajo pueden habilitar o deshabilitar las


personalizaciones de proceso con el conmutador Personalizar configuraciones de
proceso para los elementos en la pestaña Grupo de la sección Ingeniería/Ciencia de
datos en la pantalla configuración del área de trabajo.

Al habilitar esta configuración, los administradores del área de trabajo pueden delegar
los miembros y colaboradores para cambiar las configuraciones de proceso de nivel de
sesión predeterminadas en el entorno de Fabric.

Si el administrador del área de trabajo deshabilita esta opción en la configuración del


área de trabajo, la sección de proceso del entorno está deshabilitada y las
configuraciones de proceso de grupo predeterminadas para el área de trabajo se usan
para ejecutar trabajos de Spark.

Personalizar las propiedades de proceso de


nivel de sesión en un entorno
Como usuario, puede seleccionar un grupo para el entorno en la lista de grupos
disponibles en el área de trabajo de Fabric. El administrador del área de trabajo de
Fabric crea el grupo de inicio predeterminado y los grupos personalizados.

Después de seleccionar un grupo en la sección Proceso, puede ajustar los núcleos y la


memoria de los ejecutores dentro de los límites de tamaño y del nodo del grupo
seleccionado.

Por ejemplo, puede seleccionar un grupo personalizado con tamaño de nodo grande,
que es 16 núcleos virtuales de Spark, como grupo de entornos. A continuación, puede
elegir el núcleo controlador/ejecutor para que sea 4, 8 o 16, en función de los requisitos
de nivel de trabajo. Para la memoria asignada a controladores y ejecutores, puede elegir
entre 28, 56 o 112 g, todos ellos dentro de los límites de un límite de memoria de nodo
grande.
Para obtener más información sobre los tamaños de proceso de Spark y sus núcleos u
opciones de memoria, consulte ¿Qué es el proceso de Spark en Microsoft Fabric?.

Contenido relacionado
Creación, configuración y uso de un entorno en Microsoft Fabric.

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Administración de bibliotecas en
entornos de Fabric
Artículo • 25/10/2024

Los entornos de Microsoft Fabric ofrecen configuraciones flexibles para ejecutar los
trabajos de Spark. Las bibliotecas proporcionan código reutilizable que los
desarrolladores pueden incluir en su trabajo. A excepción de las bibliotecas integradas
que se incluyen con cada entorno de ejecución de Spark, puede instalar bibliotecas
públicas y personalizadas en sus entornos de Fabric. Además, puede asociar entornos a
sus cuadernos y definiciones de trabajo de Spark con toda facilidad.

7 Nota

Modificar la versión de un paquete específico podría interrumpir otros paquetes


que dependen de él. Por ejemplo, la degradación azure-storage-blob puede
provocar problemas con Pandas y otras bibliotecas que dependen Pandas de ,
incluidos mssparkutils , fsspec_wrapper y notebookutils . Puede ver la lista de
paquetes preinstalados y sus versiones para cada tiempo de ejecución aquí.

Bibliotecas públicas
Las bibliotecas públicas se obtienen de repositorios como PyPI y Conda, compatibles
actualmente con Fabric.
Adición de una nueva biblioteca pública
Para agregar una nueva biblioteca pública, seleccione un origen y especifique el nombre
y la versión de la biblioteca. Como alternativa, puede cargar un archivo .yml de
especificación de entorno de Conda para especificar las bibliotecas públicas. El
contenido del archivo .yml cargado se extrae y se anexa a la lista.

7 Nota

La característica de finalización automática de nombres de biblioteca durante la


adición se limita a las bibliotecas más populares. Si la biblioteca que quiere instalar
no está incluida en esa lista, no se recibe un mensaje de finalización automática. En
cambio, puede buscar la biblioteca directamente en PyPI o Conda si escribe su
nombre completo. Si el nombre de la biblioteca es válido, aparecen las versiones
disponibles. Si el nombre de la biblioteca no es válido, se recibe una advertencia
que indica que la biblioteca no existe.

Agregar bibliotecas públicas en un lote


Los entornos admiten la carga del archivo YAML para administrar varias bibliotecas
públicas en un lote. Los contenidos de YAML se extraen y anexan en la lista de
bibliotecas públicas.

7 Nota

Actualmente no se admiten los canales de Conda personalizados en el archivo


YAML. Solo se reconocen las bibliotecas de PyPI y conda.

Filtrado de bibliotecas públicas


Escriba palabras clave en el cuadro de búsqueda de la página Bibliotecas públicas para
filtrar la lista de bibliotecas públicas y encontrar la que necesita.

Actualización de bibliotecas públicas


Para actualizar la versión de una biblioteca pública existente, vaya a su entorno y abra
Bibliotecas públicas o Bibliotecas personalizadas. Elija la biblioteca necesaria,
seleccione el menú desplegable de versión y actualice su versión.
Eliminación de bibliotecas públicas
La opción de papelera de cada biblioteca aparece al mantener el mouse sobre la fila
correspondiente. Como alternativa, puede eliminar varias bibliotecas públicas si las
selecciona y, a continuación, selecciona Eliminar en la barra de herramientas.

Visualización de dependencias
Cada biblioteca pública tiene varias dependencias. La opción de visualización de
dependencias aparece al mantener el mouse sobre la fila correspondiente.

Exportación a yaml
Fabric proporciona la opción de exportar la lista de bibliotecas públicas completa a un
archivo YAML y descargarlo en el directorio local.

Bibliotecas personalizadas
Las bibliotecas personalizadas hacen referencia al código creado por usted o su
organización. Fabric admite archivos de biblioteca personalizada en los formatos .whl,
.jar y .[Link].

7 Nota

Fabric solo admite archivos .[Link] para el lenguaje R. Use el formato de archivo .whl
para el lenguaje Python.
Carga de la biblioteca personalizada
Puede cargar bibliotecas personalizadas desde el directorio local al entorno de Fabric.

Eliminación de la biblioteca personalizada


La opción de papelera de cada biblioteca aparece al mantener el mouse sobre la fila
correspondiente. Como alternativa, puede eliminar varias bibliotecas personalizadas si
las selecciona y, a continuación, selecciona Eliminar en la barra de herramientas.

Descarga de todas las bibliotecas personalizadas


Si se hace clic en ellas, las bibliotecas personalizadas se descargan una por una en el
directorio de descarga predeterminado local.

Contenido relacionado
Creación, configuración y uso de un entorno en Microsoft Fabric
Administración de bibliotecas de Apache Spark en Microsoft Fabric

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Canalización de implementación e
integración de Git en el entorno
Artículo • 18/07/2024

En este artículo se describe cómo usar las canalizaciones de implementación e


integración de Git para el entorno de Microsoft Fabric.

Integración de Git para el entorno de Microsoft


Fabric
Microsoft Fabric admite la integración de Git, lo que permite a los desarrolladores
realizar copias de seguridad, controlar las versiones, revertir a fases anteriores y
colaborar en el trabajo mediante ramas de Git.

) Importante

Esta característica se encuentra en versión preliminar.

7 Nota

Actualmente, Git solo admite bibliotecas y proceso de Spark, incluido el


tiempo de ejecución de Spark.
La integración de Git administra el estado de almacenamiento provisional del
entorno, para aplicar los cambios realizados en Git al entorno, deben
publicarse. Se recomienda publicar después de actualizar el entorno desde
Git para garantizar la eficacia de la configuración. Puede usar la API de
publicación del entorno para publicar cambios a través de la API de REST si
prefiere la experiencia de código primero.
El grupo personalizado adjunto persiste en un entorno cuando se sincroniza
desde el repositorio a un espacio de trabajo de Fabric. La definición del grupo
está en la configuración del área de trabajo y no se admite la referencia entre
áreas de trabajo al grupo. Debe actualizar manualmente el instance_pool_id a
un grupo personalizado existente en el espacio del área de trabajo de destino
o revertir al grupo de inicio eliminando esta propiedad. Puede consultar
Grupos personalizados: enumerar grupos personalizados del área de
trabajo para obtener la lista completa del grupo disponible en el área de
trabajo de destino mediante la API de REST o hacer referencia a Grupos
personalizados: Crear grupo personalizado del área de trabajo para crear un
nuevo grupo personalizado.
Cada confirmación tiene un límite máximo de 150 MB. Actualmente, no se
admiten bibliotecas personalizadas de más de 150 MB a través de Git.

Conexión del área de trabajo de Fabric con un repositorio


de Azure DevOps
Si es el administrador de un área de trabajo, vaya a la configuración del área de trabajo
y configure la conexión en la sección Control de código fuente. Para obtener más
información, consulte Administrar un área de trabajo con Git.

Después de establecer la conexión, puede buscar elementos, incluidos los entornos que
se sincronizan con el repositorio.

Representación local de un entorno de Git


En la carpeta raíz del elemento, los entornos se organizan con una carpeta Bibliotecas
que contiene las subcarpetas PublicLibraries y CustomLibraries, junto con la carpeta
Configuración.
Bibliotecas

Al confirmar un entorno en Git, la sección biblioteca pública se transforma en su


representación YAML. Además, la biblioteca personalizada se confirma junto con su
archivo de origen.

Puede actualizar la biblioteca pública editando la representación YAML. Al igual que la


experiencia del portal, puede especificar una biblioteca de PyPI y Conda. Puede
especificar la biblioteca con la versión prevista, un intervalo de versiones o sin versión. El
sistema puede ayudarle a determinar una versión compatible con otras dependencias
del entorno. Para borrar todas las bibliotecas públicas existentes, elimine el archivo
YAML.
Para actualizar la biblioteca personalizada, agregue nuevos archivos o elimine archivos
existentes directamente.

7 Nota

Puede traer su propio archivo YAML para administrar la biblioteca pública. El


nombre de archivo debe ser [Link] que el sistema lo reconozca
correctamente.

Proceso de Spark
La sección de proceso de Spark también se transforma en la representación YAML.
Dentro de este archivo YAML, puede cambiar el grupo adjunto, ajustar las
configuraciones de proceso, administrar las propiedades de Spark y seleccionar el
tiempo de ejecución de Spark deseado.

Canalización de implementación para el


entorno

) Importante

Esta característica se encuentra en versión preliminar.


Las canalizaciones de implementación de Fabric simplifican el proceso de entrega de
contenido modificado entre distintas fases, como pasar de desarrollo a prueba. La
canalización automática puede incluir los elementos del entorno para transmitir el
proceso de nueva creación.

Para configurar una canalización de implementación, asigne a las áreas de trabajo


distintas fases. Obtenga más información en Introducción a las canalizaciones de
implementación.

Puede ver el estado de implementación después de configurar correctamente la


canalización. Después de hacer clic en el botón Implementar con el entorno
seleccionado, todo el contenido del entorno se implementa en las áreas de trabajo de
destino. El estado del entorno original se conserva durante este proceso, lo que significa
que las configuraciones publicadas permanecen en estado publicado y no requieren
ninguna publicación adicional.

) Importante

Actualmente, no se admite el grupo personalizado en la canalización de


implementación. Si el entorno selecciona el grupo personalizado, las
configuraciones de la sección Proceso del entorno de destino se establecen
con valores predeterminados. En este caso, los entornos siguen mostrando
diferencias en la canalización de implementación aunque la implementación
se haya realizado correctamente.
El uso de reglas de implementación para especificar un grupo diferente en el
área de trabajo nueva se incluirá en la próxima versión.

Contenido relacionado
Creación, configuración y uso de un entorno en Microsoft Fabric.
Administración de un área de trabajo con Git.
Introducción a las canalizaciones de implementación.

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Administración del entorno a través de
API públicas
Artículo • 18/07/2024

La API REST de Microsoft Fabric proporciona un punto de conexión de servicio para las
operaciones de creación, lectura, actualización y eliminación (CRUD) de un elemento de
Fabric. En este artículo se describen las API de REST del entorno disponibles y su uso.

) Importante

Esta característica se encuentra en versión preliminar.

Resumen de las API del entorno disponibles


ノ Expandir tabla

API Descripción Category

Crear ambiente Crea un entorno nuevo en el área de trabajo. General

Obtener entorno Obtiene los metadatos de un entorno. La respuesta General


incluye el estado del entorno.

Actualizar entorno Actualiza los metadatos de un entorno, como el General


nombre y la descripción.

Eliminación del entorno Elimina un entorno existente. General

Enumerar entorno en el Obtiene la lista de entornos del área de trabajo. General


área de trabajo

Publicar entorno Desencadena la publicación del entorno con los General


cambios pendientes actuales.

Cancelación de la Cancela una publicación en curso del entorno General


publicación

Obtener proceso de Obtiene las configuraciones de proceso de Spark que Proceso de


Spark publicado están activas. Spark

Obtener proceso de Obtiene todas las configuraciones de proceso de Proceso de


Spark de almacenamiento provisional. Las configuraciones de Spark
almacenamiento almacenamiento provisional incluyen las
provisional configuraciones de proceso publicadas y pendientes.
API Descripción Category

Obtener bibliotecas Obtiene la lista de bibliotecas que está activa. Bibliotecas


publicadas

Obtener bibliotecas de Obtiene la lista completa de bibliotecas de Bibliotecas


almacenamiento almacenamiento provisional. Esta lista incluye las
provisional bibliotecas publicadas y pendientes.

Cargar bibliotecas de Permite agregar una biblioteca personalizada o una o Bibliotecas


almacenamiento varias bibliotecas públicas al entorno.
provisional

Eliminar bibliotecas de Elimina una biblioteca personalizada de Bibliotecas


almacenamiento almacenamiento provisional o toda la biblioteca
provisional pública.

Más información sobre las API públicas del entorno en API de elemento: entorno

Casos de uso de API públicas del entorno


Esta sección le guía a través de varios escenarios habituales al tratar con el entorno. En
los ejemplos siguientes, puede reemplazar {WORKSPACE_ID} y {ARTIFACT_ID} por los
valores correspondientes.

Crear un nuevo entorno


Puede crear un nuevo entorno vacío mediante la API siguiente.

Solicitud de ejemplo

HTTP

POST
[Link]
ments

{
"displayName": "Environment_1",
"description": "An environment description"
}

Administración de las bibliotecas de almacenamiento


provisional
Puede usar las API de carga/eliminación de las bibliotecas de almacenamiento
provisional para administrar la sección de la biblioteca del entorno

Comprobación de las bibliotecas publicadas del entorno

Antes de agregar o eliminar la biblioteca, puede usar la API de obtención de bibliotecas


publicadas para comprobar qué bibliotecas están activas actualmente.

Solicitud de ejemplo

HTTP

GET
[Link]
ments/{{ARTIFACT_ID}}/libraries

Respuesta de muestra

HTTP

{
"customLibraries": {
"wheelFiles": [
"[Link]"
],
"pyFiles": [
"[Link]"
],
"jarFiles": [
"[Link]"
],
"rTarFiles": [
"[Link]"
]
},
"environmentYml": "dependencies:\r\n- pip:\r\n -
matplotlib==3.4.3"
}

Carga de las bibliotecas


La API para cargar la biblioteca de almacenamiento provisional acepta un archivo de
cada vez. Los tipos de archivo admitidos son .whl, .jar, .[Link], .py y [Link] para
la biblioteca pública. Puede especificar el archivo a través del tipo de contenido
multipart/form-data.
7 Nota

Para manipular la biblioteca pública de forma más eficaz, se recomienda


encarecidamente componer todas las bibliotecas esperadas de PyPI y Conda
en un archivo [Link].
La API de carga permite un archivo de hasta 200 MB en una solicitud; si la
biblioteca supera este límite de tamaño, no se admite actualmente en la API
pública.

Solicitudes de ejemplo

HTTP

POST
[Link]
ments/{{ARTIFACT_ID}}/staging/libraries

Eliminación de las bibliotecas


Al especificar el nombre del archivo de biblioteca completo con el sufijo de tipo, puede
eliminar una biblioteca de cada vez.

7 Nota

Si especifica [Link] como archivo que se va a eliminar, se


eliminarán todas las bibliotecas públicas.
Si desea eliminar un subconjunto de bibliotecas públicas existentes, use
cargar biblioteca en su lugar y cargue un [Link] que contenga solo
las bibliotecas previstas. El [Link] cargado reemplazará por
completo la sección de biblioteca pública existente.

Solicitudes de ejemplo

HTTP

DELETE
[Link]
ments/{{ARTIFACT_ID}}/staging/libraries?libraryToDelete=fuzzywuzzy-
[Link]
Administración del proceso de Spark de almacenamiento
provisional
Puede usar la actualización del proceso de Spark de almacenamiento provisional para
administrar el proceso de Spark.

Comprobación del proceso de Spark publicado para el entorno


Antes de cambiar las configuraciones del entorno, puede usar la API de obtención del
proceso de Spark publicado para comprobar qué configuraciones del proceso de Spark
están actualmente activas.

Solicitud de ejemplo

HTTP

GET
[Link]
ments/{{ARTIFACT_ID}}/sparkcompute

Respuesta de muestra

HTTP

{
"instancePool": {
"name": "Starter Pool",
"type": "Workspace"
},
"driverCores": 4,
"driverMemory": "56g",
"executorCores": 4,
"executorMemory": "56g",
"dynamicExecutorAllocation": {
"enabled": false,
"minExecutors": 1,
"maxExecutors": 1
},
"sparkProperties": {
"[Link]": "false"
},
"runtimeVersion": "1.2"
}

Actualización de la configuración de proceso


Puede actualizar el tiempo de ejecución de Spark, cambiar a otro grupo, mejorar la
configuración de proceso y agregar o eliminar propiedades de Spark mediante la
edición del cuerpo de la solicitud de esta API.

Puede cambiar el grupo adjunto especificando el nombre del grupo y el grupo.


Especifique el nombre del grupo como Starter Pool para cambiar el grupo a la
configuración predeterminada. Para obtener la lista completa de los grupos
personalizados disponibles del área de trabajo por la API de REST, consulte Grupos
personalizados: enumerar grupos personalizados del área de trabajo.

Si quiere eliminar una propiedad de Spark existente, debe especificar el valor como
null con la clave que quiere eliminar, como se muestra en el ejemplo siguiente.

Solicitud de ejemplo

HTTP

PATCH
[Link]
ments/{{ARTIFACT_ID}}/staging/sparkcompute

{
"instancePool": {
"name": "Starter Pool",
"type": "Workspace"
},
"driverCores": 4,
"driverMemory": "56g",
"executorCores": 4,
"executorMemory": "56g",
"dynamicExecutorAllocation": {
"enabled": false,
"minExecutors": 1,
"maxExecutors": 1
},
"sparkProperties": {
"[Link]": null
},
"runtimeVersion": "1.2"
}

Aplicación de los cambios


Con los siguientes conjuntos de API para publicar los cambios.

Preparación para la publicación


El entorno puede aceptar una publicación de cada vez. Antes de publicar el entorno,
puede validar el estado del entorno y hacer una revisión final de los cambios de
almacenamiento provisional. Una vez que el entorno se ha publicado correctamente,
todas las configuraciones en estado de almacenamiento provisional se vuelven activas.

Paso 1: obtención de los metadatos del entorno

HTTP

GET
[Link]
ments/{{ARTIFACT_ID}}/

En el cuerpo de la respuesta, puede indicar claramente el estado del entorno.


Asegúrese de que no haya ninguna publicación en curso antes de ir al paso
siguiente.

Paso 2: obtención de las bibliotecas de almacenamiento provisional o el proceso


de Spark para efectuar una revisión final

HTTP

GET
[Link]
ments/{{ARTIFACT_ID}}/staging/libraries

GET
[Link]
ments/{{ARTIFACT_ID}}/staging/sparkcompute

Desencadenamiento de la publicación del entorno


Los cambios realizados en las bibliotecas de almacenamiento provisional y el proceso de
Spark se almacenan en caché, pero requieren que la publicación sea efectiva. Siga el
ejemplo siguiente para desencadenar la publicación.

Solicitud de ejemplo

HTTP

POST
[Link]
ments/{{ARTIFACT_ID}}/staging/publish

Respuesta de muestra
HTTP

{
"publishDetails":
{
"state": "Running",
"targetVersion": "46838a80-5450-4414-bea0-40fb6f3e0c0d",
"startTime": "2024-03-29T[Link].0697022Z",
"componentPublishInfo": {
"sparkLibraries": {
"state": "Running"
},
"sparkSettings": {
"state": "Running"
}
}
}
}

Durante la publicación, también puede llamar a la API siguiente para cancelarla.

Solicitud de ejemplo

HTTP

POST
[Link]
ments/{{ARTIFACT_ID}}/staging/cancelPublish

Contenido relacionado
Creación, configuración y uso de un entorno en Microsoft Fabric.
API de elemento: entorno .

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Administración de recursos en el
entorno de Fabric
Artículo • 22/05/2024

Los recursos del entorno de Fabric proporcionan un sistema de archivos que le permite
administrar los archivos y las carpetas. Puede acceder fácilmente a los recursos del
entorno desde el cuaderno y colaborar con otros usuarios si los cuadernos están
adjuntos al mismo entorno.

Interacción con recursos en el cuaderno


Cuando el cuaderno está adjunto a un entorno, puede encontrar fácilmente la carpeta
de recursos del entorno en el explorador. Las operaciones habituales, como cargar,
descargar, cambiar nombre, eliminar o mover ficheros y crear, eliminar o cambiar
nombre de carpetas se pueden realizar tanto desde la interfaz de usuario del entorno
como del cuaderno.

Si arrastra el archivo con el tipo admitido desde la carpeta de recursos del entorno y lo
coloca en una celda de código del cuaderno, se genera automáticamente un fragmento
de código que le ayuda a acceder al archivo. Para obtener más información, consulte
Fragmentos de código de cuaderno.

7 Nota
El almacenamiento de recursos tiene un límite máximo de tamaño de archivo de
500 MB, con archivos individuales restringidos a 50 MB y un límite total de
100 archivos y carpetas combinados.

Contenido relacionado
Creación, configuración y uso de un entorno en Microsoft Fabric.
Desarrollo, ejecución y administración de cuadernos de Microsoft Fabric

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Migración de las bibliotecas de áreas de
trabajo y propiedades de Spark a un
entorno predeterminado
Artículo • 16/11/2023

El entorno de Microsoft Fabric proporciona configuraciones flexibles para ejecutar los


trabajos de Spark. En un entorno puede seleccionar entornos de ejecución de Spark
diferentes, configurar los recursos de proceso e instalar bibliotecas desde repositorios
públicos o cargar las personalizadas que se han compilado localmente. Puede asociar
entornos a sus cuadernos y definiciones de trabajo de Spark con toda facilidad.

La configuración de área de trabajo de Ingeniería de datos y Ciencia de datos se


actualiza para incluir entornos de Fabric. Como parte de esta actualización, Fabric ya no
admite la incorporación de nuevas bibliotecas y propiedades de Spark en la
configuración del área de trabajo. En su lugar, puede crear un entorno de Fabric,
configurar la biblioteca y la propiedad en él y asociarlo como entorno predeterminado
del área de trabajo. Después de crear un entorno y establecerlo como predeterminado,
puede migrar las bibliotecas existentes y las propiedades de Spark a ese entorno
predeterminado.

En este tutorial aprenderá a migrar las bibliotecas de áreas de trabajo existentes y las
propiedades de Spark a un entorno.

) Importante

La configuración del área de trabajo está restringida a los administradores.


La configuración del área de trabajo existente sigue siendo efectiva para los
cuadernos o definiciones de trabajos de Spark aunque no haya ningún
entorno asociado a ellos. Sin embargo, no puede realizar más cambios en esa
configuración. SE RECOMIENDA ENCARECIDAMENTE migrar la configuración
existente a un entorno.
El proceso de migración incluye un paso que quita permanentemente todas
las configuraciones existentes. Siga detenidamente estas instrucciones. No
hay ninguna manera de devolver los archivos en caso de que estos se
eliminen accidentalmente.
Preparación de los archivos para la migración
En Configuración del área de trabajo, revise las configuraciones existentes.

1. Anote la versión del entorno de ejecución actual.

2. Para descargar las configuraciones existentes seleccione Descargar todos los


archivos.

El contenido se descarga como archivos diferentes. [Link] contiene


todos los pares clave-valor de las propiedades de Spark. El archivo
[Link] contiene todas las definiciones de biblioteca pública. Los
paquetes personalizados cargados por usted o su organización se descargan como
archivos uno a uno.

Una vez descargados los archivos, puede llevar a cabo la migración.

Creación y configuración de un entorno


1. Cree un entorno en la lista de áreas de trabajo o centro de creación. Después de
crear un nuevo entorno, aparecerá la página Entorno.

2. En la pestaña Inicio del entorno, asegúrese de que la versión del entorno de


ejecución sea la misma que la del entorno de ejecución del área de trabajo
existente.

3. Omita este paso si no ha tenido ninguna biblioteca pública en la configuración del


área de trabajo. Vaya a la sección Bibliotecas públicas y seleccione Agregar desde
.yml en la cinta de opciones. Cargue [Link], que descargó de la
configuración del área de trabajo existente.
4. Omita este paso si no ha tenido ninguna biblioteca personalizada en la
configuración del área de trabajo. Vaya a la sección Bibliotecas personalizadas y
seleccione Cargar en la cinta de opciones. Cargue los archivos de biblioteca
personalizados, que se descargaron de la configuración del área de trabajo
existente.

5. Omita este paso si no ha tenido ninguna propiedad de Spark en la configuración del


área de trabajo. Vaya a la sección Propiedades de Spark y seleccione Cargar en la
cinta de opciones. Cargue el archivo [Link], que descargó de la
configuración del área de trabajo existente.

6. Seleccione Publicar y vuelva a revisar los cambios cuidadosamente. Si todo es


correcto, publique los cambios. La publicación tarda varios minutos en finalizar.

Una vez completada la publicación, habrá configurado correctamente el entorno.


Habilitación y selección de un entorno
predeterminado en la configuración del área de
trabajo

) Importante

Todas las configuraciones existentes se descartarán cuando seleccione Habilitar


entorno. Asegúrese de que ha descargado todas las configuraciones existentes y
las ha instalado correctamente en un entorno antes de continuar.

1. Vaya a Configuración del área de trabajo ->Ingeniería/Ciencia de datos -


>Entorno y seleccione Habilitar entorno. Esta acción quita las configuraciones
existentes y da comienzo a la experiencia del entorno de nivel de área de trabajo.

Aparecerá la siguiente pantalla cuando elimine correctamente las configuraciones


existentes.
2. Mueva el botón de alternancia Personalizar entorno a la posición de encendido.
Esta opción le permite asociar un entorno como valor predeterminado del área de
trabajo.
3. Seleccione el entorno que configuró en los pasos anteriores como valor
predeterminado del área de trabajo y seleccione Guardar.
4. Confirme que el nuevo entorno aparece ahora en Entorno predeterminado para el
área de trabajo en la página Configuración de Spark.
Pasos siguientes
Creación, configuración y uso de un entorno en Microsoft Fabric.
Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


¿Qué es la extensión de Visual Studio
Code de Synapse?
Artículo • 28/05/2024

La extensión de Visual Studio Code de Synapse admite una experiencia profesional para
desarrolladores para explorar almacenes de lago de Microsoft Fabric y crear cuadernos
de Fabric y definiciones de trabajos de Spark. Obtenga más información sobre la
extensión, incluyendo cómo empezar a trabajar con los requisitos previos necesarios.

Visual Studio (VS) Code es uno de los editores de código fuente ligeros más populares,
el cual se ejecuta en el escritorio y está disponible para Windows, macOS y Linux. Al
instalar la extensión de VS Code de Synapse, podrá crear, ejecutar y depurar el cuaderno
y la definición de trabajo de Spark localmente en VS Code. También puede publicar el
código en el proceso remoto de Spark en el área de trabajo de Fabric para ejecutar o
depurar. La extensión también le permitirá examinar los datos del almacén de lago en
VS Code, incluyendo tablas y archivos sin procesar.

Requisitos previos
Requisitos previos para la extensión de VS Code de Synapse:

Instale el kit de desarrollo de Java (JDK) desde el sitio web de OpenJDK8 .


Asegúrese de utilizar el vínculo JDK y no el JRE.
Instale Conda .
Instale la extensión de Jupyter para VS Code

Después de instalar el software necesario, deberá actualizar las propiedades del sistema
operativo.

Windows
1. Agregue JAVA_HOME a las variables de entorno y apunte al directorio donde esté
instalado Java 1.8. Por ejemplo, si instala JDK en esta ruta de acceso C:\Program
Files\Java\jdk-1.8 , establezca el valor de la variable JAVA_HOME en esa ruta de

acceso.

2. Agregue %JAVA_HOME%/bin y la subcarpeta condabin de la instalación de Conda


al directorio de la ruta de acceso del sistema. La carpeta condabin podría estar en
la carpeta donde instaló y en este formato \miniconda3\condsbin . Abra las
variables de entorno y agregue %JAVA_HOME%/bin y las rutas de acceso de
condabin a la variable Path.

macOS
Ejecute el archivo [Link] en el terminal:

1. Abra la ventana del terminal, cambie el directorio a la carpeta donde esté instalado
Conda y, a continuación, cambie al subdirectorio etc/profile.d. El subdirectorio
debería contener un archivo denominado [Link].

2. Ejecute source [Link] .

3. En la misma ventana de terminal, ejecute sudo conda init .

4. Tipo en Java --version . La versión debería ser Java 1.8.

Instalación de la extensión y preparación del


entorno
1. Busque Synapse VS Code en el marketplace de extensiones de VS Code e instale la
extensión.

2. Una vez completada la instalación de la extensión, reinicie VS Code. El icono de la


extensión aparecerá en la barra de actividades de VS Code.

Directorio de trabajo local


Para editar un cuaderno, es necesario tener una copia local del contenido del cuaderno.
El directorio de trabajo local de la extensión actúa como carpeta raíz local para todos los
cuadernos descargados, incluso aquellos cuadernos de áreas de trabajo diferentes. Al
invocar el comando Synapse:Set Local Work Folder , es posible especificar una carpeta
como directorio de trabajo local para la extensión.

Para validar la configuración, abra la configuración de la extensión y compruebe los


detalles allí:
Inicie y cierre sesión en la cuenta
1. En la paleta de comandos de VS Code, escriba el comando Synapse:Sign in para
iniciar sesión en la extensión. Aparece una página de inicio de sesión en el
explorador independiente.

2. Compruebe el nombre de usuario y la contraseña.

3. Después de iniciar sesión correctamente, el nombre de usuario se mostrará en la


barra de estado de VS Code para indicar que ha iniciado sesión.

4. Para cerrar sesión en la extensión, ingrese el comando Synapse: Sign off .

Elección de un área de trabajo con la que trabajar


Para seleccionar un área de trabajo de Fabric, es necesario tener un área de trabajo
creada. Si no tuviera ninguna, puede crear una mediante el portal de Fabric. Para
obtener más información, consulte Create a workspace (Crear un área de trabajo).

Una vez que tenga un área de trabajo, selecciónela seleccionando la opción Seleccionar
área de trabajo . Aparecerá una lista de todas las áreas de trabajo a las que tenga
acceso. Seleccione la que desee de la lista.
Limitaciones actuales
La extensión en el modo de escritorio aún no admite las utilidades de Microsoft
Spark
No se admite el comando de shell si empieza con "!".

Contenido relacionado
En esta introducción, obtendrá información básica sobre cómo instalar y configurar la
extensión de VS Code de Synapse. En los artículos siguientes, se explica cómo
desarrollar los cuadernos y las definiciones de trabajos de Spark localmente en VS Code.

Como introducción al concepto de cuadernos, consulte Creación y administración


de cuadernos de Microsoft Fabric en Visual Studio Code.
Para empezar a trabajar con definiciones de trabajo de Apache Spark, consulte
Creación y administración de definiciones de trabajos de Apache Spark en Visual
Studio Code.

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Uso de contenedores Docker con la
extensión de VS Code de Synapse
Artículo • 05/08/2024

Para usar la extensión de VS Code de Synapse, se deben cumplir determinados


requisitos previos, como un entorno preparado para JDK. Para simplificar el proceso de
instalación, hemos desarrollado una nueva característica que se integra con el
contenedor de desarrollo de VS Code . Esta característica le permite abrir la extensión
de VS Code de Synapse en un contenedor con todos los requisitos previos necesarios ya
instalados, lo que facilita a los usuarios empezar a trabajar.

La extensión de VS Code de Synapse se integra perfectamente con contenedores


Docker, lo que proporciona un entorno de desarrollo coherente en distintas
plataformas. Esta característica permite trabajar con elementos de Fabric compatibles,
como cuadernos, dentro de un entorno contenedorizado aislado de su máquina local. El
entorno contenedorizado garantiza que todas las dependencias necesarias estén
instaladas y configuradas correctamente. Permite centrarse en el desarrollo de
cuadernos sin preocuparse por la configuración del entorno.

Synapse proporciona una imagen Docker para admitir la extensión de VS Code. La


imagen Docker contiene todas las dependencias necesarias para ejecutar la extensión
de VS Code de Synapse, incluido el Kit de desarrollo de Java (JDK), Conda y la extensión
de Jupyter para VS Code. Esta imagen está alojada en el Registro de artefactos
Microsoft y se puede extraer de la siguiente ubicación: . Para facilitar la introducción a
los usuarios, hemos creado un ejemplo con un archivo [Link] que puede
usar para abrir la extensión de VS Code de Synapse en un contenedor. Para comenzar,
siga estos pasos.

Synapse proporciona una imagen Docker para admitir la extensión de VS Code. La


imagen Docker incluye todas las dependencias necesarias, como el kit de desarrollo de
Java (JDK), Conda y la extensión de Jupyter para VS Code. Estas imágenes se hospedan
en el Registro de artefactos Microsoft . Para ayudarle a empezar a trabajar
rápidamente, se puede usar un ejemplo con el archivo [Link] para abrir la
extensión de VS Code de Synapse en un contenedor, tal como se describe en las
secciones siguientes.

Requisitos previos
Se deben cumplir los siguientes requisitos previos para usar los contenedores Docker
con la extensión de VS Code de Synapse:
Instalar Docker Desktop
Instalar el paquete de desarrollo remoto de VS Code .

Introducción
1. Clone el ejemplo de contenedor de desarrollo de VS Code de Synapse .

2. Abra la carpeta de ejemplo en VS Code y verá un mensaje que le pide que vuelva a
abrir la carpeta en un contenedor. Seleccione el botón Volver a abrir en
contenedor.

3. La extensión de desarrollo remoto de VS Code comienza a compilar la imagen y el


contenedor de Docker. Esta operación puede tardar algunos minutos en
completarse.

4. Una vez que el contenedor esté en funcionamiento, la vista Extensiones tendrá


una sección independiente para las extensiones que se ejecutan en el contenedor.
Puede ver la extensión de VS Code de Synapse que se ejecuta en el contenedor.
Ahora puede empezar a trabajar con la extensión como lo haría en su máquina
local.

5. Puede crear un cuaderno o abrir uno existente para empezar a ejecutar celdas de
código. El cuaderno funciona dentro de un entorno contenedorizado,
independiente de su máquina local. Puede instalar otros paquetes de Python
mediante el administrador de paquetes de Conda, que solo afectará al entorno de
contenedor y no su sistema local. Para comprobar el entorno en tiempo de
ejecución actual, abra un terminal en VS Code y ejecute el comando cat /etc/os-
release . La salida muestra la versión del sistema operativo y otra información

relevante.

6. Para detener el contenedor, seleccione el icono verde en la esquina inferior


izquierda de la ventana de VS Code y seleccione Contenedores remotos: Volver a
abrir localmente. Esto detiene el contenedor y le devuelve a su máquina local.

7. También puede personalizar el archivo [Link] para agregar otras


dependencias o configuraciones al contenedor. Para obtener más información
sobre cómo personalizar el archivo de [Link], consulte la
documentación del contenedor de desarrollo de VS Code .

Contenido relacionado
Acceso y administración de recursos de cuadernos de Microsoft Fabric en
Visual Studio Code
Creación y administración de cuadernos de Microsoft Fabric en Visual Studio Code

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Exploración e inspección de entornos de
Spark con Visual Studio Code
Artículo • 05/08/2024

Los entornos de Microsoft Fabric son un elemento consolidado de toda la configuración


de hardware y software. En un entorno puede seleccionar tiempos de ejecución de
Spark diferentes, configurar los recursos de proceso, instalar bibliotecas desde
repositorios públicos o directorios locales, etc. Para obtener más información, consulte
Creación, configuración y uso de un entorno en Fabric.

Una vez creado un entorno, puede explorarlo e inspeccionarlo en Visual Studio Code
(VS Code) con la extensión Synapse. Hay disponible un nuevo nodo denominado
Entorno en VS Code. Expanda el nodo Entornos para ver todos los entornos de su área
de trabajo.

El entorno establecido actualmente como área de trabajo predeterminada tiene el valor


predeterminado del área de trabajo de etiqueta junto a su nombre. Para cambiar este
valor predeterminado, mantenga el puntero sobre el entorno y seleccione el botón
Establecer entorno de área de trabajo predeterminado.

Inspección de los detalles de un entorno


Los entornos definen la configuración de hardware y software para los cuadernos y
trabajos de Spark. Puede inspeccionar los detalles de un entorno en Visual Studio Code.
Mantenga el puntero sobre el entorno y seleccione el botón Inspeccionar. Los detalles
del entorno se muestran en el panel derecho en formato JSON.

Comprobación de la asociación entre entorno y


código
Puede comprobar la asociación entre un entorno y un elemento de código, como un
cuaderno. Para comprobar la asociación, mantenga el puntero sobre el nombre del
cuaderno, en el panel emergente podrá ver el nombre del entorno asociado y su
identificador de elemento.
Contenido relacionado
Creación y administración de definiciones de trabajos de Apache Spark en Visual
Studio Code
Exploración de los almacenes de lagos de datos de Microsoft Fabric en
Visual Studio Code

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Creación y administración de cuadernos
de Microsoft Fabric en Visual Studio
Code
Artículo • 13/05/2024

La extensión de Visual Studio (VS) Code para Synapse es totalmente compatible con la
experiencia de cuaderno CRUD (crear, leer, actualizar y eliminar, por sus siglas en inglés)
en Fabric. La extensión también admite la sincronización entre áreas de trabajo locales y
remotas; al sincronizar los cambios, puede solucionar los conflictos o diferencias entre el
área de trabajo local y remota.

Con esta extensión, también puede ejecutar cuadernos en el proceso remoto de Fabric
Spark.

Apertura de un cuaderno con la extensión de


Synapse
Haciendo clic en el botón Abrir en VS Code de la página de creación del cuaderno en el
portal de Fabric, podrá abrir directamente el mismo cuaderno con la extensión de
Synapse VS Code para Fabric. Después de activar la extensión en VS Code y abrir el
cuaderno una vez, el área de trabajo debe conectarse automáticamente al cuaderno.

 Sugerencia

Si no ha instalado la extensión de Synapse para VS Code, debe instalarla primero.


Para más información, consulte Instalación de la extensión de Synapse. Una vez
publicada la extensión públicamente, la instalación se automatiza.

Visualización de la lista de cuadernos


El nodo de árbol del cuaderno muestra todos los elementos del cuaderno del área de
trabajo actual. En función de los cambios en VS Code, la lista muestra distintos colores y
caracteres para indicar el estado más reciente, como se muestra en la siguiente imagen.

Valor predeterminado: el texto blanco y ningún carácter a la derecha del nombre


del cuaderno indica el estado predeterminado o inicializado. El cuaderno existe en
el área de trabajo remota y no se ha descargado localmente.
Modificado: el carácter M situado a la derecha del nombre y el texto amarillo
indican que ha descargado y editado el cuaderno localmente en VS Code, y que
aún no ha publicado esos cambios pendientes en el área de trabajo remota.
Local: el carácter L y el texto verde indican que el cuaderno se ha descargado y el
contenido es el mismo que el área de trabajo remota.
Conflicto: el carácter C y el texto rojo indican que existen conflictos entre la versión
local y la versión del área de trabajo remota.

Creación de un cuaderno
1. En el Explorador de VS Code, mantenga el puntero sobre la barra de herramientas
del cuaderno. Aparecerá la opción Crear cuaderno.
2. Seleccione Crear cuaderno y escriba un nombre y una descripción. Se crea un
nuevo cuaderno en el área de trabajo remota y aparece en la lista de cuadernos
con el estado predeterminado.

Descarga de un cuaderno
Para poder editar el contenido del cuaderno, debe descargar el cuaderno en VS Code.

1. En la lista de cuadernos de VS Code, mantenga el puntero sobre el nombre del


cuaderno. La opción Descargar aparece junto al nombre del cuaderno.

2. Seleccione Descargar y guarde el cuaderno en el directorio de trabajo local.

Apertura de un cuaderno
1. En el Explorador de VS Code, mantenga el puntero sobre el nombre de un
cuaderno descargado. Aparecen varias opciones junto al cuaderno, incluida la
opción Abrir carpeta de cuaderno.

2. Seleccione Abrir carpeta de cuaderno y el cuaderno se abrirá en la pantalla del


Editor de VS Code.
Eliminación de un cuaderno

 Sugerencia

Para evitar fallos, cierre la carpeta de cuadernos en la vista del Explorador y cierre el
cuaderno en la vista del editor antes de eliminar el cuaderno.

Para eliminar un cuaderno:

1. En el Explorador de VS Code, pase el ratón por encima del nombre del cuaderno
que desea eliminar; aparecerán opciones a la derecha del nombre, incluida la
opción Borrar cuaderno.

2. Seleccione la opción Eliminar cuaderno. Cuando se le solicite, elija eliminar solo la


copia local o las copias del área de trabajo local y remota.

Publicación de cambios locales en el área de


trabajo remota
Para insertar los cambios locales en el área de trabajo remota:

1. En el Explorador de VS Code, pase el ratón por encima del nombre del cuaderno
que desee publicar en el área de trabajo remota; a la derecha del nombre
aparecerán las opciones, incluida la opción Publicar.

2. Seleccione Publicar. La versión del área de trabajo remota se actualiza con los
cambios locales de VS Code.
Si la actualización local crea conflictos de combinación, se le pedirá que las
resuelva antes de que pase la combinación.

3. Si otra persona tiene el mismo cuaderno abierto en el portal de Fabric, se le


notificará que acepte o rechace los cambios locales de VS Code, como se muestra
en la imagen siguiente.

Aceptar: el cambio de VS Code se guarda correctamente en el área de


trabajo.
Rechazar: se omite el cambio de VS Code.

Extraer cambios del área de trabajo remota


Para actualizar la versión local con la versión más reciente del área de trabajo, extraiga la
versión remota:

1. En el Explorador de VS Code, pase el ratón por encima del nombre del cuaderno
que desea actualizar; aparecerán opciones a la derecha del nombre, incluida la
opción Actualizar cuaderno.

2. Seleccione la opción Actualizar cuaderno. VS Code extrae la versión más reciente


del área de trabajo remota y abre el editor de diferencias de VS Code para que
pueda comparar los dos archivos de cuaderno. La pantalla lateral izquierda se
encuentra en el área de trabajo, y la pantalla del lado derecho procede de la
versión local:

3. Actualice la celda de código/markdown de la izquierda para abordar el problema.

4. Cuando haya solucionado todos los conflictos, seleccione la opción Combinar en


la esquina superior derecha del editor de diferencias para confirmar que la
combinación se ha completado. (Hasta que seleccione Combinar, el cuaderno
permanece en modo de Conflicto).

) Importante

Una vez haya abierto el editor de diferencias, la extensión NO actualizará


automáticamente el lado izquierdo de la vista de diferencias para capturar la
actualización más reciente del área de trabajo remota.

Ejecución o depuración de un cuaderno en un


proceso remoto de Spark
Al seleccionar el kernel synapse-spark-kernel enviado con esta extensión, puede
ejecutar la celda de código sobre el proceso remoto de Spark de Fabric. Una vez haya
seleccionado este kernel, durante el tiempo de ejecución, la extensión intercepta todas
las llamadas API de PySpark y las traduce a la llamada HTTP correspondiente al proceso
remoto de Spark. Para el código de Python puro, se sigue ejecutando en el entorno
local.

Contenido relacionado
Creación y administración de definiciones de trabajos de Apache Spark en Visual
Studio Code
Exploración de los almacenes de lagos de datos de Microsoft Fabric en
Visual Studio Code

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Acceso y administración de recursos de
cuadernos de Microsoft Fabric en
Visual Studio Code
Artículo • 13/05/2024

Los cuadernos de Microsoft Fabric ahora admiten una nueva característica denominada
Recursos de cuaderno. Con esta característica, puede almacenar módulos de código en
formato .py y otros archivos de datos, como .csv o archivo de imagen, en una carpeta de
recursos. Puede acceder a todos estos archivos de recursos desde el cuaderno como un
sistema de archivos local. En este artículo se muestra cómo usar esta característica en
Visual Studio (VS) Code con la extensión VS Code para Synapse.

Para más información sobre la extensión, incluido cómo instalarla, consulte ¿Qué es la
extensión de Visual Studio Code de Synapse?

Apertura de la carpeta de recursos del


cuaderno
1. Después de instalar la extensión y de descargar el contenido del cuaderno
localmente, abra VS Code.

2. Seleccione el botón Abrir carpeta de cuaderno para abrir la carpeta en el


explorador de VS Code. La carpeta de cuaderno contiene el archivo del cuaderno y
la carpeta de recursos, donde se encuentran todos los archivos de recursos que
cargó en el recurso del cuaderno.

3. Ahora puede editar el archivo del cuaderno y los archivos de recursos. Los archivos
de recursos aparecen en la carpeta predefinida builtin. Si necesita crear un nuevo
archivo o subcarpeta, tiene que crearlos en la carpeta builtin. (Los archivos o
carpetas creados fuera de la carpeta builtin no se cargan en el recurso del
cuaderno).

En la captura de pantalla anterior se muestra una carpeta localLib creada en la carpeta


builtin. Esta carpeta contiene un archivo [Link]. Puede importar este archivo en el
archivo del cuaderno como un módulo local, como se muestra en el código de ejemplo
siguiente. Una vez importado, puede llamar a las funciones definidas en el archivo
[Link] del archivo del cuaderno.

Python

import [Link] as util


util.func1()

Carga de archivos de recursos del cuaderno


Después de editar el archivo del cuaderno y los archivos de recursos, puede cargar el
recurso del cuaderno en el área de trabajo remota mediante la selección de la opción
Publicar carpeta de recursos. El proceso de carga sube todos los archivos y subcarpetas
en la carpeta builtin en el recurso de cuaderno. El proceso de carga sobrescribe la
versión de los archivos de recursos en el área de trabajo remota, incluida la eliminación
de los archivos de recursos que ha eliminado localmente.
Descarga de archivos de recursos del cuaderno
Para descargar el recurso del cuaderno desde el área de trabajo remota, seleccione la
opción Actualizar carpeta de recursos. El proceso de descarga permite descargar todos
los archivos y subcarpetas de la carpeta builtin en la carpeta del cuaderno local. El
proceso de descarga sobrescribe la versión local de los archivos de recursos. Para los
archivos que ya no existen en el área de trabajo remota, el proceso de descarga los
mueve a una subcarpeta _backup en su carpeta principal original.

En la siguiente captura de pantalla, se muestra el archivo [Link] que se mueve a la


subcarpeta _backup de la carpeta localLib porque alguien la ha eliminado del área de
trabajo remota.

Contenido relacionado
Creación y administración de cuadernos de Microsoft Fabric en Visual Studio Code
para la web
Creación y administración de definiciones de trabajos de Apache Spark en Visual
Studio Code
Exploración de los almacenes de lagos de datos de Microsoft Fabric en
Visual Studio Code

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Creación y administración de
definiciones de trabajos de Apache
Spark en Visual Studio Code
Artículo • 28/05/2024

La extensión de Visual Studio (VS) Code para Synapse es totalmente compatible con las
operaciones de definición de trabajo de Spark CURD (crear, actualizar, leer y eliminar,
por sus siglas en inglés) en Fabric. Después de crear una definición de trabajo de Spark,
puede cargar más bibliotecas a las que se hace referencia, enviar una solicitud para
ejecutar la definición de trabajo de Spark y comprobar el historial de ejecución.

Creación de una definición de trabajo de Spark


Para crear una nueva definición de trabajo de Spark:

1. En el Explorador de VS Code, seleccione la opción Crear definición de trabajo de


Spark.

2. Escriba los campos necesarios iniciales: nombre, almacén de lago al que se hace
referencia y almacén de lago predeterminado.

3. Los procesos de solicitud y el nombre de la definición de trabajo de Spark recién


creada aparece en el nodo raíz Definición de trabajo de Spark en el Explorador de
VS Code. En el nodo de nombre de la definición de trabajo de Spark se ven tres
subnodos:

Archivos: lista del archivo de definición principal y otras bibliotecas a las que
se hace referencia. Puede cargar nuevos archivos de esta lista.
Almacén de lago: lista de todos los almacenes de lago a los que hace
referencia esta definición de trabajo de Spark. El almacén de lago
predeterminado se marca en la lista y puede acceder a él a través de la ruta
de acceso relativa Files/…, Tables/… .
Ejecutar: lista del historial de ejecución de esta definición de trabajo de Spark
y el estado del trabajo de cada ejecución.
Carga de un archivo de definición principal en
una biblioteca a la que se hace referencia
Para cargar o sobrescribir el archivo de definición principal, seleccione la opción
Agregar archivo principal.

Para cargar el archivo de biblioteca al que se hace referencia en el archivo de definición


principal, seleccione la opción Agregar archivo de biblioteca.

Después de cargar un archivo, puede invalidarlo haciendo clic en la opción Actualizar


archivo y cargando un nuevo archivo, o puede eliminar el archivo a través de la opción
Eliminar.

Envío de una solicitud de ejecución


Para enviar una solicitud para ejecutar la definición de trabajo de Spark desde VS Code:

1. En las opciones a la derecha del nombre de la definición de trabajo de Spark que


desea ejecutar, seleccione la opción Ejecutar trabajo de Spark.
2. Después de enviar la solicitud, aparece una nueva aplicación de Spark en el nodo
Ejecuciones de la lista Explorador. Para cancelar el trabajo en ejecución, seleccione
la opción Cancelar trabajo de Spark.

Apertura de una definición de trabajo de Spark


en el portal de Fabric
Para abrir la página de creación de la definición de trabajo de Spark en el portal de
Fabric, seleccione la opción Abrir en el explorador.

También puede seleccionar Abrir en el explorador junto a una ejecución completada


para ver la página de supervisión detallada de esa ejecución.

Depuración del código fuente de la definición


de trabajo de Spark (Python)
Si la definición de trabajo de Spark se crea con PySpark (Python), puede descargar el
script .py del archivo de definición principal y el archivo al que se hace referencia y
depurar el script de origen en VS Code.

1. Para descargar el código fuente, seleccione la opción Depurar definición de


trabajo de Spark a la derecha de la definición de trabajo de Spark.
2. Una vez completada la descarga, se abre automáticamente la carpeta del código
fuente.

3. Seleccione la opción Confiar en los autores cuando se le solicite. (Esta opción solo
aparece la primera vez que abre la carpeta. Si no selecciona esta opción, no puede
depurar ni ejecutar el script de origen. Para obtener más información, consulte
Seguridad de Confianza del área de trabajo de Visual Studio Code .)

4. Si ha descargado el código fuente antes, se le pedirá que confirme que la quiere


sobrescribir la versión local con la nueva descarga.

7 Nota

En la carpeta raíz del script de origen, el sistema crea una subcarpeta


denominada conf. Dentro de esta carpeta, un archivo denominado light-
[Link] contiene algunos metadatos del sistema necesarios para la
ejecución remota. NO realice ningún cambio en él.

5. El archivo denominado [Link] contiene un fragmento de código que debe


agregar para configurar el objeto SparkConf. Para habilitar la depuración remota,
asegúrese de que el objeto SparkConf está configurado correctamente. En la
imagen siguiente se muestra la versión original del código fuente.
La siguiente imagen es el código fuente actualizado después de copiar y pegar el
fragmento de código.

6. Después de actualizar el código fuente con la configuración necesaria, debe elegir


el intérprete de Python adecuado. Asegúrese de seleccionar el que está instalado
en el entorno synapse-spark-kernel de conda.

Editar las propiedades de definición de trabajo


de Spark
Puede editar las propiedades detalladas de las definiciones de trabajo de Spark, como
los argumentos de la línea de comandos.
1. Seleccione la opción Actualizar configuración de SJD para abrir un archivo
[Link]. Las propiedades existentes rellenan el contenido de este archivo.

2. Actualice y guarde el archivo .yml.

3. Seleccione la opción Publicar propiedad de SJD en la esquina superior derecha


para volver a sincronizar el cambio en el área de trabajo remota.

Contenido relacionado
Exploración de los almacenes de lagos de datos de Microsoft Fabric en
Visual Studio Code
Creación y administración de cuadernos de Microsoft Fabric en Visual Studio Code

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Exploración de los almacenes de lagos
de datos de Microsoft Fabric en Visual
Studio Code
Artículo • 15/11/2023

Puede usar la extensión de VS Code de Synapse para explorar la estructura de la


instancia de LakeHouse en un área de trabajo.

Con la extensión instalada, Visual Studio (VS) Code muestra la estructura del almacén de
lago de datos en una vista de árbol que incluye las secciones Archivos y Tablas. Todos
los almacenes de lagos de datos del área de trabajo que seleccione se muestran en el
nodo de árbol raíz del almacén de lago de datos.

Exploración de una instancia de Lakehouse y


vista previa de los datos de tabla
Expanda el nodo Tablas para encontrar las entidades de tabla de la instancia de
Lakehouse. Para revisar las primeras 100 filas de una tabla específica, seleccione la
opción Vista previa tabla situada a la derecha de la tabla.

Expanda el nodo Archivos para buscar la carpeta y los archivos que se guardan en
lakehouse. Seleccione la opción Descargar a la derecha de un nombre de archivo para
descargar ese archivo.
Copia de la ruta de acceso de lakehouse
Para facilitar la referencia a una tabla, carpeta o archivo en el código, puede copiar la
ruta de acceso pertinente. Haga clic con el botón derecho en el nodo de destino y
busque las opciones para copiar la ruta de acceso de ABFS, copiar la ruta de acceso
relativa o copiar la dirección URL.

Pasos siguientes
¿Cuál es el punto de conexión de análisis SQL para un almacén de lago?
¿Qué es un almacén de lago?
¿Navega por su Lakehouse?
Obtención de datos en Fabric Lakehouse

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Creación y administración de cuadernos
de Microsoft Fabric en Visual Studio
Code para la web
Artículo • 25/10/2024

Visual Studio Code para la web ofrece una experiencia gratuita basada en explorador sin
que se requiera ninguna instalación. Permite la exploración rápida y segura de
repositorios de código y ediciones ligeras. Para empezar, visite el sitio de desarrollo
de VS Code.

La extensión de VS Code de Synapse también se puede usar en la experiencia de


VS Code para la web. La extensión admite la experiencia del cuaderno CRUD (crear, leer,
actualizar y eliminar) en Fabric. Los cambios de la experiencia de VS Code para la web se
aplican inmediatamente al área de trabajo. La extensión también admite la ejecución de
cuadernos en la experiencia de VS Code para la web.

) Importante

La extensión remota de VS Code de Synapse está actualmente en versión


preliminar.

Instalación de la extensión de VS Code de


Synapse para la web
1. En el explorador, vaya a [Link] .
2. Seleccione el icono Extensiones en la barra de navegación izquierda.
3. Busque Synapse y seleccione la extensión VS Code de Synapse: remoto.
4. Haga clic en Instalar.

Apertura de un cuaderno con la extensión de


VS Code de Synapse para la web
Para abrir un cuaderno en la experiencia de VS Code para la web, haga clic en el botón
Abrir en VS Code(Web) de la página de creación de cuadernos en el portal de Fabric.
Después de seleccionar el botón, se abre una pestaña independiente del explorador con
la experiencia de VS Code para la web. Si aún no ha instalado la extensión, se instala
automáticamente, se activa y se abre el cuaderno.
Administración de cuadernos y sistema de
archivos de los cuadernos
El nodo de árbol del cuaderno muestra todos los elementos del cuaderno del área de
trabajo actual. Para cada elemento de cuaderno, puede realizar las siguientes acciones:

Apertura de un cuaderno
Eliminación de un cuaderno
Agregar un nuevo archivo de recursos
Agregar una nueva carpeta de recursos

También puede eliminar cualquier archivo o carpeta existente en el sistema de archivos


del cuaderno.

Ejecución y depuración de cuadernos en la


experiencia web de VS Code
Puede ejecutar un cuaderno en la experiencia de VS Code para la web seleccionando el
botón Ejecutar en el editor del cuaderno. Antes de ejecutar el cuaderno, asegúrese de
seleccionar VS Code de Synapse: remoto como kernel. Puede seleccionarlo en la
esquina superior derecha del editor de cuadernos.
Además de ejecutar el cuaderno, también puede depurar el cuaderno en la experiencia
web de VS Code. Antes de iniciar la sesión de depuración, ejecute el código siguiente en
el cuaderno para habilitar esta característica.

Python

%%configure -f
{
"conf": {
"[Link]": "true"
}
}

7 Nota

La configuración puede tardar entre 2 y 5 minutos. Para cada sesión de Livy,


solo tiene que ejecutar esta configuración una vez.

Después de ejecutar esta configuración, puede establecer puntos de interrupción en el


editor de cuadernos y ejecutar el cuaderno en modo de depuración. Cuando se inicia la
sesión de depuración, se muestra una notificación en la esquina inferior derecha del
editor para indicar que se inicia la sesión de depuración.

Esta sesión de depuración se ejecuta en el proceso remoto, lo que requiere que el


tráfico de red sincronice información de depuración, como el estado del punto de
interrupción. Durante el proceso de sincronización, puede realizar un seguimiento del
progreso de la sincronización en la barra de estado del editor de cuadernos.

) Importante
Espere a que finalice la sincronización antes de continuar con la operación de
depuración.

Contenido relacionado
Creación y administración de cuadernos de Microsoft Fabric en Visual Studio Code

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Migración desde Azure Synapse Spark a
Fabric
Artículo • 16/11/2023

Antes de empezar la migración, debe comprobar que Fabric Data Engineering es la


mejor solución para su carga de trabajo. Fabric Data Engineering admite elementos de
lago de datos, cuaderno, entorno, definición de trabajo de Spark (SJD) y canalización de
datos, incluidos diferentes entornos de ejecución y funcionalidades de Spark.

Consideraciones clave
El paso inicial para crear una estrategia de migración es evaluar la idoneidad. Cabe
destacar que algunas características de Fabric relacionadas con Spark se encuentran
actualmente en desarrollo o planeación. Para obtener más detalles y actualizaciones,
visite el plan de desarrollo de Fabric.

En cuanto a Spark, consulte las diferencias de comparación detalladas entre Azure


Synapse Spark y Fabric.

Escenarios de migración
Si determina que Fabric Data Engineering es la opción adecuada para migrar las cargas
de trabajo de Spark, el proceso de migración puede implicar varios escenarios y fases:

Elementos: la migración de elementos implica la transferencia de uno o varios


elementos del área de trabajo de Azure Synapse existente a Fabric. Obtenga más
información sobre la migración de grupos de Spark, configuraciones de Spark,
bibliotecas de Spark, cuadernos y definiciones de trabajos de Spark.
Datos y canalizaciones: con los accesos directos de OneLake puede hacer que los
datos de ADLS Gen2 (vinculados a un área de trabajo de Azure Synapse) estén
disponibles en un lago de datos de Fabric. La migración de canalizaciones implica
mover canalizaciones de datos existentes a Fabric, incluidas las actividades de
canalización de definición de trabajos de Spark y de cuadernos. Obtenga más
información sobre la migración de datos y canalizaciones.
Metadatos: la migración de metadatos implica mover metadatos del catálogo de
Spark (bases de datos, tablas y particiones) desde una metastore de Hive (HMS)
existente en Azure Synapse a un lago de datos de Fabric. Obtenga más
información sobre la migración de metadatos de HMS.
Área de trabajo: los usuarios pueden migrar un área de trabajo existente de Azure
Synapse mediante la creación de un área de trabajo en Microsoft Fabric, incluidos
los metadatos. La migración del área de trabajo no se trata en esta guía, ya que se
supone que los usuarios deben crear un área de trabajo o tener un área de trabajo
de Fabric existente. Consulte más información sobre los roles de área de trabajo en
Fabric.

La transición de Azure Synapse Spark a Fabric Spark requiere un conocimiento profundo


de la arquitectura actual y de las diferencias entre Azure Synapse Spark y Fabric. El
primer paso fundamental es hacer una evaluación, seguida de la creación de un plan de
migración detallado. Este plan se puede personalizar para que coincida con los rasgos
únicos del sistema, las dependencias de las fases y las complejidades de la carga de
trabajo.

Pasos siguientes
Fabric frente a Spark de Azure Synapse
Obtenga más información sobre las opciones de migración de los grupos de
Spark, las configuraciones, las bibliotecas, los cuadernos y la definición de trabajos
de Spark.
Migración de datos y canalizaciones
Migración de metadatos de la metastore de Hive

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Migración de grupos de Spark de Azure
Synapse a Fabric
Artículo • 15/11/2023

Mientras que Azure Synapse ofrece grupos de Spark, Fabric ofrece grupos de inicio y
grupos personalizados. El grupo de inicio puede ser una buena opción si tiene un único
grupo sin configuraciones ni bibliotecas personalizadas en Azure Synapse y si el tamaño
de nodo medio cumple sus requisitos. Sin embargo, si busca más flexibilidad con las
configuraciones del grupo de Spark, se recomienda usar grupos personalizados. Aquí hay
dos opciones:

Opción 1: mueva el grupo de Spark al grupo predeterminado de un área de


trabajo.
Opción 2: mueva el grupo de Spark a un entorno personalizado de Fabric.

Si tiene varios grupos de Spark y planea moverlos a la misma área de trabajo de Fabric,
se recomienda utilizar la opción 2 y crear varios entornos y grupos personalizados.

Para más información sobre los grupos de Spark, consulte las diferencias entre Azure
Synapse Spark y Fabric.

Requisitos previos
Si aún no tiene una, cree un área de trabajo de Fabric en el inquilino.

Opción 1: desde un grupo de Spark al grupo


predeterminado de un área de trabajo
Puede crear un grupo de Spark personalizado desde su área de trabajo de Fabric y
utilizarlo como grupo predeterminado en el área de trabajo. El grupo predeterminado lo
usan todos los cuadernos y definiciones de trabajo de Spark de la misma área de
trabajo.

Para mover un grupo de Spark existente de Azure Synapse a un grupo predeterminado


de un área de trabajo:

1. Acceder al área de trabajo de Azure Synapse: inicie sesión en Azure . Vaya al


área de trabajo de Apache Synapse, luego a Grupos de Analytics y seleccione
Grupos de Apache Spark.
2. Buscar el grupo de Spark: en los grupos de Apache Spark, busque el grupo de
Spark que desea mover a Fabric y compruebe las propiedades del grupo.
3. Obtener propiedades: obtenga las propiedades del grupo de Spark, como la
versión de Apache Spark, la familia del tamaño de los nodos, el tamaño de los
nodos o la escalabilidad automática. Para ver las diferencias, consulte las
consideraciones sobre los grupos de Spark.
4. Crear un grupos de Spark personalizado en Fabric:

Vaya al área de trabajo Fabric y seleccione Configuración del área de


trabajo.
Vaya a Ingeniería de datos/ciencia y seleccione Configuración de Spark.
Seleccione la pestaña Grupo y en la sección Grupo predeterminado del área
de trabajo, expanda el menú desplegable u seleccione Crear grupo.
Cree su grupo personalizado con los valores de destino correspondientes.
Rellene las opciones de nombre, familia de los nodos, tamaño de los nodos,
escalado automático y asignación dinámica del ejecutor.

5. Seleccionar una versión del runtime:

Vaya a la pestaña Entorno y seleccione la versión del runtime requerida. Vea


aquí los runtimes disponibles.
Deshabilite la opción Establecer entorno predeterminado.
7 Nota

En esta opción, no se admiten las bibliotecas o las configuraciones de nivel de


grupo. Sin embargo, puede ajustar la configuración del proceso de los elementos
individuales, como cuadernos y definiciones de trabajos de Spark, y agregar
bibliotecas insertadas. Si necesita agregar configuraciones y bibliotecas
personalizadas a un entorno, considere la posibilidad de usar un entorno
personalizado.

Opción 2: desde un grupo de Spark a un


entorno personalizado
Con los entornos personalizados, puede configurar las bibliotecas y propiedades
personalizadas de Spark. Para crear un entorno personalizado:

1. Acceder al área de trabajo de Azure Synapse: inicie sesión en Azure . Vaya al


área de trabajo de Apache Synapse, luego a Grupos de Analytics y seleccione
Grupos de Apache Spark.
2. Buscar el grupo de Spark: en los grupos de Apache Spark, busque el grupo de
Spark que desea mover a Fabric y compruebe las propiedades del grupo.
3. Obtener propiedades: obtenga las propiedades del grupo de Spark, como la
versión de Apache Spark, la familia del tamaño de los nodos, el tamaño de los
nodos o la escalabilidad automática. Para ver las diferencias, consulte las
consideraciones sobre los grupos de Spark.
4. Crear un grupo de Spark personalizados:

Vaya al área de trabajo Fabric y seleccione Configuración del área de


trabajo.
Vaya a Ingeniería de datos/ciencia y seleccione Configuración de Spark.
Seleccione la pestaña Grupo y en la sección Grupo predeterminado del área
de trabajo, expanda el menú desplegable u seleccione Crear grupo.
Cree su grupo personalizado con los valores de destino correspondientes.
Rellene las opciones de nombre, familia de los nodos, tamaño de los nodos,
escalado automático y asignación dinámica del ejecutor.

5. Cree un elemento Entorno si no lo tiene.


6. Configurar el proceso de Spark:

En Entorno, vaya a Proceso de Spark>Proceso.


Seleccione el grupo recién creado del nuevo entorno.
Puede configurar los núcleos y la memoria del controlador y de los
ejecutores.
7. Seleccione una versión del runtime para el entorno. Vea aquí los runtimes
disponibles.
8. Haga clic en Guardar y Publicar cambios.

Obtenga más información sobre la creación y el uso de un Entorno.

Pasos siguientes
Migración de configuraciones de Spark
Migración de bibliotecas de Spark

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Migración de configuraciones de Spark
de Azure Synapse a Fabric
Artículo • 15/11/2023

Apache Spark proporciona numerosas configuraciones que se pueden personalizar para


mejorar la experiencia en varios escenarios. En Azure Synapse Spark e Ingeniería de
datos de Fabric, tiene la flexibilidad de incorporar estas configuraciones o propiedades
para adaptar su experiencia. En Fabric, puede agregar configuraciones de Spark a un
entorno y usar propiedades de Spark insertadas directamente dentro de los trabajos de
Spark. Para mover las configuraciones del grupo de Spark de Azure Synapse a Fabric,
use un entorno.

Para conocer las consideraciones de configuración de Spark, consulte diferencias entre


Azure Synapse Spark y Fabric.

Requisitos previos
Si aún no tiene una, cree un área de trabajo de Fabric en el inquilino.
Si aún no tiene uno, cree un Entorno en el área de trabajo.

Opción 1: Agregar configuraciones de Spark al


entorno personalizado
Dentro de un entorno, puede establecer las propiedades de Spark y esas
configuraciones se aplican al grupo de entornos seleccionado.

1. Abra Synapse Studio: Inicie sesión en Azure . Vaya al área de trabajo de Azure
Synapse y abra el Synapse Studio.
2. Buscar configuraciones de Spark:

Vaya a Administrar área y seleccione en Grupos de Apache Spark.


Busque el grupo de Apache Spark, seleccione Configuración de Apache
Spark y busque el nombre de configuración de Spark para el grupo.

3. Obtener configuraciones de Spark: puede obtener esas propiedades


seleccionando Ver configuraciones o exportando la configuración
([Link]/.conf/.json) en Configuraciones y bibliotecas>Configuraciones de
Apache Spark.
4. Una vez que tenga configuraciones de Spark, agregue propiedades
personalizadas de Spark al Entorno en Fabric :

En el Entorno, vaya a Spark Compute>Propiedades de Spark.


Agregue configuraciones de Spark. Puede agregar cada una manualmente o
importar desde .yml.

5. Haga clic en Guardar y Publicar cambios.

Obtenga más información sobre cómo agregar configuraciones de Spark a un Entorno.

Pasos siguientes
Migración de grupos de Spark
Migrar bibliotecas de Spark
Migrar cuadernos de Spark

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Migración de bibliotecas de Spark de
Azure Synapse a Fabric
Artículo • 16/11/2023

El grupo de Spark de Azure Synapse ofrece diferentes opciones de fuente y biblioteca


personalizada. En Fabric, cada entorno de ejecución incluye un conjunto preinstalado de
bibliotecas (bibliotecas integradas). Sin embargo, en función de sus escenarios y
necesidades específicas, también puede incluir otras bibliotecas mediante las bibliotecas
de entorno y las bibliotecas insertadas. Para mover las bibliotecas del grupo de Spark de
Azure Synapse a Fabric, use bibliotecas de entorno.

Para más información sobre las bibliotecas de Spark, consulte las diferencias entre Spark
para Azure Synapse y Fabric.

Requisitos previos
Si aún no tiene una, cree un área de trabajo de Fabric en el inquilino.
Si aún no tiene uno, cree un Entorno en el área de trabajo.

Opción 1: Agregar bibliotecas de Spark al


entorno personalizado
Puede mover bibliotecas de grupos de Spark a un entorno de la siguiente manera:

1. Abra Synapse Studio: inicie sesión en Azure . Vaya al área de trabajo de Azure
Synapse y abra Synapse Studio.
2. Localizar las bibliotecas de Spark:

Vaya a Administrar área y seleccione Grupos de Apache Spark.


Busque el grupo de Apache Spark, seleccione Paquetes y busque las
bibliotecas de Spark del grupo.

3. Obtener las bibliotecas de Spark: busque los paquetes [Link],


[Link] o workspace instalados en el grupo. Obtenga la lista de las
bibliotecas instaladas en el grupo.
4. Una vez que tenga las bibliotecas de Spark, agregue bibliotecas personalizadas a
un entorno en Fabric . En Entorno, vaya a Bibliotecas y agregue las bibliotecas:

En Bibliotecas públicas, puede cargar un archivo .yml. También puede instalar


bibliotecas mediante PyPI y Conda.
En Bibliotecas personalizadas, puede instalar bibliotecas mediante archivos
.jar/.whl/.[Link].
5. Haga clic en Guardar y Publicar cambios.

Obtenga más información sobre cómo agregar bibliotecas de Spark a un Entorno.

7 Nota

Tenga en cuenta que la instalación de la biblioteca puede tardar algún tiempo.

Pasos siguientes
Migrar configuraciones de Spark
Migrar cuadernos de Spark
Migrar la definición de trabajo de Spark

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Migración de cuadernos de Azure
Synapse a Fabric
Artículo • 15/11/2023

Azure Synapse y Fabric admiten cuadernos. La migración de un cuaderno de Azure


Synapse a Fabric se puede realizar de dos maneras diferentes:

Opción 1: Puede exportar cuadernos desde Azure Synapse (.ipynb) e importarlos a


Fabric (manualmente).
Opción 2: Puede usar un script para exportar cuadernos de Azure Synapse e
importarlos a Fabric mediante la API.

Para conocer las consideraciones sobre cuadernos, consulte las diferencias entre Azure
Synapse Spark y Fabric.

Requisitos previos
Si aún no tiene una, cree un área de trabajo de Fabric en el inquilino.

Opción 1: Exportar e importar cuadernos


manualmente
Para exportar un cuaderno desde Azure Synapse:

1. Abra Synapse Studio: Inicie sesión en Azure . Vaya al área de trabajo de Azure
Synapse y abra el Synapse Studio.
2. Busque el cuaderno: en Synapse Studio, busque el cuaderno que desea exportar
desde la sección Cuadernos del área de trabajo.
3. Exportación de cuadernos:

Haga clic con el botón derecho en el cuaderno que desea exportar.


Seleccione Exportar>Cuaderno (.ipynb).
Elija una carpeta de destino y proporcione un nombre para el archivo de
cuaderno exportado.

4. Una vez completada la exportación, debe tener el archivo del cuaderno disponible
para la carga.
Para importar el cuaderno exportado en Fabric:

1. Acceda al área de trabajo de Fabric: inicie sesión en Fabric y acceda al área de


trabajo.
2. Vaya a la página principal de Ingeniería de datos: una vez dentro del área de
trabajo de Fabric, vaya a la página principal de Ingeniería de datos.
3. Importar cuaderno:

Seleccione Importar cuaderno. Puede importar uno o varios cuadernos


existentes del equipo local a un área de trabajo de Fabric.
Busque los archivos del cuaderno .ipynb que descargó de Azure Synapse.
Seleccione los archivos del cuaderno y haga clic en Cargar.

4. Abra y use el cuaderno: una vez completada la importación, puede abrir y usar el
cuaderno en el área de trabajo de Fabric.

Una vez importado el cuaderno, valide las dependencias del cuaderno:

Asegúrese de usar la misma versión de Spark.


Si usa cuadernos a los que se hace referencia, también puede utilizar msparkutils
en Fabric. Sin embargo, si importa un cuaderno que hace referencia a otro,
también debe importar este último. El área de trabajo de Fabric no admite carpetas
por ahora, por lo que se deben actualizar las referencias a cuadernos de otras
carpetas. Si es necesario, puede usar los recursos del cuaderno.
Si un cuaderno usa también bibliotecas y configuraciones específicas del grupo,
debe importar esas bibliotecas o configuraciones.
Servicios vinculados, conexiones de origen de datos y puntos de montaje.
Opción 2: Uso de API de Fabric
Siga estos pasos clave para la migración:

Requisitos previos.
Paso 1: Exportación de cuadernos de Azure Synapse a OneLake (.ipynb).
Paso 2: Importación de cuadernos automáticamente en Fabric mediante la API de
Fabric.

Requisitos previos
Los requisitos previos incluyen acciones que debe tener en cuenta antes de iniciar la
migración de cuadernos a Fabric.

Un área de trabajo de Fabric


Si aún no tiene una, cree un almacén de lago de Fabric en el área de trabajo.

Paso 1: Exportación de cuadernos desde el área de trabajo


de Azure Synapse
El objetivo del paso 1 es exportar los cuadernos desde el área de trabajo de Azure
Synapse a OneLake en formato .ipynb. El proceso es el siguiente:

1.1) Importe el cuaderno de migración al área de trabajo de Fabric . Este


cuaderno exporta todos los cuadernos de un área de trabajo de Azure Synapse
determinada a un directorio intermedio en OneLake. La API de Synapse se usa para
exportar cuadernos.
1.2) Configure los parámetros del primer comando para exportar los cuadernos a
un almacenamiento intermedio (OneLake). El siguiente fragmento de código se
usa para configurar los parámetros de origen y destino. Asegúrese de
reemplazarlos por sus propios valores.

Python

# Azure config
azure_client_id = "<client_id>"
azure_tenant_id = "<tenant_id>"
azure_client_secret = "<client_secret>"

# Azure Synapse workspace config


synapse_workspace_name = "<synapse_workspace_name>"

# Fabric config
workspace_id = "<workspace_id>"
lakehouse_id = "<lakehouse_id>"
export_folder_name = f"export/{synapse_workspace_name}"
prefix = "" # this prefix is used during import {prefix}{notebook_name}

output_folder =
f"abfss://{workspace_id}@[Link]/{lakehouse_id}/Fil
es/{export_folder_name}"

1.3) Ejecute las dos primeras celdas del cuaderno de importación o exportación
para exportar cuadernos a OneLake. Una vez completadas las celdas, se crea esta
estructura de carpetas en el directorio de salida intermedio.

Paso 2: Importación de cuadernos en Fabric


El paso 2 es cuando los cuadernos se importan desde el almacenamiento intermedio al
área de trabajo de Fabric. El proceso es el siguiente:

2.1) Valide las configuraciones del paso 1.2 para asegurarse de que se indican los
valores del área de trabajo de Fabric y de prefijo adecuados para importar los
cuadernos.
2.2) Ejecute la tercera celda del cuaderno de importación o exportación para
importar todos los cuadernos desde la ubicación intermedia.

Pasos siguientes
Migración de grupos de Spark
Migración de la definición de trabajo de Spark
Migración de datos y canalizaciones
Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Migrar la definición de trabajo de Spark
desde Azure Synapse Spark a Fabric
Artículo • 15/11/2023

Para mover definiciones de trabajos de Spark (SJD) de Azure Synapse a Fabric, existen
dos opciones diferentes:

Opción 1: crear manualmente la definición de trabajo de Spark en Fabric.


Opción 2: puedes usar un script para exportar definiciones de trabajos de Spark
desde Azure Synapse e importarlas en Fabric mediante la API.

Para conocer las consideraciones sobre la definición de trabajos de Spark, consulta


Diferencias entre Azure Synapse Spark y Fabric.

Requisitos previos
Si aún no tienes una, crea un área de trabajo de Fabric en el inquilino.

Opción 1: crear manualmente la definición de


trabajo de Spark
Para exportar la definición de trabajo de Spark desde Azure Synapse:

1. Abrir Synapse Studio: inicia sesión en Azure . Ve al área de trabajo de Azure


Synapse y abre el Synapse Studio.
2. Buscar el trabajo de Python/Scala/R Spark: busca e identifica la definición de
trabajo de Python/Scala/R Spark que deseas migrar.
3. Exportar la configuración de definición de trabajo:

En Synapse Studio, abre la definición de trabajo de Spark.


Exporta o anota los valores de la configuración, incluida la ubicación del
archivo de script, las dependencias, los parámetros y cualquier otro detalle
relevante.

Para crear una nueva definición de trabajo de Spark (SJD) basada en la información de
SJD exportada en Fabric:

1. Acceder al área trabajo de Fabric: inicia sesión en Fabric y accede al área de


trabajo.
2. Crear una nueva definición de trabajo de Spark en Fabric:
Ve a Página principal de la ingeniería de datos.
Selecciona Definición de trabajo de Spark.
Configura el trabajo mediante la información que se exportó desde Synapse,
incluida la ubicación del script, las dependencias, los parámetros y la
configuración del clúster.
3. Adaptar y probar: realiza cualquier adaptación necesaria al script o a la
configuración para adaptarse al entorno de Fabric. Prueba el trabajo en Fabric para
asegurar que se ejecuta correctamente.

Una vez creada la definición del trabajo de Spark, valida las dependencias:

Asegúrate de usar la misma versión de Spark.


Valida la existencia del archivo de definición principal.
Valida la existencia de los archivos, dependencias y recursos a los que se hace
referencia.
Servicios vinculados, conexiones de origen de datos y puntos de montaje.

Obtén más información sobre cómo crear una definición de trabajo de Apache Spark en
Fabric.

Opción 2: Usar la API de Fabric


Siga estos pasos clave para la migración:

Requisitos previos.
Paso 1: Exportar la definición de trabajo de Spark desde Azure Synapse Spark a
Fabrica OneLake (.json).
Paso 2: Importar automáticamente la definición del trabajo de Spark en Fabric
mediante la API de Fabric.

Requisitos previos
Los requisitos previos incluyen acciones que se deben tener en cuenta antes de iniciar la
migración de la definición de trabajos de Spark a Fabric.

Un área de trabajo de Fabric.


Si aún no tienes una, crea un almacén de lago de Fabric en el área de trabajo.

Paso 1: Exportar la definición de trabajo de Spark desde el


área de trabajo de Azure Synapse
El objetivo del paso 1 es exportar la definición de trabajo de Spark desde el área de
trabajo de Azure Synapse a OneLake en formato json. El proceso es el siguiente:

1.1) Importa el cuaderno de migración SJD al área de trabajo de Fabric . Este


cuaderno exporta todas las definiciones de trabajo de Spark de un área de
trabajo de Azure Synapse determinada a un directorio intermedio en OneLake. La
API de Synapse se usa para exportar SJD.
1.2) Configura los parámetros en el primer comando para exportar la definición de
trabajo de Spark a un almacenamiento intermedio (OneLake). Esto solo exporta el
archivo de metadatos json. El siguiente fragmento de código se usa para
configurar los parámetros de origen y de destino. Asegúrate de reemplazarlos por
sus propios valores.

Python

# Azure config
azure_client_id = "<client_id>"
azure_tenant_id = "<tenant_id>"
azure_client_secret = "<client_secret>"

# Azure Synapse workspace config


synapse_workspace_name = "<synapse_workspace_name>"

# Fabric config
workspace_id = "<workspace_id>"
lakehouse_id = "<lakehouse_id>"
export_folder_name = f"export/{synapse_workspace_name}"
prefix = "" # this prefix is used during import {prefix}{sjd_name}
output_folder =
f"abfss://{workspace_id}@[Link]/{lakehouse_id}/Fil
es/{export_folder_name}"

1.3) Ejecuta las dos primeras celdas del cuaderno de exportación e importación
para exportar metadatos de definición de trabajo de Spark a OneLake. Una vez
completadas las celdas, se crea esta estructura de carpetas en el directorio de
salida intermedio.

Paso 2: Importar la definición de trabajo de Spark en


Fabric
El paso 2 es el momento en el que las definiciones de trabajo de Spark se importan
desde el almacenamiento intermedio en el área de trabajo de Fabric. El proceso es el
siguiente:

2.1) Valida las configuraciones del 1.2 para asegurarte de que el área de trabajo y
el prefijo adecuados se indican para importar las definiciones de trabajo de Spark.
2.2) Ejecuta la tercera celda del cuaderno export/import para importar todas las
definiciones de trabajo de Spark desde la ubicación intermedia.

7 Nota

La opción de exportación genera un archivo de metadatos json. Asegúrate de que


los archivos ejecutables de definición de trabajo de Spark, los archivos de
referencia y los argumentos sean accesibles desde Fabric.
Pasos siguientes
Migrar cuadernos
Migrar datos y canalizaciones
Migración de metadatos de la metastore de Hive

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Migrar datos y canalizaciones de Azure
Synapse a Microsoft Fabric
Artículo • 16/11/2023

El primer paso de la migración de datos y canalizaciones es identificar los datos que se


desean que estén disponibles en OneLake y las canalizaciones que se quieren mover.

Hay dos opciones para migrar datos:

Opción 1: Azure Data Lake Storage (ADLS) Gen2 como almacenamiento


predeterminado. Si actualmente se está usando ADLS Gen2 y se quiere evitar la
copia de datos, hay que considerar la posibilidad de usar accesos directos de
OneLake.
Opción 2: OneLake como almacenamiento predeterminado. Si quieres pasar de
ADLS Gen2 a OneLake como una capa de almacenamiento, considera la
posibilidad de leer y escribir desde o hacia OneLake desde los cuadernos y las
definiciones de trabajos de Spark.

Migración de datos

Opción 1: ADLS Gen2 como almacenamiento (accesos


directos)
Si interactúas con ADLS Gen2 y quieres evitar la duplicación de datos, puedes crear un
acceso directo a la ruta de acceso de origen de ADLS Gen2 en OneLake. Puede crear
accesos directos en las secciones Archivos y Tablas del almacén de lago en Fabric con
las consideraciones siguientes:

La sección Archivos es el área no administrada del lago. Si los datos están en


formato CSV, JSON o Parquet, se recomienda crear un acceso directo a esta área.
La sección Tablas es el área no administrada del lago. Todas las tablas, tanto
administradas por Spark como no administradas, se registran aquí. Si los datos
están en formato Delta, puedes crear un acceso directo en esta área y el proceso
de detección automática registra automáticamente esas tablas Delta en el
metastore del almacén de lago.

Obtén más información sobre cómo crear un acceso directo de ADLS Gen2.

Opción 2: OneLake como almacenamiento


Para usar OneLake como capa de almacenamiento y mover datos de ADLS Gen2, debes
apuntar inicialmente los elementos relacionados con Spark de Azure Synapse a OneLake
y, a continuación, transferir los datos existentes a OneLake. Para el primero, consulta
Integrar OneLake con Azure Synapse Spark.

Para mover los datos existentes a OneLake, tienes varias opciones:

mssparkutils fastcp: la biblioteca mssparkutils proporciona una API fastcp que


permite copiar datos de ADLS Gen2 a OneLake.
AzCopy: se puede usar utilidad de línea de comandos de AzCopy para copiar
datos de ADLS Gen2 a OneLake.
Azure Data Factory, Azure Synapse y Data Factory en Fabric: use actividad de
copia para copiar datos en el almacén de lago.
Usar métodos abreviados: se pueden habilitar los datos históricos de ADLS Gen2
en OneLake mediante accesos directos. No se necesita ninguna copia de datos.
Explorador de Azure Storage: se pueden mover archivos de la ubicación de ADLS
Gen2 a OneLake mediante el Explorador de Azure Storage. Consulta Cómo integrar
OneLake con Explorador de Azure Storage.

Migrar canalizaciones (actividades relacionadas


con Spark)
Si las canalizaciones de datos de Azure Synapse incluyen actividades de definición de
trabajos de Spark o cuadernos, se deberá mover esas canalizaciones de Azure Synapse a
canalizaciones de datos de Data Factory en Fabric y hacer referencia a los cuadernos de
destino. La actividad del cuaderno está disponible en las canalizaciones de datos de
Data Factory. Consulta todas las actividades de canalización de datos admitidas en
Fabric aquí.

Para conocer las consideraciones sobre la actividad de canalización de datos


relacionada con Spark, consulta Diferencias entre Azure Synapse Spark y Fabric.
Para migrar cuadernos, consulta Migrar cuadernos de Azure Synapse a Fabric.
Para la migrar la canalización de datos, consulta Migrar a Data Factory en Fabric.

Pasos siguientes
Migrar cuadernos de Spark
Migrar definiciones de trabajo de Spark
Migrar metadatos de Hive Metastore
Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Migración de metadatos del metastore
de Hive de Azure Synapse a Fabric
Artículo • 16/11/2023

El paso inicial de la migración del metastore de Hive (HMS) implica determinar las bases
de datos, las tablas y las particiones que desea transferir. No es necesario migrar todo,
puede seleccionar bases de datos específicas. Al identificar las bases de datos para la
migración, asegúrese de comprobar si hay tablas de Spark administradas o externas.

Para conocer las consideraciones sobre HMS, consulte las diferencias entre Spark de
Azure Synapse y Fabric.

7 Nota

Como alternativa, si su instancia de ADLS Gen2 contiene tablas Delta, puede crear
un acceso directo de OneLake a una tabla Delta en ADLS Gen2.

Requisitos previos
Si aún no tiene una, cree una área de trabajo de Fabric en el inquilino.
Si aún no tiene uno, cree un almacén de lago de Fabric en el área de trabajo.

Opción 1: Exportación e importación del HMS


al metastore del almacén de lago
Siga estos pasos clave para la migración:

Paso 1: Exportación de metadatos desde el HMS de origen


Paso 2: Importación de los metadatos en el almacén de lago de Fabric
Pasos posteriores a la migración: validación del contenido

7 Nota

Los scripts solo copian los objetos del catálogo de Spark en el almacén de lago de
Fabric. Se da por supuesto que los datos ya se han copiado (por ejemplo, desde la
ubicación de almacenamiento a ADLS Gen2) o están disponibles para tablas
administradas y externas (por ejemplo, mediante métodos abreviados o preferidos)
en el almacén de lago de Fabric.

Paso 1: Exportación de metadatos desde el HMS de


origen
El objetivo del paso 1 es exportar los metadatos del HMS de origen a la sección
Archivos del almacén de lago de Fabric. El proceso es el siguiente:

1.1) Importe el cuaderno de exportación de metadatos del HMS en el área de


trabajo de Azure Synapse. Este cuaderno consultas y exporta los metadatos del
HMS de bases de datos, tablas y particiones a un directorio intermedio en
OneLake (las funciones aún no están incluidas). La API interna del catálogo de
Spark se usa en este script para leer los objetos del catálogo.

1.2) Configure los parámetros en el primer comando para exportar la información


de metadatos a un almacenamiento intermedio (OneLake). El siguiente fragmento
de código se usa para configurar los parámetros de origen y de destino. Asegúrese
de reemplazarlos por sus propios valores.

Scala

// Azure Synapse workspace config


var SynapseWorkspaceName = "<synapse_workspace_name>"

var DatabaseNames = "<db1_name>;<db2_name>"


var SkipExportTablesWithUnrecognizedType:Boolean = false

// Fabric config
var WorkspaceId = "<workspace_id>"
var LakehouseId = "<lakehouse_id>"
var ExportFolderName =
f"export/${SynapseWorkspaceName}/sparkCatalogMetadata"

var OutputFolder =
f"abfss://${WorkspaceId}@[Link]/${LakehouseId
}/Files/${ExportFolderName}/"

1.3) Ejecute todos los comandos del cuaderno para exportar los objetos del
catálogo a OneLake. Una vez completadas las celdas, se crea esta estructura de
carpetas en el directorio de salida intermedio.
Paso 2: Importación de los metadatos en el almacén de
lago de Fabric
En el paso 2, los metadatos reales se importan desde el almacenamiento intermedio al
almacén de lago de Fabric. La salida de este paso es migrar todos los metadatos del
HMS (bases de datos, tablas y particiones). El proceso es el siguiente:

2.1) Cree un acceso directo en la sección "Archivos" del almacén de lago. Este
acceso directo debe apuntar al directorio de almacenamiento de Spark de origen y
se usa más adelante para realizar el reemplazo de las tablas administradas de
Spark. Consulte ejemplos de accesos directos que apuntan al directorio de
almacenamiento de Spark:
Ruta de acceso directo al directorio de almacenamiento de Spark de Azure
Synapse:
abfss://<container>@<storage_name>.[Link]/synapse/workspaces/

<workspace_name>/warehouse

Ruta de acceso directo al directorio de almacenamiento de Azure Databricks:


dbfs:/mnt/<warehouse_dir>

Ruta de acceso directo al directorio de almacenamiento de Spark de HDInsight:


abfss://<container>@<storage_name>.[Link]/apps/spark/warehous

2.2) Importe el cuaderno de importación de metadatos del HMS en el área de


trabajo de Fabric. Importe este cuaderno para importar los objetos de bases de
datos, tablas y particiones desde el almacenamiento intermedio. La API interna del
catálogo de Spark se usa en este script para crear los objetos del catálogo en
Fabric.
2.3) Configure los parámetros en el primer comando. En Apache Spark, al crear
una tabla administrada, los datos de esa tabla se almacenan en una ubicación
administrada por el propio Spark, normalmente dentro del directorio de
almacenamiento de Spark. Spark determina la ubicación exacta. Esto contrasta con
las tablas externas, donde se especifica la ubicación y se administran los datos
subyacentes. Al migrar los metadatos de una tabla administrada (sin mover los
datos reales), los metadatos todavía contienen la información de la ubicación
original, que apunta al directorio de almacenamiento de Spark anterior. Por lo
tanto, para las tablas administradas, se usa WarehouseMappings para realizar el
reemplazo mediante el acceso directo creado en el paso 2.1. Todas las tablas
administradas de origen se convierten como tablas externas mediante este script.
LakehouseId hace referencia al almacén de lago creado en el paso 2.1 que

contiene los accesos directos.

Scala

// Azure Synapse workspace config


var ContainerName = "<container_name>"
var StorageName = "<storage_name>"
var SynapseWorkspaceName = "<synapse_workspace_name>"

// Fabric config
var WorkspaceId = "<workspace_id>"
var LakehouseId = "<lakehouse_id>"
var ExportFolderName =
f"export/${SynapseWorkspaceName}/sparkCatalogMetadata"
var ShortcutName = "<warehouse_dir_shortcut_name>"

var WarehouseMappings:Map[String, String] = Map(

f"abfss://${ContainerName}@${StorageName}.[Link]/synapse/
workspaces/${SynapseWorkspaceName}/warehouse"->
f"abfss://${WorkspaceId}@[Link]/${LakehouseId
}/Files/${ShortcutName}"
)

var OutputFolder =
f"abfss://${WorkspaceId}@[Link]/${LakehouseId
}/Files/${ExportFolderName}/"

var DatabasePrefix = ""


var TablePrefix = ""
var IgnoreIfExists = true

2.4) Ejecute todos los comandos del cuaderno para importar los objetos del
catálogo desde la ruta de acceso intermedia.
7 Nota

Al importar varias bases de datos, puede (i) crear un almacén de lago por cada base
de datos (el enfoque que se usa aquí) o (ii) mover todas las tablas de bases de
datos diferentes a un único almacén de lago. En este último caso, todas las tablas
migradas podrían ser <lakehouse>.<db_name>_<table_name> y tendrá que ajustar el
cuaderno de importación en consecuencia.

Paso 3: Validación del contenido


En el paso 3, se valida que los metadatos se hayan migrado correctamente. Consulte los
diferentes ejemplos.

Puede ver las bases de datos importadas mediante la ejecución de:

Python

%%sql
SHOW DATABASES

Puede comprobar todas las tablas de un almacén de lago (base de datos) mediante la
ejecución de:

Python

%%sql
SHOW TABLES IN <lakehouse_name>

Para ver los detalles de una tabla determinada, ejecute:

Python

%%sql
DESCRIBE EXTENDED <lakehouse_name>.<table_name>

Como alternativa, todas las tablas importadas están visibles en la sección Tablas de la
interfaz de usuario del Explorador del almacén de lago para cada almacén de lago.
Otras consideraciones
Escalabilidad: la solución usa aquí la API interna del catálogo de Spark para realizar
la importación y exportación, pero no se conecta directamente al HMS para
obtener los objetos del catálogo, por lo que la solución no se puede escalar bien si
el catálogo es grande. Tendría que cambiar la lógica de exportación mediante la
base de datos del HMS.
Precisión de los datos: no hay ninguna garantía de aislamiento, lo que significa que
si el motor de proceso de Spark está realizando modificaciones simultáneas en el
metastore mientras se ejecuta el cuaderno de migración, se pueden introducir
datos incoherentes en el almacén de lago de Fabric.

Pasos siguientes
Fabric frente a Spark de Azure Synapse
Obtenga más información sobre las opciones de migración de los grupos de
Spark, las configuraciones, las bibliotecas, los cuadernos y la definición de trabajos
de Spark.

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


¿Qué es la API de Microsoft Fabric para
GraphQL?
Artículo • 21/05/2024

7 Nota

La API de Microsoft Fabric para GraphQL está en versión preliminar.

La API de Microsoft Fabric para GraphQL es una capa de acceso a datos que permite
realizar consultas rápidas y eficaces de varios orígenes de datos con una tecnología de
API ampliamente adoptada y conocida. La API permite abstraer los detalles de los
orígenes de datos de back-end para que pueda concentrarse en la lógica de la
aplicación y proporcionar todos los datos que necesita un cliente en una sola llamada.
GraphQL usa un lenguaje de consulta simple y conjuntos de resultados fáciles de
manipular, lo que minimiza el tiempo que tardan las aplicaciones en acceder a los datos
en Fabric.

Exposición de datos a través de la API para


GraphQL
Exponer orígenes de datos a un elemento de GraphQL en Microsoft Fabric es rápido y
fácil. Seleccione el origen de datos que desea exponer y, a continuación, indique qué
objetos de ese origen de datos desea presentar a través de la API. Opcionalmente,
defina las relaciones entre los campos que elija. Después de completar estos pasos, el
punto de conexión de API está listo para aceptar consultas.

Orígenes de datos admitidos (versión


preliminar)
Actualmente, los orígenes de datos admitidos que se mencionaran a continuación se
pueden exponer a través de la API de Fabric para GraphQL:

Data Warehouse en Microsoft Fabric


Microsoft Fabric Lakehouse mediante el punto de conexión de SQL Analytics
Bases de datos reflejadas de Microsoft Fabric a través del punto de conexión de
SQL Analytics
Datamarts
Características
La API de Fabric para GraphQL incluye:

Detección automática de esquemas de origen de datos.


Generación automática de consultas y mutaciones.
Generación automática de solucionadores.
Compatibilidad con vistas para bases de datos SQL y almacenes de datos.
Compatibilidad con procedimientos almacenados para bases de datos SQL y
almacenes de datos.
Compatibilidad con varios orígenes de datos con las consultas de distribución
ramificada correspondientes.
Capacidad de crear relaciones uno a uno, uno a varios y varios a varios.
Capacidad de seleccionar objetos individuales que se van a exponer desde un
origen de datos.
Capacidad de exponer columnas específicas de tablas de origen de datos.

Experiencia de edición interactiva


La API para GraphQL incluye un editor en el que puede desarrollar y probar fácilmente
las consultas o mutaciones. Algunas de las funcionalidades del editor son las siguientes:

Un panel de resultados para visualizar la salida de consultas o mutaciones


Compatibilidad con parámetros de consulta o mutación
IntelliSense compatible con la sintaxis de GraphQL y los nombres de objeto de
esquema

Contenido relacionado
Crear una API para GraphQL en Fabric y añadir datos
Conectar aplicaciones a la API de Fabric para GraphQL
Preguntas más frecuentes sobre GraphQL en Fabric
Lenguaje de consulta de GraphQL

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Crear una API para GraphQL en Fabric y
añadir datos
Artículo • 25/10/2024

7 Nota

La API de Microsoft Fabric para GraphQL está en versión preliminar.

Comience a trabajar con una API de Fabric para GraphQL mediante la creación de una
API y, a continuación, vincule un origen de datos para exponer los datos que ha elegido
a través de la API. Fabric crea automáticamente el esquema de GraphQL en cuestión de
minutos en función de los datos y las aplicaciones están listas para conectarse.

Requisitos previos
Habilitación de la configuración de administración de inquilinos para API para
GraphQL (versión preliminar)

Creación de una API para GraphQL


Para crear una API para GraphQL:

1. En la página principal del portal de Fabric, seleccione Ingeniero de datos en la lista


de cargas de trabajo.

2. Seleccione API para GraphQL (versión preliminar).

Como alternativa, seleccione Nueva>API para GraphQL (versión preliminar) en


cualquier área de trabajo de Ingeniero de datos.
3. Escriba un nombre para el elemento y seleccione Crear.

Ahora tiene una API totalmente funcional para acceder a los datos en Fabric.

Conectar a un origen de datos y crear el


esquema
En este momento, la API está lista, pero no expone ningún dato. Las API de GraphQL se
definen en un esquema organizado en términos de tipos y campos, en un sistema
fuertemente tipado. Fabric genera de forma autómatica el esquema de GraphQL
necesario en función de los datos que elija exponer a los clientes de GraphQL.

1. En la nueva API, elija un origen de datos para exponer eligiendo Seleccionar


origen de datos.
2. Cuando aparece el centro de datos de OneLake, elija el origen de datos al que
desea conectarse. En el ejemplo siguiente, se elige un punto de conexión de
análisis SQL de AdventureWorks vinculado a una base de datos reflejada.
Seleccione Filtrar para ver solo tipos específicos de orígenes de datos de Fabric o
para buscar con una palabra clave específica. Cuando esté listo, seleccione
Conectar.

3. Aparece la pantalla Obtener datos, donde puede elegir qué objetos desea exponer
en el esquema de GraphQL.

4. Active las casillas situadas junto a las tablas individuales o los procedimientos
almacenados que desea exponer en la API. Para seleccionar todos los objetos de
una carpeta, active la casilla con el nombre de origen de datos en la parte superior.

5. Seleccione Cargar para iniciar el proceso de generación de esquemas GraphQL.

6. El esquema se genera y puede iniciar la creación de prototipos de consultas


GraphQL (lectura, enumeración) o mutaciones (creación, actualización, eliminación)
para interactuar con los datos.

La API para GraphQL ya está lista para aceptar conexiones y solicitudes. Puede utilizar el
editor de API para probar y crear prototipos de consultas GraphQL y el explorador de
esquemas para comprobar los tipos de datos y los campos expuestos en la API.

Contenido relacionado
Editor de la API de Fabric para GraphQL
Vista de esquema y explorador de esquemas de la API de Fabric para GraphQL

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Editor de la API de Fabric para GraphQL
Artículo • 25/10/2024

7 Nota

La API de Microsoft Fabric para GraphQL está en versión preliminar.

La API de Fabric para GraphQL proporciona un entorno de desarrollo gráfico de


GraphQL en el explorador, que permite que un área de juegos interactiva cree, pruebe y
vea los resultados en directo de las consultas y mutaciones de GraphQL.

Para ir al editor, abra el elemento API para GraphQL en Fabric y seleccione Consultar en
la esquina inferior izquierda de la pantalla del portal.

Puede escribir y ejecutar consultas de GraphQL directamente en la pestaña Consulta .


Las funcionalidades de IntelliSense están disponibles con un método abreviado de
teclado: CTRL + Espacio (Windows) o Comando + Espacio (macOS). Seleccione Ejecutar
para ejecutar la consulta y recuperar los datos en consecuencia del origen de datos.

Generación de código
Una vez probado y prototipo de la operación de GraphQL deseada, el editor de API
puede generar python reutilizable o [Link] código basado en la consulta o mutación
ejecutada en el editor. Puede ejecutar el código generado localmente con fines de
prueba y volver a usar partes de él en el proceso de desarrollo de aplicaciones.

) Importante

El código generado usa credenciales interactivas del explorador y solo debe usarse
con fines de prueba. En producción, registre siempre una aplicación en Microsoft
Entra y use los ámbitos y adecuados client_id . Puede encontrar un ejemplo
completo con código de ejemplo en Conectar aplicaciones.

Para empezar, ejecute una consulta, seleccione el botón Generar código y elija el
idioma en consecuencia:

A continuación, puede copiar el código generado y guardarlo como un archivo en una


carpeta local. En función del idioma que prefiera, siga los pasos sencillos para probar
localmente:

Python

1. Creación de un entorno virtual con el comando python -m venv .venv


2. Activar el venv uso .venv\Scripts\activate o source .venv/bin/activate
3. Instalación de la dependencia necesaria con el comando pip install
[Link]

4. Ejecutar el código con python <[Link]>

[Link]

1. En la misma carpeta que el archivo que guardó, cree un [Link] archivo con
el siguiente contenido:

JSON

{
"type": "module",
"dependencies": {
}
}

2. Ejecute npm install --save @azure/identity o un comando similar en el


administrador de paquetes que prefiera para instalar la versión más reciente de la
biblioteca de identidades.
3. Ejecutar el código con node <filename>.js

Desarrollo de consultas y mutaciones


Revise el siguiente esquema corto de GraphQL, que define un único tipo con consultas
Post para leer una publicación o enumerar todas las publicaciones. También define las

mutaciones para crear, actualizar o eliminar publicaciones que admiten todos los casos
de uso de CRUDL (creación, lectura, actualización, eliminación y enumeración por sus
iniciales en inglés).

JSON

type Post {
id: ID!
title: String!
content: String!
author: String!
published: Boolean
}

type Query {
getPost(id: ID!): Post
getAllPosts: [Post]
}

type Mutation {
createPost(title: String!, content: String!, author: String!): Post
updatePost(id: ID!, title: String, content: String, author: String,
published: Boolean): Post
deletePost(id: ID!): Boolean
}

Puede leer los datos expuestos a través de GraphQL mediante cualquier consulta
definida en el esquema. La consulta getPost debe tener un aspecto similar al ejemplo
siguiente.

JSON
query MyQuery {
getPost(id: "1234") {
title
content
author
}
}

Respuesta:

JSON

{
"data": {
"getPost": {
"title": "First Post",
"content": "This is my first post.",
"author": "Jane Doe"
}
}
}

Escriba datos mediante mutaciones como createPost para crear una publicación con los
parámetros necesarios.

JSON

mutation MyMutation {
createPost(title: "Second post", content: "This is my second post",
author: "Jane Doe", published: false) {
id
title
content
author
}
}

Respuesta:

JSON

{
"data": {
"createPost": {
"id": "5678",
"title": "Second Post",
"content": "This is my second post.",
"author": "Jane Doe"
}
}
}

Variables de consulta
Use el panel Variables de consulta en el lado derecho de la pestaña Consulta para pasar
los parámetros como variables a las consultas o mutaciones. Las variables funcionan de
la misma manera que las variables en cualquier otro lenguaje de programación. Cada
variable debe declararse con un nombre que se usa para tener acceso al valor
almacenado en ella. Con el ejemplo de mutación anterior, puede modificarlo
ligeramente para utilizar las variables de consulta.

JSON

mutation MyMutation ($title: String!, $content: String!, $author: String!){


createPost(title: $title, content: $content, author: $author) {
id
title
content
author
}
}

Defina las variables en el panel como en el ejemplo siguiente.

JSON

{
"id": "5678",
"title": "Second Post",
"content": "This is my second post.",
"author": "Jane Doe"
}

Las variables hacen que el código de mutación sea más limpio y fácil la lectura, prueba y
modificación de parámetros.

Contenido relacionado
Más ejemplos de consulta y mutación
Vista de esquema y explorador de esquemas de la API de Fabric para GraphQL
Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Vista de esquema y explorador de
esquemas de la API de Fabric para
GraphQL
Artículo • 26/08/2024

7 Nota

La API de Microsoft Fabric para GraphQL está en versión preliminar.

El esquema de GraphQL, que se basa en el lenguaje de definición de esquemas (SDL) de


GraphQL, define el formato de los datos expuestos en la API. Es una capa de abstracción
que proporciona flexibilidad a los consumidores y, al mismo tiempo, oculta los detalles
de implementación de back-end. El esquema se basa en una colección de tipos de
objeto que contienen campos.

Vista de esquema
Para acceder a la vista de esquema, seleccione Esquema en la esquina inferior izquierda
de la pantalla Desarrollo de datos. La vista muestra una versión basada en texto del SDL
de GraphQL con tipos, campos y operaciones generados.

La imagen siguiente es un ejemplo de la vista de esquema, incluida una lista extensa de


objetos disponibles en este esquema.

7 Nota

La vista de esquema es de solo lectura. Solo puede modificar objetos en el


Explorador de esquemas.

Explorador de esquemas
El Explorador de esquemas se encuentra en el panel de la izquierda y también está
disponible cuando se usa el editor en la vista de consulta. El explorador permite a los
usuarios visualizar rápidamente los tipos y campos disponibles, así como consultas y
mutaciones, definidos en la API.

Todos los tipos de GraphQL que están disponibles en los objetos que elija al conectarse
a un origen de datos aparecen en la lista Explorador de esquemas. Los tipos aparecen
bajo el nombre del origen de datos desde el que se derivaron. En la imagen siguiente,
verá el tipo SalesOrderDetail derivado de la tabla SalesOrderDetail en el punto de
conexión de Análisis SQL de AdventureWorks.
Además de los tipos, la API de Fabric para GraphQL genera automáticamente consultas
y mutaciones para los nuevos objetos que elija exponer.

En nuestro ejemplo de AdventureWorks, al expandir la lista de consultas se muestran las


consultas generadas automáticamente para el origen de datos.
Para ver las mutaciones generadas de forma automática por la API, expanda el nodo de
mutaciones en el árbol del Explorador de esquemas.
Modificación de objetos mediante el
Explorador de esquemas
Puede utilizar el Explorador de esquemas para modificar objetos después de que la API
los cree. En el ejemplo siguiente, seleccionamos los puntos suspensivos junto al tipo
SalesOrderDetail derivado de nuestra base de datos AdventureWorks:
Las siguientes opciones están disponibles para Types:

Actualizar esquema: permite actualizar el esquema con nuevos objetos del origen
de datos.
Cambiar nombre: cambia el nombre del objeto. NOTA: Este cambio solo afecta al
esquema de API y no tiene ningún efecto en el objeto de origen de datos original
del que se ha derivado.
Quitar del esquema: elimina eficazmente el objeto del esquema GraphQL para que
ya no pueda hacer referencia a él.
Administrar relaciones: le lleva a la experiencia de administración de relaciones.
Para más información, consulte Administrar relaciones en la API de Fabric para
GraphQL.
Propiedades: muestra información adicional sobre el objeto.

Habilitación y deshabilitación de consultas y


mutaciones
La característica habilitar/deshabilitar para consultas y mutaciones proporciona a los
administradores y desarrolladores un control pormenorizado sobre el acceso y el uso de
la API. Permite activar o desactivar de forma selectiva consultas y mutaciones específicas
dentro del esquema GraphQL. Esto te permite administrar las funcionalidades de API
dinámicamente sin modificar el código ni implementar los cambios.
Las consultas y las mutaciones en el explorador de esquemas tienen dos opciones
adicionales:

Deshabilitar: impide que las solicitudes ejecuten la consulta o la mutación. Si se


intenta ejecutar, se devuelve un error. Una vez deshabilitada una consulta o una
mutación, se produce una recarga de esquema y la consulta o mutación aparece
atenuada en el explorador de esquemas.

Habilitar: vuelve a habilitar una consulta o una mutación deshabilitadas


previamente. La ejecución del elemento está disponible inmediatamente tras la
operación de recarga de esquema que tiene lugar después de seleccionar la
opción Habilitar.
Ten en cuenta que las consultas o mutaciones generadas automáticamente a partir de
procedimientos almacenados solo se pueden eliminar. Una vez eliminados, se pueden
volver a agregar mediante las opciones Obtener datos o Actualizar esquema.

Contenido relacionado
Editor de la API de Fabric para GraphQL

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Preguntas frecuentes sobre la API
de Fabric para GraphQL
Preguntas más frecuentes

Encuentre respuestas a las preguntas frecuentes sobre la API de Fabric para GraphQL.

7 Nota

La API de Microsoft Fabric para GraphQL está en versión preliminar.

¿Qué es GraphQL?
GraphQL es un lenguaje de consulta de código abierto para las API y un runtime para
satisfacer esas consultas con los datos existentes. GraphQL proporciona una descripción
completa y comprensible de los datos de la API con un sistema fuertemente tipado,
ofrece a los clientes la capacidad de pedir exactamente lo que necesitan, ni más ni
menos, facilita la evolución de las API con el paso del tiempo y habilita herramientas de
desarrollo eficaces.

¿Qué es la API de Microsoft Fabric para


GraphQL?
La API de Microsoft Fabric para GraphQL es un servicio administrado que permite crear
una API de GraphQL en segundos para acceder a los datos de los orígenes de datos,
como Almacenes de datos de Microsoft Fabric, Microsoft Fabric Lakehouses y bases de
datos reflejadas de Microsoft Fabric. Proporciona una capa de API unificada para
consultar y mutar datos de estos orígenes de datos admitidos. La API de Fabric para
GraphQL está actualmente en versión preliminar.

¿Qué operaciones de GraphQL se


admiten en la API de Fabric para
GraphQL?
En este momento solo se admiten las consultas de GraphQL (lectura) y las mutaciones
(escritura). Los orígenes de datos expuestos a través de puntos de conexión de SQL
Analytics son de solo lectura, por lo que solo admiten consultas. En el caso de los
almacenamientos de datos, es necesario definir una clave principal para que las
mutaciones se generen automáticamente.

¿Cómo se puede ver y editar


solucionadores en API de Fabric para
GraphQL?
Los solucionadores son componentes de GraphQL que proporcionan lógica de negocios
para resolver campos en la API y realizar operaciones con datos que residen en los
orígenes de datos. Fabric genera automáticamente resoluciones cada vez que se adjunta
un nuevo origen de datos o se seleccionan nuevos objetos que se van a exponer desde
un origen de datos existente. Actualmente, no es posible personalizar solucionadores.
Para la lógica de negocios personalizada en API para GraphQL, puede crear un
procedimiento almacenado en el origen de datos y exponerlo en la API de GraphQL.

¿La API para la aplicación cliente de


GraphQL necesita acceso al origen de
datos para realizar consultas o
mutaciones?
La API para GraphQL requiere que las aplicaciones utilicen Microsoft Entra para la
autenticación. La aplicación cliente debe registrarse y configurarse adecuadamente para
realizar llamadas API en Fabric. La aplicación registrada en Microsoft Entra requiere
permisos [Link] o [Link] y [Link] api para el
servicio Power BI ([! Importante] : los ámbitos pueden cambiar durante la versión
preliminar pública). Para obtener más información, vea Crear una aplicación de
Microsoft Entra en Azure. Además de Microsoft Entra, el usuario autenticado en la
aplicación que llama a GraphQL API debe ser miembro del área de trabajo con un rol de
colaborador donde se encuentran tanto la API como los elementos del origen de datos.
Para más información, consulte Proporcionar acceso a los usuarios a las áreas de trabajo
en Power BI. También es posible usar entidades de servicio para acceder a la API. Puede
encontrar un ejemplo completo con código de ejemplo en Conectar aplicaciones.
¿Cómo abrir una incidencia de soporte
técnico para API para GraphQL?
Para obtener ayuda de Soporte técnico de Microsoft sobre cualquier problema
relacionado con API de Fabric para GraphQL, visite nuestro sitio de soporte técnico de
Fabric y elija la opción de Ingeniero de datos.

¿Qué regiones aún no son compatibles


con la API para GraphQL?
Actualmente, la API para GraphQL no se admite en la región Oeste de EE. UU. 3.

Contenido relacionado
¿Qué es la API de Microsoft Fabric para GraphQL?

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Administración de relaciones en Fabric
API para GraphQL
Artículo • 21/05/2024

7 Nota

La API de Microsoft Fabric para GraphQL está en versión preliminar.

Una de las características más eficaces de GraphQL es la capacidad de establecer


relaciones entre tipos, incluida la compatibilidad con relaciones uno a uno (1:1), uno a
varios (1:N) y relaciones de varios a varios (M:N).

Crear nueva relación uno a uno (1:1)


1. En el panel Explorador de esquemas, seleccione los puntos suspensivos situados
junto a un tipo y seleccione la opción Administrar relaciones. Aparece la pantalla
Administrar relaciones.

2. Seleccione Nueva relación. En este ejemplo, creamos una nueva relación uno a
uno entre el tipo Product y el tipo ProductModel, en función del campo
ProductModelID que existe en ambos tipos. Seleccionamos Uno a uno para
Cardinalidad, seleccionamos los tipos Origen y Destino y, a continuación,
seleccionamos los campos Origen y Destino para esta relación.
7 Nota

Puede elegir varios campos en los selectores de campos Origen y Destino.


Esta característica permite crear relaciones que comprenden varios campos.

3. Seleccione la Crear relación. La lista de relaciones ahora muestra la relación recién


creada.

4. Seleccione la X en la esquina superior derecha para cerrar la pantalla Administrar


relaciones.

Relaciones de uno a varios (1:N) y entre varios


(M:N)
Para crear una relación de uno a varios (1:N), por ejemplo, entre Producto y Pedido,
donde cada producto se puede asociar a varios pedidos, seleccione Uno a varios como
cardinalidad. Esta relación refleja la idea de que un único producto se puede vincular a
varios pedidos, pero cada pedido está vinculado a un solo producto.

Para una relación de varios a varios (M:N), como entre Books y Authors, donde un libro
puede tener varios autores y un autor puede tener varios libros, elija Entre varios como
la cardinalidad. Debe tener un tipo de vinculación en el esquema para dar cabida a este
tipo de relación.

El cuadro de diálogo Nueva relación muestra otro conjunto de selectores al elegir Entre
varios como cardinalidad. En el ejemplo de Books y Authors, seleccionaría un tipo de
vinculación como BooksAuthors y campos como BookId y AuthorId como la
vinculación de y a los campos.

Aspectos a tener en cuenta en relaciones de


varios a varios
Si el tipo de vinculación contiene uno o varios campos a los que no se hace referencia
como Campos de origen o Campos de destino, API para GraphQL genera
automáticamente cuatro relaciones de uno a varios, como se indica a continuación:
Relación uno a varios del tipo de origen al tipo de vínculo
Relación uno a varios del tipo de vínculo al tipo de origen
Relación uno a varios del tipo de destino al tipo de vínculo
Relación uno a varios del tipo de vínculo al tipo de destino

Estos le permiten hacer referencia a los campos desvinculados del tipo de vínculo en
cualquier consulta o mutación, al tiempo que permiten consultas o mutaciones que
hacen referencia a las relaciones en cualquier dirección.

En el caso de que no haya campos desvinculados en el tipo de vínculo, se creará una


única relación de varios a varios y las consultas o mutaciones no tendrán que hacer
referencia al tipo de vínculo para sacar provecho de la relación.

Eliminar una relación


Puede eliminar una relación de la pantalla Administrar relaciones activando la casilla
situada junto a la relación y seleccionando Eliminar.

Contenido relacionado
Editor de la API de Fabric para GraphQL

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Conectar aplicaciones a la API de Fabric
para GraphQL
Artículo • 25/10/2024

7 Nota

La API de Microsoft Fabric para GraphQL está en versión preliminar.

Para conectar una aplicación a una API para GraphQL, necesita tres informaciones
importantes: un identificador de cliente, el identificador de inquilino y la dirección del
punto de conexión de GraphQL en Fabric. En las secciones siguientes se muestra cómo
crear y recuperar todos los datos que necesita y cómo acceder a la API mediante una
aplicación de ejemplo.

Requisitos previos
Actualmente, la API para GraphQL requiere que las aplicaciones utilicen Microsoft
Entra para la autenticación. La aplicación debe registrarse y configurarse
adecuadamente para realizar llamadas API en Fabric. Para obtener más
información, vea Crear una aplicación de Microsoft Entra en Azure.

El usuario autenticado que llama a la API debe ser miembro del área de trabajo
donde tanto la API como los elementos del origen de datos se encuentran con un
rol colaborador. Para más información, consulte Proporcionar acceso a los usuarios
a las áreas de trabajo en Power BI.

Antes de conectar una aplicación, debe tener una API para GraphQL en Fabric. Para
obtener más información, consulte Crear una API para GraphQL en Fabric y añadir
datos.

Crear una aplicación de Microsoft Entra


En los pasos siguientes, se muestra cómo configurar la compatibilidad con una
aplicación ReactJS en Microsoft Entra.

1. Inicie sesión en Azure Portal .

2. Busque y seleccione Microsoft Entra ID.


3. En la lista Administrar, seleccione Registros de aplicación.

4. Seleccione Nuevo registro.

5. Rellene la información necesaria:

Nombre: escriba un nombre para la aplicación.

Tipos de cuentas compatibles: seleccione qué cuentas desea que admita la


aplicación.

(Opcional) URI de redirección: escriba un URI si es necesario.


[Link] o [Link]

6. Seleccione Registrar. Los valores de Id. de aplicación (cliente) e Id. de directorio


(inquilino) se muestran en el cuadro Resumen. Registre estos valores según sea
necesario más adelante.

7. En la lista Administrar, seleccione Permisos de API y a continuación Agregar un


permiso.

8. Agregue el servicio PowerBI, seleccione Permisos delegados y, después, y


permisos [Link] . Asegúrese de que el consentimiento del
administrador no es necesario.

9. En la lista Administrar, seleccione Autenticación, elija Agregar una plataforma y


seleccione Aplicación de página única.

10. Para fines de desarrollo local, agregue [Link] en URI de


redirección y confirme que la aplicación está habilitada para el flujo de código de
autorización con clave de prueba para Intercambio de código (PKCE). Seleccione el
botón Configurar para guardar los cambios. En caso de que la aplicación reciba un
error relacionado con las solicitudes entre orígenes, agregue la plataforma de
aplicaciones móviles y de escritorio en el paso anterior con el mismo URI de
redirección.

11. Vuelva a Autorización, desplácese hacia abajo hasta Configuración avanzada y, en


Permitir flujos de cliente públicos, seleccione Sí para Habilitar los siguientes flujos
de escritorio y móviles.

Configuración de una API de GraphQL de


ejemplo para el acceso a aplicaciones
En este ejemplo, creamos una API de GraphQL para exponer datos de ejemplo de
Lakehouse a los clientes.

1. En la página principal del portal de Fabric, seleccione Ingeniero de datos en la lista


de cargas de trabajo.

2. En la experiencia de Ingeniero de datos, seleccione Usar un ejemplo y, en


Lakehouse, seleccione Días festivos públicos para crear automáticamente una
nueva instancia de Lakehouse con datos de días festivos públicos.

3. Siguiendo los pasos descritos en Creación de una API para GraphQL, cree una
nueva API de GraphQL y seleccione la instancia de Lakehouse que creó. Agregue la
tabla días festivos públicos para permitir que los clientes accedan a estos datos.

4. Pruebe la API de GraphQL en el editor de API mediante la siguiente consulta de


ejemplo. Es la misma consulta que usamos en nuestra aplicación cliente de React:
JSON

query {
publicholidays (filter: {countryRegionCode: {eq:"US"}, date: {gte:
"2024-01-01T[Link].000Z", lte: "2024-12-31T[Link].000Z"}}) {
items {
countryOrRegion
holidayName
date
}
}
}

5. Seleccione Copiar punto de conexión en la barra de herramientas del elemento de


API.

6. En la pantalla Copiar vínculo, seleccione Copiar.

7. Como el identificador de cliente y el identificador de inquilino de la aplicación


Microsoft Entra registrados anteriormente, copie el URI del punto de conexión tal y
como es necesario más adelante.
Configuración de una aplicación React para
acceder a la API de días festivos públicos
1. Usamos una aplicación React existente como punto de partida. Siga todos los
pasos del tutorial Crear una aplicación de página única de React y prepararla para
la autenticación para crear un proyecto de React con la autenticación de Microsoft
Entra ya configurada, incluidos archivos y carpetas adicionales necesarios para
agregarse a la estructura del proyecto. Solo es necesario cambiar tres archivos para
adaptar la aplicación para nuestro caso de uso de GraphQL.

2. En la carpeta src, abra el archivo [Link] y sustituya el contenido del archivo


por el siguiente fragmento de código:

JavaScript

/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License.
*/

import { LogLevel } from "@azure/msal-browser";

/**
* Configuration object to be passed to MSAL instance on creation.
* For a full list of [Link] configuration parameters, visit:
* [Link]
js/blob/dev/lib/msal-browser/docs/[Link]
*/

export const graphqlConfig = {


graphqlEndpoint: "`Enter_the_GraphQL_Endpoint_Here"
};

export const msalConfig = {


auth: {
clientId: "Enter_the_Application_Id_Here",
authority:
"[Link]
redirectUri: "[Link]
},
cache: {
cacheLocation: "sessionStorage", // This configures where your
cache will be stored
storeAuthStateInCookie: false, // Set this to "true" if you
are having issues on IE11 or Edge
},
system: {
loggerOptions: {
loggerCallback: (level, message, containsPii) => {
if (containsPii) {
return;
}
switch (level) {
case [Link]:
[Link](message);
return;
case [Link]:
[Link](message);
return;
case [Link]:
[Link](message);
return;
case [Link]:
[Link](message);
return;
default:
return;
}
}
}
}
};

/**
* Scopes you add here will be prompted for user consent during sign-
in.
* By default, [Link] will add OIDC scopes (openid, profile, email)
to any login request.
* For more information about OIDC scopes, visit:
* [Link]
permissions-and-consent#openid-connect-scopes
*/
export const loginRequest = {
scopes:
["[Link]
[Link]/powerbi/api/[Link]"]
};

/**
* Add here the scopes to request when obtaining an access token for
MS Graph API. For more information, see:
* [Link]
js/blob/dev/lib/msal-browser/docs/[Link]
*/
export const graphConfig = {
graphMeEndpoint: "[Link]
};

Como puede ver en el código anterior, es importante usar el ámbito correcto para
acceder a la aplicación. En nuestro caso
[Link] y

[Link] .
) Importante

Los ámbitos pueden cambiar durante la versión preliminar de la API de


Microsoft Fabric para GraphQL.

3. Reemplace los siguientes valores por los del Centro de administración de


Microsoft Entra.

clientId - El identificador de la aplicación, también denominado cliente.

Reemplace por Enter_the_Application_Id_Here el valor de id. de aplicación


(cliente) que se registró anteriormente en la página de información general
de la aplicación Microsoft Entra registrada.
authority - Se compone de dos partes:

La instancia es el punto de conexión del proveedor de nube. Consulte los


diferentes puntos de conexión disponibles en nubes nacionales.
El Id. de inquilino es el identificador del inquilino en el que está registrada
la solicitud. Reemplace Enter_the_Tenant_Info_Here por el valor de
identificador del directorio (inquilino) que se ha registrado antes en la
página de información general de la aplicación registrada.
graphQLEndpoint - API de Fabric para el punto de conexión de GraphQL

Reemplace Enter_the_GraphQL_Endpoint_Here por el punto de conexión de la


API de GraphQL registrado anteriormente.

4. Guarde el archivo.

5. En la misma carpeta src, abra el archivo [Link] y sustituya el contenido del archivo
por el siguiente fragmento de código:

JavaScript

import React, { useState } from 'react';


import { PageLayout } from './components/PageLayout';
import { loginRequest, graphqlConfig } from './authConfig';
import { ProfileData } from './components/ProfileData';
import { AuthenticatedTemplate, UnauthenticatedTemplate, useMsal }
from '@azure/msal-react';
import './[Link]';
import Button from 'react-bootstrap/Button';
import Spinner from 'react-bootstrap/Spinner';

/**
* Renders information about the signed-in user or a button to retrieve
data about the user
*/
const ProfileContent = () => {
const { instance, accounts } = useMsal();
const [graphqlData, setGraphqlData] = useState(null);
const [display, setDisplay] = useState(false);

function RequestGraphQL() {
// Silently acquires an access token which is then attached to a
request for GraphQL data
instance
.acquireTokenSilent({
...loginRequest,
account: accounts[0],
})
.then((response) => {
callGraphQL([Link]).then((response) =>
setGraphqlData(response));
});
}

async function callGraphQL(accessToken) {


setDisplay(true);
const query = `query {
publicholidays (filter: {countryRegionCode: {eq:"US"}, date: {gte:
"2024-01-01T[Link].000Z", lte: "2024-12-31T[Link].000Z"}}) {
items {
countryOrRegion
holidayName
date
}
}
}`;
fetch([Link], {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${accessToken}`,
},
body: [Link]({
query: query
})
})
.then((res) => [Link]())
.then((result) => setGraphqlData(result));
}

return (
<>
<h5 className="card-title">Welcome {accounts[0].name}</h5>
<br/>
{graphqlData ? (
<ProfileData graphqlData={graphqlData} />
) : (
<Button variant="primary" onClick={RequestGraphQL}>
Query Fabric API for GraphQL Data
{display ? (
<Spinner
as="span"
animation="border"
size="sm"
role="status"
aria-hidden="true"
/>
) : null}
</Button>
)}
</>
);
};

/**
* If a user is authenticated the ProfileContent component above is
rendered. Otherwise a message indicating a user is not authenticated is
rendered.
*/
const MainContent = () => {
return (
<div className="App">
<AuthenticatedTemplate>
<ProfileContent />
</AuthenticatedTemplate>

<UnauthenticatedTemplate>
<h5>
<center>
Please sign-in to see your profile information.
</center>
</h5>
</UnauthenticatedTemplate>
</div>
);
};

export default function App() {


return (
<PageLayout>
<center>
<MainContent />
</center>
</PageLayout>
);
}

6. Guarde el archivo.

7. Por último, en la carpeta src/components, abra el archivo [Link] y


reemplace el contenido del archivo por el siguiente fragmento de código:

JavaScript
import React from "react";
import ListGroup from 'react-bootstrap/ListGroup';
import Table from 'react-bootstrap/Table';
/**
* Renders information about the user obtained from MS Graph
* @param props
*/
export const ProfileData = (props) => {
const holidays = [Link];
return (
<Table striped bordered hover responsive>
<thead>
<tr>
<th>Country</th>
<th>Holiday</th>
<th>Date</th>
</tr>
</thead>
<tbody>
{[Link]((item,i) => (
<tr key={i}>
<td>{[Link]}</td>
<td>{[Link]}</td>
<td>{[Link]}</td>
</tr>
))}
</tbody>
</Table>
)};

8. Guarde todos los cambios.

9. En la aplicación de terminal que prefiera, vaya a la carpeta raíz del proyecto React y
ejecute el comando npm start para probar la aplicación localmente.

10. Una vez que la aplicación se cargue en el explorador desde


[Link] , siga los pasos descritos en la última parte del tutorial

Llamada a la API desde la aplicación para autenticarse.

11. Después de iniciar sesión, haga clic en el botón Query Fabric API for GraphQL
Data (Api de Query Fabric para datos de GraphQL).
12. Una solicitud autenticada correcta a la API de GraphQL en Fabric devuelve los
datos de la consulta GraphQL a Lakehouse en nuestra aplicación cliente de React:

Uso de una entidad de servicio


Aunque los pasos de la sección anterior son necesarios para proporcionar acceso a las
entidades de seguridad de usuario, también es posible acceder a GraphQL API con una
entidad de servicio:

1. Siga los pasos descritos en la sección anterior para crear una segunda aplicación
de Microsoft Entra. En la nueva aplicación, agregue un secreto de cliente en
Certificados y secretos, para obtener más información, vea Registrar una
aplicación de Microsoft Entra y crear una entidad de servicio.
2. En el portal de administración de inquilinos, vaya a Configuración del inquilino. En
Configuración del desarrollador, habilite las entidades de servicio para usar las
API de Fabric. Con esta configuración habilitada, la aplicación estará visible en
Fabric Portal para la asignación de roles o permisos. Puede encontrar más
información sobre la compatibilidad con identidades.
3. La entidad de servicio necesitará acceso a GraphQL API y al origen de datos. En
Fabric Portal, agregue la aplicación como miembro del área de trabajo con un rol
de colaborador donde se encuentran tanto GraphQL API como elementos de
origen de datos.

Dado que una entidad de servicio requiere un certificado o un secreto de cliente, no es


compatible con la Biblioteca de autenticación de Microsoft (MSAL) en aplicaciones de
página única (SPA), como la aplicación React que compilamos en el último paso. Puede
aprovechar un servicio back-end correctamente protegido con lógica de autorización
bien definida en función de sus requisitos y casos de uso.

Una vez que una entidad de servicio haya configurado la API para acceder a ella, puede
probarla localmente mediante una sencilla aplicación de [Link] en la máquina local:

[Link]

const { ClientSecretCredential } = require('@azure/identity');

// Define your Microsoft Entra ID credentials


const tenantId = "<YOUR_TENANT_ID>";
const clientId = "<YOUR_CLIENT_ID>";
const clientSecret = "<YOUR_CLIENT_SECRET>"; // Service principal secret
value

const scope = "[Link] // The scope of


the token to access Fabric

// Create a credential object with service principal details


const credential = new ClientSecretCredential(tenantId, clientId,
clientSecret);

// Function to retrieve the token


async function getToken() {
try {
// Get the token for the specified scope
const tokenResponse = await [Link](scope);
[Link]("Access Token:", [Link]);
} catch (err) {
[Link]("Error retrieving token:", [Link]);
}
}

Después de instalar las dependencias ( @azure/identity ) con el administrador de


paquetes de [Link] elección, modificar el archivo con la información necesaria,
guardarlo y ejecutarlo ( node <[Link]> ), podrá recuperar un token de Microsoft
Entra.

Después, el token se puede usar para invocar graphQL API mediante PowerShell
reemplazando los detalles adecuados por el token que acaba de recuperar, la consulta
de GraphQL que desea ejecutar y el punto de conexión de graphQL API:

PowerShell

$headers = @{
Authorization = "Bearer <YOUR_TOKEN>"
'Content-Type' = 'application/json'
}

$body = @{
query = @"
<YOUR_GRAPHQL_QUERY>
"@
}

# Make the POST request to the GraphQL API


$response = Invoke-RestMethod -Uri "<YOUR_GRAPHQL_API_ENDPOINT>" -Method
POST -Headers $headers -Body ($body | ConvertTo-Json)

# Output the response


$response | ConvertTo-Json -Depth 10

Como alternativa, puede usar cURL para lograr el mismo resultado:

Bash

curl -X POST <YOUR_GRAPHQL_API_ENDPOINT> \


-H "Authorization: <YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"query": "<YOUR_GRAPHQL_QUERY(in a single line)>"}'

Con fines de prueba local, el código de [Link] se puede modificar ligeramente con
una dependencia adicional ( axios ) para recuperar el token e invocar la API en una sola
ejecución:
[Link]

const { ClientSecretCredential } = require('@azure/identity');


const axios = require('axios');

// Microsoft Entra ID credentials


const tenantId = "<YOUR_TENANT_ID>";
const clientId = "<YOUR_CLIENT_ID>";
const clientSecret = "<YOUR_CLIENT_SECRET>"; // Service principal secret
value

// GraphQL API details


const graphqlApiUrl = "YOUR_GRAPHQL_API_ENDPOINT>";
const scope = "[Link] // The scope to
request the token for

// The GraphQL query


const graphqlQuery = {
query: `
<YOUR_GRAPHQL_QUERY>
`
};

// Function to retrieve a token and call the GraphQL API


async function fetchGraphQLData() {
try {
// Step 1: Retrieve token using the ClientSecretCredential
const credential = new ClientSecretCredential(tenantId, clientId,
clientSecret);
const tokenResponse = await [Link](scope);
const accessToken = [Link];

[Link]("Access token retrieved!");

// Step 2: Use the token to make a POST request to the GraphQL API
const response = await [Link](
graphqlApiUrl,
graphqlQuery,
{
headers: {
'Authorization': `Bearer ${accessToken}`,
'Content-Type': 'application/json'
}
}
);

// Step 3: Output the GraphQL response data


[Link]("GraphQL API response:", [Link]([Link]));

} catch (err) {
[Link]("Error:", [Link]);
}
}
// Execute the function
fetchGraphQLData();

Otros idiomas
Busque C#, Python y otros ejemplos de lenguaje para conectarse a su API de GraphQL
en el repositorio de GitHub de ejemplos de Microsoft Fabric .

Contenido relacionado
Creación de una aplicación de Microsoft Entra en Azure
Crear una API para GraphQL en Fabric y añadir datos
Creación de una aplicación de página única de React y preparación para la
autenticación
Consulta de varios orígenes de datos en la API de Fabric para GraphQL

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad


Consulta de varios orígenes de datos en
la API de Fabric para GraphQL
Artículo • 21/05/2024

7 Nota

La API de Microsoft Fabric para GraphQL está en versión preliminar.

En la API de Fabric para GraphQL, puede exponer muchos orígenes de datos a través de
un único elemento de API. Esta característica le permite emitir una sola consulta que
recupera datos en varios orígenes de datos.

Una consulta de un origen de datos múltiple es una secuencia de consultas que usan
operaciones en orígenes de datos diferentes.

Esta funcionalidad puede mejorar el rendimiento de las aplicaciones reduciendo el


número de recorridos de ida y vuelta entre la aplicación y la API para GraphQL.

7 Nota

Un origen de datos múltiple efectúa una distribución ramificada las solicitudes


individuales a los orígenes de datos. No puede crear relaciones entre tipos que
abarquen múltiples orígenes de datos. Además, no se puede garantizar el orden en
que se ejecutarán las solicitudes individuales.

Ejemplo de consulta
En el ejemplo siguiente se muestra una consulta que abarca los orígenes de datos
ContosoSales y ContosoInventory:

JSON

query {
customers (first: 1) {
items {
FirstName
LastName
}
}
inventories (first: 1) {
items {
Name
}
}
}

Esta solicitud recupera el primer nodo de la consulta de clientes, que se deriva del
origen de datos ContosoSales y el primer nodo de la consulta de inventarios, que se
deriva del origen de datos ContosoInventory.

La salida de la solicitud es:

JSON

{
"data": {
"customers": {
"items": [
{
"FirstName": "Orlando",
"LastName": "Gee"
}
]
},
"inventories": {
"items": [
{
"Name": "AWC Logo Cap"
}
]
}
}
}

Hay dos partes en la salida: la primera sección, "datos" contiene la salida de la consulta
de clientes. La segunda sección, "inventarios", contiene la salida de la consulta de
inventarios.

Este es el aspecto de la vista de consulta al ejecutar esta solicitud:


Contenido relacionado
Crear una API para GraphQL en Fabric y añadir datos

Comentarios
¿Le ha resultado útil esta página?  Sí  No

Proporcionar comentarios sobre el producto | Preguntar a la comunidad

También podría gustarte