Compartir vía


Use la experiencia de Python en Notebook

Nota

Actualmente, la característica está en versión preliminar.

El cuaderno de Python es una nueva experiencia basada en el cuaderno de Fabric. Es una herramienta versátil e interactiva diseñada para el análisis de datos, la visualización y el aprendizaje automático. Proporciona una experiencia de desarrollo sin problemas para escribir y ejecutar código de Python. Esto lo convierte en una herramienta esencial para los científicos de datos, analistas y desarrolladores de BI, especialmente para las tareas de exploración que no requieren macrodatos y computación distribuida.

Con un cuaderno de Python, puede obtener:

  • Múltiples kernels de Python integrados: los cuadernos de Python ofrecen un entorno de codificación de Python puro sin Spark, con dos versiones del kernel de Python: Python 3.10 y 3.11 disponibles de forma predeterminada, y características nativas de ipython compatibles, como iPyWidget y comandos mágicos.

  • Rentable: el nuevo cuaderno de Python ofrece ventajas de ahorro de costes mediante la ejecución en un clúster de un solo nodo, con 2vCores/16 GB de memoria por defecto. Esto garantiza un uso eficaz de los recursos para proyectos de exploración de datos con un tamaño de datos menor.

  • Lakehouse & Resources están disponibles de forma nativa: el Lakehouse de Fabric y la funcionalidad completa de los recursos integrados en el Cuaderno están disponibles en el cuaderno de Python. Esto permite a los usuarios traer fácilmente los datos al cuaderno de Python, simplemente intente arrastrar y soltar para obtener el fragmento de código.

  • Mezcla de programación con T-SQL: El cuaderno de Python ofrece una forma sencilla de interactuar con los puntos de conexión de Data Warehouse y SQL en el explorador. Al utilizar el conector de datos notebookutils, puede ejecutar fácilmente los scripts de T-SQL en el contexto de Python.

  • compatibilidad con bibliotecas de análisis de datos populares: los cuadernos de Python incluyen bibliotecas preinstaladas, como DuckDB, Polars y Scikit-learn, lo que proporciona un kit de herramientas completo para la manipulación, el análisis y el aprendizaje automático de datos.

  • Intellisense avanzado: el cuaderno de Python está adoptando Pylance como el motor de Intellisense, junto con otros servicios de lenguaje personalizados de Fabric, con el objetivo de ofrecer una experiencia de codificación de última generación para los desarrolladores de cuadernos.

  • NotebookUtils y Vínculo Semántico: los kits de herramientas API eficaces le permiten usar fácilmente las funcionalidades de Fabric y Power BI con la experiencia de tipo código primero.

  • funcionalidades de visualización enriquecidas: excepto la popular función de vista previa de tramas de datos enriquecidas "Table" y la función "Chart", también se admiten bibliotecas de visualización populares como Matplotlib, Seaborn y Plotly. PowerBIClient también admite estas bibliotecas para ayudar a los usuarios a comprender mejor los patrones de datos y la información.

  • Funcionalidades comunes de Fabric Notebook: todas las características de nivel de cuaderno de Notebook son aplicables naturalmente para cuadernos de Python, como características de edición, autoguardado, colaboración, uso compartido y administración de permisos, integración de Git, importación/exportación, etc.

  • Funcionalidades completas de ciencia de datos: El avanzado kit de herramientas de bajo código Data Wrangler, el marco de aprendizaje automático MLFlow y el potente Copilot están disponibles en el cuaderno de Python.

Acceso al cuaderno de Python

Después de abrir un cuaderno de Fabric, puede cambiar a Python en el menú desplegable de lenguaje en la pestaña Inicio y convertir toda la configuración del cuaderno a Python.

Captura de pantalla que muestra el cambio a Python desde el menú del lenguaje del cuaderno.

La mayoría de las características comunes se admiten a nivel de cuaderno, puede consultar el Cómo usar cuadernos de Microsoft Fabric y Desarrollar, ejecutar y administrar cuadernos de Microsoft Fabric para aprender a utilizarlo en detalle. Aquí se enumeran algunas funcionalidades clave específicas para escenarios de Python.

Ejecutar cuadernos de Python

El cuaderno de Python admite varias formas de ejecución de trabajos:

  • Ejecución interactiva: puede ejecutar un cuaderno de Python de forma interactiva como un cuaderno nativo de Jupyter.
  • Programación de ejecución: puede usar la experiencia del planificador ligero en la página de configuración del notebook para ejecutar el notebook de Python como tarea por lotes.
  • Ejecución de canalización: puede orquestar cuadernos de Python como actividades de cuaderno en la canalización de datos. La instantánea se generará después de la ejecución del trabajo.
  • Ejecución de referencia: puede usar notebookutils.notebook.run() o notebookutils.notebook.runMultiple() para hacer referencia a la ejecución de cuadernos de Python en otro cuaderno de Python como trabajo por lotes. La instantánea se generará una vez finalizada la ejecución de referencia.
  • Ejecución de la API pública: puede programar la ejecución del cuaderno de Python con el cuaderno de ejecutar la API pública, asegúrese de que las propiedades del lenguaje y del kernel en los metadatos del cuaderno de la carga de API pública se establecen correctamente.

Puede supervisar los detalles de ejecución del trabajo del cuaderno de Python en la pestaña de la cinta de opciones Ejecutar:>ver todas las ejecuciones.

Interacción de datos

Puede interactuar con Lakehouse, Warehouses, puntos de conexión de SQL y carpetas de recursos integrados en el cuaderno de Python.

Interacción con Lakehouse

Puede establecer una instancia de Lakehouse como valor predeterminado, o también puede agregar varias instancias de Lakehouse para explorarlas y usarlas en cuadernos.

Si no está familiarizado con la lectura de los objetos de datos como la tabla delta , intente arrastrar y soltar el archivo y la tabla delta en el lienzo del notebook, o use la opción Cargar datos en el menú desplegable del objeto. Notebook inserta automáticamente el fragmento de código en la celda de código y genera código para leer el objeto de datos de destino.

Nota

Si encuentra OOM al cargar un gran volumen de datos, pruebe a usar DuckDB, Polars o PyArrow Dataframe en lugar de Pandas.

Puede encontrar la operación escribir en el almacén del lago de datos en Examinar fragmento de código:>Escribir datos en la tabla delta.

Recorte de pantalla que muestra la operación Escribir en el almacén de lago de datos.

Interacción del almacenamiento y programación de mezcla con T-SQL

Puede agregar almacenes de datos o puntos de conexión de SQL desde el explorador de almacenamiento de Notebook. Del mismo modo, puede arrastrar y colocar las tablas en el lienzo del cuaderno o usar las operaciones rápidas en el menú desplegable de la tabla. Notebook genera automáticamente un fragmento de código para ti. Puede usar las utilidades de notebookutils.data para establecer una conexión con almacenes y consultar los datos mediante la instrucción T-SQL en el contexto de Python.

Recorte de pantalla que muestra los métodos abreviados de tabla de almacén.

Nota

Los puntos de conexión de SQL son de solo lectura aquí.

Carpeta de recursos del bloc de notas

La carpeta de recursos integrados de recursos del cuaderno están disponibles de forma nativa en el cuaderno de Python. Puede interactuar fácilmente con los archivos de la carpeta de recursos integrados mediante código de Python como si estuviera trabajando con el sistema de archivos local. Actualmente, no se admite la carpeta de recursos de entorno.

Operaciones de kernel

El cuaderno de Python admite dos kernels integrados en este momento, son Python 3.10 y Python 3.11, el kernel predeterminado seleccionado es Python 3.11. usted puede cambiar fácilmente entre ellos.

Puede interrumpir, reiniciar o cambiar el kernel en la pestaña Inicio de la cinta de opciones. Interrumpir el kernel en cuadernos de Python es lo mismo que cancelar la celda en un cuaderno de Spark.

Captura de pantalla que muestra las operaciones del kernel.

La salida anómala del kernel hace que la ejecución del código se interrumpa y pierda variables, pero no detiene la sesión del cuaderno.

Hay comandos que pueden provocar la muerte del kernel. Por ejemplo, salir(), exit().

Administración de bibliotecas

Puede usar comandos %pip y %conda para instalaciones insertadas, los comandos admiten bibliotecas públicas y bibliotecas personalizadas.

En el caso de las bibliotecas personalizadas, puede cargar los archivos lib en la carpeta recursos integrados. Se admiten varios tipos de bibliotecas como .whl, .jar, .dll, .py, etc., simplemente intente arrastrar&colocar en el archivo y el fragmento de código se genera automáticamente.

Es posible que tenga que reiniciar el kernel para usar los paquetes actualizados.

Comando mágico de configuración de sesión

De forma similar a personalizar una configuración de sesión de Spark en un cuaderno, también puede usar %%configure en un cuaderno de Python. El cuaderno de Python admite personalizar el tamaño del nodo de cómputo, los puntos de montaje y el lakehouse predeterminado de la sesión del cuaderno. Se pueden usar tanto en actividades de cuaderno interactivo como de canalización. Se recomienda usar %%configure comando al principio del cuaderno, o bien debe reiniciar la sesión del cuaderno para que la configuración surta efecto.

Estas son las propiedades admitidas en el cuaderno de Python %%configure:

%%configure
{
    "vCores": 4, // Recommended values: [4, 8, 16, 32, 64], Fabric will allocate matched memory according to the specified vCores.
    "defaultLakehouse": {  
        // Will overwrites the default lakehouse for current session
        "name": "<lakehouse-name>",
        "id": "<(optional) lakehouse-id>",
        "workspaceId": "<(optional) workspace-id-that-contains-the-lakehouse>" // Add workspace ID if it's from another workspace
    },
    "mountPoints": [
        {
            "mountPoint": "/myMountPoint",
            "source": "abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path>"
        },
        {
            "mountPoint": "/myMountPoint1",
            "source": "abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path1>"
        },
    ],
}

Puede ver la actualización de los recursos de proceso en la barra de estado del cuaderno y supervisar el uso de CPU y memoria del nodo de proceso en tiempo real.

Captura de pantalla que muestra la actualización de recursos de proceso.

NotebookUtils

Las utilidades de notebook (NotebookUtils) son un paquete integrado que le ayudará a realizar fácilmente tareas comunes en Fabric Notebook. Está preinstalado en tiempo de ejecución de Python. Puede usar NotebookUtils para trabajar con sistemas de archivos, para obtener variables de entorno, encadenar cuadernos juntos, acceder al almacenamiento externo y trabajar con secretos.

Puede usar notebookutils.help() para enumerar las API disponibles y también obtener ayuda con métodos, o hacer referencia al documento NotebookUtils.

Utilidades de datos

Nota

  • Actualmente, la característica está en versión preliminar.
  • El contrato de API puede cambiar en el futuro próximo.

Puede usar notebookutils.data utilidades para establecer una conexión con el origen de datos proporcionado y, a continuación, leer y consultar datos mediante la instrucción T-SQL.

Ejecute el comando siguiente para obtener información general de los métodos disponibles:

notebookutils.data.help()

Salida:

Help on module notebookutils.data in notebookutils:

NAME
    notebookutils.data - Utility for read/query data from connected data sources in Fabric

FUNCTIONS
    connect_to_artifact(artifact: str, workspace: str = '', artifact_type: str = None) -> pyodbc.Connection
        Establishes and returns an ODBC connection to a specified artifact within a workspace 
        for subsequent data queries using T-SQL.
        
        :param artifact: The name or ID of the artifact to connect to.
        :param workspace:  Optional; The workspace in which the provided artifact is located, if not provided,
                             use the workspace where the current notebook is located.
        :param artifactType: Optional; The type of the artifact, Currently supported type are Lakehouse, Warehouse and MirroredDatabase. 
                                If not provided, the method will try to determine the type automatically.
        :return: A connection object to the specified artifact.
        
        :raises UnsupportedArtifactException: If the specified artifact type is not supported to connect.
        :raises ArtifactNotFoundException: If the specified artifact is not found within the workspace.
        
        Examples:
            sql_query = "SELECT DB_NAME()"
            with notebookutils.data.connect_to_artifact("ARTIFACT_NAME_OR_ID", "WORKSPACE_ID", "ARTIFACT_TYPE") as conn:
                cursor = conn.cursor()
                cursor.execute(sql_query)
                rows = cursor.fetchall()
                for row in rows:
                    print(row)
    
    help(method_name=None)
        Provides help for the notebookutils.data module or the specified method.
        
        Examples:
        notebookutils.data.help()
        notebookutils.data.help("connect_to_artifact")
        :param method_name: The name of the method to get help with.

DATA
    __all__ = ['help', 'connect_to_artifact']

FILE
    /home/trusted-service-user/jupyter-env/python3.11/lib/python3.11/site-packages/notebookutils/data.py

Consulta de datos de Lakehouse

conn = notebookutils.data.connect_to_artifact("lakehouse_name_or_id", "optional_workspace_id", "optional_lakehouse_type")

cursor = conn.cursor()
cursor.execute("SELECT * FROM sys.schemas;")
rows = cursor.fetchall()
for row in rows:
    print(row)

Consulta de datos desde el almacenamiento

conn = notebookutils.data.connect_to_artifact("warehouse_name_or_id", "optional_workspace_id", "optional_warehouse_type")

cursor = conn.cursor()
cursor.execute("SELECT * FROM sys.schemas;")
rows = cursor.fetchall()
for row in rows:
    print(row)

Nota

  • Las utilidades de datos de NotebookUtils solo están disponibles en el cuaderno de Python por ahora.
  • Limitación conocida: para connect_to_artifact API, el objeto devuelto conn inicializa internamente un token PBI para autenticar al usuario al conectarse al origen de datos. Sin embargo, no admite la actualización de tokens. Actualmente, el token PBI es válido solo durante una hora, cualquier consulta que supere una hora producirá un error debido al problema de expiración del token.

Examinar fragmentos de código

Puede encontrar fragmentos de código útiles de Python en la pestaña Editar ->Examinar fragmento de código; ya están disponibles nuevos ejemplos de Python. Puede aprender del fragmento de código de Python para empezar a explorar el cuaderno.

Captura de pantalla en la que se muestra dónde examinar fragmentos de código de Python.

El vínculo semántico es una característica que permite establecer una conexión entre modelos semánticos y la ciencia de datos de Synapse en Microsoft Fabric. Se admite de forma nativa en el cuaderno de Python. Los ingenieros de BI y los desarrolladores de Power BI pueden usar la conexión semántica y administrar fácilmente el modelo semántico. Lea el documento público para obtener más información sobre el vínculo semántico.

Visualización

Además de representar gráficos utilizando bibliotecas, la función de visualización integrada permite convertir DataFrames en visualizaciones de datos en formatos ricos. Puede usar la función display() en tramas de datos para generar la vista de tabla de trama de datos enriquecida y la vista de gráfico.

Captura de pantalla que muestra la experiencia de visualización en el cuaderno de Python.

Nota

Las configuraciones del gráfico se conservarán en el cuaderno de Python, lo que significa que después de volver a ejecutar la celda de código, si el esquema de trama de datos de destino no ha cambiado, los gráficos guardados todavía se conservan.

IntelliSense de código

El cuaderno de Python está integrado en Pylance para mejorar la experiencia de codificación de Python, y Pylance es el servicio de lenguaje predeterminado para Python en Visual Studio Code. Proporciona muchas funciones fáciles de usar, como el resaltado de palabras clave, información rápida, finalización de código, información de parámetros y detección de errores de sintaxis. Además, la Pylance tiene un mejor rendimiento cuando el cuaderno es largo.

Funcionalidades de ciencia de datos

Visite la documentación de ciencia de datos en Microsoft Fabric para aprender más sobre la experiencia de ciencia de datos e inteligencia artificial en Fabric. Aquí se enumeran algunas características clave de ciencia de datos que se admiten de forma nativa en el cuaderno de Python.

  • Data Wrangler: Data Wrangler es una herramienta basada en cuadernos que proporciona una interfaz inmersiva para el análisis de datos de exploración. Esta característica combina una presentación de datos similar a la cuadrícula con estadísticas de resumen dinámico, visualizaciones integradas y una biblioteca de operaciones comunes de limpieza de datos. Proporciona limpieza de datos, transformación de datos e integración, lo que acelera la preparación de datos con Data Wrangler.

  • MLflow: un experimento de aprendizaje automático es la unidad principal de organización y control de todas las ejecuciones de aprendizaje automático relacionadas. Una ejecución corresponde a una sola ejecución de código de modelo.

  • Registro automático de Fabric: Synapse Data Science in Microsoft Fabric incluye el registro automático, lo que reduce significativamente la cantidad de código necesario para registrar automáticamente los parámetros, las métricas y los elementos de un modelo de aprendizaje automático durante el entrenamiento.

    El registro automático amplía las funcionalidades de seguimiento de MLflow. El registro automático puede capturar varias métricas, como la precisión, la pérdida, la puntuación F1 y las métricas personalizadas que defina. Mediante el registro automático, los desarrolladores y científicos de datos pueden realizar un seguimiento sencillo y comparar el rendimiento de diferentes modelos y experimentos sin seguimiento manual.

  • Copilot: Copilot para cuadernos de ciencia de datos e ingeniería de datos es un asistente de inteligencia artificial que le ayuda a analizar y visualizar datos. Funciona con tablas de lakehouse, conjuntos de datos de Power BI y tramas de datos pandas/spark, lo que proporciona respuestas y fragmentos de código directamente en el cuaderno. Puede usar el panel de chat de Copilot y Char-magics en el cuaderno de notas, y la inteligencia artificial proporciona respuestas o código para copiar en él.

Limitaciones conocidas de la versión preliminar pública

  • No se garantiza la experiencia en tiempo real de la agrupación para cada ejecución de cuadernos de Python. La hora de inicio de la sesión puede retrasarse hasta 3 minutos si la ejecución del cuaderno no alcanza el grupo activo. A medida que el uso del cuaderno de Python crece, nuestros métodos de agrupación inteligente incrementarán gradualmente la asignación del grupo activo para satisfacer la demanda.

  • La integración con el entorno no está disponible en el cuaderno de Python en la versión preliminar pública.

  • Configurar el tiempo de espera de sesión no está disponible por ahora.

  • Copilot puede generar la instrucción Spark, que puede no ser ejecutable en el cuaderno de Python.

  • Actualmente, Copilot en el cuaderno de Python no es totalmente compatible con varias regiones. El proceso de implementación sigue en curso, por favor manténgase atento a medida que seguimos implementando soporte técnico en más regiones.