Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
Le notebook Python est une nouvelle expérience basée sur le notebook Fabric. Il s’agit d’un outil polyvalent et interactif conçu pour l’analyse de données, la visualisation et le Machine Learning. Il offre une expérience de développement fluide pour l’écriture et l’exécution de code Python. Cette fonctionnalité constitue un outil essentiel pour les scientifiques des données, les analystes et les développeurs décisionnels, en particulier pour les tâches d’exploration qui n’ont pas besoin de Big Data et de l’informatique distribuée.
Important
Cette fonctionnalité est en version préliminaire.
Avec un bloc-notes Python, vous pouvez obtenir :
Plusieurs noyaux Python intégrés : les notebooks Python offrent un environnement de codage Python pur sans Spark, avec deux versions du noyau Python, Python 3.10 et 3.11, disponibles par défaut, et les fonctionnalités ipython natives prises en charge telles que les commandes iPyWidget, magic.
Économique : le nouveau notebook Python offre des avantages économiques en s’exécutant sur un cluster à nœud unique avec 2 vCores et 16 Go de mémoire par défaut. Cette configuration garantit une utilisation efficace des ressources pour les projets d’exploration de données avec une plus petite taille de données.
Lakehouse et Resources sont disponibles en mode natif : Fabric Lakehouse ainsi que les Ressources intégrées au Notebook sont disponibles en mode natif dans le notebook Python. Cette fonctionnalité permet aux utilisateurs d’apporter facilement les données dans le notebook Python, en faisant simplement glisser-déplacer pour obtenir l’extrait de code.
Combiner la programmation avec T-SQL : le notebook Python offre un moyen simple d’interagir avec les points de terminaison Data Warehouse et SQL dans l’explorateur. À l’aide du connecteur de données notebookutils, vous pouvez facilement exécuter les scripts T-SQL dans le contexte de Python.
Prise en charge des bibliothèques d’analytique des données populaires : les notebooks Python sont fournis avec des bibliothèques préinstallées telles que DuckDB, Polars et Scikit-learn, fournissant un kit de ressources complet pour la manipulation des données, l’analyse et le Machine Learning.
IntelliSense avancé : le notebook Python adopte Pylance comme moteur d'intelliSense, ainsi que d'autres services linguistiques personnalisés par Fabric, afin d'offrir aux développeurs du notebook une expérience de codage à la pointe de la technologie.
NotebookUtils & lien sémantique: des kits d'outils API puissants vous permettent d'utiliser facilement les fonctionnalités Fabric et Power BI via une approche axée sur le code.
Fonctionnalités de visualisation enrichie : à l’exception de la fonction « Table » d’aperçu de trame de données populaire et de la fonction « Chart », nous prenons également en charge les bibliothèques de visualisation populaires telles que Matplotlib, Seaborn et Plotly. PowerBIClient prend également en charge ces bibliothèques pour aider les utilisateurs à mieux comprendre les modèles de données et les insights.
Fonctionnalités courantes de Fabric Notebook : toutes les fonctionnalités au niveau de Notebook sont naturellement applicables au notebook Python, telles que les fonctionnalités d’édition, l’enregistrement automatique, la collaboration, le partage et la gestion des autorisations, l’intégration Git, l’importation/exportation, etc.
Capacités complètes en science des données : la boîte à outils avancée low-code Data Wrangler, le cadre d'apprentissage automatique MLFlow et le puissant Copilot sont tous disponibles sur le notebook Python.
Comment accéder à Python Notebook
Après avoir ouvert un bloc-notes Fabric, vous pouvez basculer vers Python dans le menu déroulant du langage sous l'onglet Accueil et convertir toute la configuration du bloc-notes en Python.
La plupart des fonctionnalités courantes sont prises en charge au niveau du notebook. Vous pouvez faire référence aux articles Comment utiliser des notebooks Microsoft Fabric et Développer, exécuter et gérer des notebooks Microsoft Fabric pour découvrir leur utilisation détaillée. Ici, nous listons certaines fonctionnalités clés spécifiques aux scénarios Python.
Exécuter des notebooks Python
Le notebook Python prend en charge plusieurs méthodes d’exécution de travail :
- Exécution interactive : vous pouvez exécuter un notebook Python de manière interactive comme un notebook Jupyter natif.
- Planifier l’exécution : vous pouvez utiliser l'expérience du planificateur léger sur la page des paramètres du notebook pour exécuter le notebook Python en tant que programme de traitement par lots.
- Exécution de pipeline : vous pouvez orchestrer des notebooks Python en tant qu’activités de notebook dans un pipeline de données. L’instantané est généré après l’exécution du travail.
-
Exécution de référence : vous pouvez utiliser
notebookutils.notebook.run()
ounotebookutils.notebook.runMultiple()
pour référencer l'exécution de notebooks Python dans un autre notebook Python en tant que programme de traitement par lots. La capture instantanée sera générée une fois l’exécution de référence terminée. - Exécution de l'API publique : vous pouvez planifier l'exécution de votre notebook Python avec l'API publique d'exécution de notebook, assurez-vous que les propriétés de langue et de noyau dans les métadonnées du notebook de la charge utile de l'API publique sont correctement définies.
Vous pouvez surveiller les détails de l’exécution d'un notebook Python sous l’onglet de ruban Exécuter ->Afficher toutes les exécutions.
Interaction des données
Vous pouvez interagir avec un lakehouse, des entrepôts, des points de terminaison SQL et des dossiers de ressources intégrées sur le notebook Python.
Remarque
Le runtime Python Notebook est préinstallé avec delta-rs et bibliothèques duckdb pour prendre en charge la lecture et l’écriture de données Delta Lake. Toutefois, notez que certaines fonctionnalités Delta Lake peuvent ne pas être entièrement prises en charge pour l’instant. Pour plus d’informations et les dernières mises à jour, consultez les sites web officiels delta-rs et duckdb.
Interaction Lakehouse
Vous pouvez définir un lakehouse par défaut, ou vous pouvez également ajouter plusieurs lakehouses pour les explorer et les utiliser dans les notebooks.
Si vous n’êtes pas familiarisé avec la lecture des objets de données tels que les tables delta, essayez de faire glisser-déplacer le fichier et la table delta vers le canevas du notebook, ou utilisez Charger les données dans le menu déroulant de l’objet. Notebook insère automatiquement l’extrait de code dans la cellule de code et génère du code pour lire l’objet de données cible.
Remarque
Si vous rencontrez OOM lors du chargement d’un grand volume de données, essayez d’utiliser DuckDB, Polars ou PyArrow au lieu de pandas.
Vous trouverez l’opération d’écriture de lakehouse dans Parcourir l’extrait de code ->Écrire des données dans la table delta.
Interaction avec l'entrepôt et programmation mixte avec T-SQL
Vous pouvez ajouter des entrepôts de données ou des points de terminaison SQL à partir de l’explorateur d’entrepôts de Notebook. De même, vous pouvez faire glisser-déplacer les tables dans le canevas du notebook ou utiliser les opérations de raccourci dans le menu déroulant de la table. Notebook génère automatiquement l’extrait de code pour vous. Vous pouvez utiliser les utilitaires notebookutils.data
pour établir une connexion avec des entrepôts et interroger les données à l’aide d’instructions T-SQL dans le contexte de Python.
Remarque
Les points de terminaison SQL sont en lecture seule ici.
Dossier des ressources du notebook
Les ressources du dossier de ressources intégrées au Notebook sont disponibles en mode natif dans le Notebook Python. Vous pouvez facilement interagir avec les fichiers dans le dossier de ressources intégrées à l’aide du code Python comme si vous travailliez avec votre système de fichiers local. Actuellement, le dossier de ressources Environment n’est pas pris en charge.
Opérations de noyau
Le notebook Python prend actuellement en charge deux noyaux intégrés, Python 3.10 et Python 3.11, le noyau sélectionné par défaut étant Python 3.11. vous pouvez facilement basculer entre eux.
Vous pouvez interrompre, redémarrer ou changer de noyau sur l'onglet Accueil du ruban. L’interruption du noyau dans les notebooks Python est identique à l’annulation de cellule dans le notebook Spark.
La sortie anormale du noyau entraîne l’interruption de l’exécution du code et la perte de variables, mais elle n’arrête pas la session du notebook.
Il existe des commandes qui peuvent entraîner la mort du noyau. Par exemple, quit(), exit().
Gestion des bibliothèques
Vous pouvez utiliser les commandes %pip et %conda pour les installations inline ; les commandes prennent en charge les bibliothèques publiques et les bibliothèques personnalisées.
Pour les bibliothèques personnalisées, vous pouvez charger les fichiers lib dans le dossier de ressources intégrées. Nous prenons en charge plusieurs types de bibliothèques comme .whl, .jar, .dll, .py, etc. Il suffit de glisser-déplacer vers le fichier et l’extrait de code est généré automatiquement.
Vous devrez peut-être redémarrer le noyau pour utiliser les packages mis à jour.
Pour mieux comprendre et utiliser clairement des commandes similaires, reportez-vous au tableau ci-dessous.
Command/Syntax | Objectif principal | Fonctionnement dans Jupyter Notebook | Cas d’utilisation classique | Remarques |
---|---|---|---|---|
%pip install package |
Installer des packages Python | Exécute pip dans le noyau Python du notebook | Méthode recommandée pour installer des packages | Dans le notebook Python, identique à !pip ; ne redémarre pas automatiquement le noyau |
!pip install package |
Installer des packages Python via l’interpréteur de commandes | Exécute pip en tant que commande shell | Autre moyen d’installer des packages | Dans le notebook Python, identique à %pip ; ne redémarre pas automatiquement le noyau |
import sys; sys.exit(0) |
Redémarrer le noyau du notebook | Redémarre immédiatement le noyau | Redémarrer le noyau par programmation | Efface toutes les variables et états ; non recommandé d’utiliser directement |
notebookutils.session.restartPython() |
Redémarrer le noyau du notebook | Appels sys.exit(0) en interne |
Méthode recommandée pour redémarrer le noyau | API officielle, plus sûre et plus compatible que l’utilisation sys.exit(0) directe |
Remarque
- Dans Python Notebook,
%pip
et!pip
ont le même comportement : les deux packages d’installation dans l’environnement du noyau actuel, et aucun ne redémarre automatiquement le noyau après l’installation. - Si vous devez redémarrer le noyau (par exemple, après avoir installé certains packages), il est recommandé d’utiliser
notebookutils.session.restartPython()
au lieu deimport sys; sys.exit(0)
.-
notebookutils.session.restartPython()
est une API officielle qui encapsulesys.exit(0)
, et il est plus sûr et plus compatible dans les environnements de notebook.
-
- Il n’est pas recommandé d’utiliser
sys.exit(0)
directement, sauf si nécessaire.
Commande magique de configuration de session
Comme pour personnaliser une configuration de session Spark dans le notebook, vous pouvez également utiliser %%configure dans le notebook Python. Le notebook Python permet de personnaliser la taille des nœuds de calcul, les points de montage et l'entrepôt par défaut de la session du notebook. Ils peuvent être utilisés dans les activités de notebook interactives et de pipeline. Nous vous recommandons d’utiliser la commande %%configure au début de votre notebook, sinon vous devez redémarrer la session de notebook pour que les paramètres prennent effet.
Voici les propriétés prises en charge dans la commande %%configure du notebook Python :
%%configure -f
{
"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>"
},
],
}
Vous pouvez afficher la mise à jour des ressources de calcul sur la barre d’état du notebook et surveiller l’utilisation du processeur et de la mémoire du nœud de calcul en temps réel.
NotebookUtils
Notebook Utilities (NotebookUtils) est un package intégré pour vous aider à effectuer facilement des tâches courantes dans Fabric Notebook. Il est préinstallé sur le runtime Python. Vous pouvez utiliser NotebookUtils pour utiliser efficacement des systèmes de fichiers, pour récupérer des variables d’environnement, enchaîner des notebooks, accéder au stockage externe et utiliser des secrets.
Vous pouvez utiliser notebookutils.help()
pour répertorier les API disponibles et obtenir de l’aide sur les méthodes ou référencer la documentation sur NotebookUtils.
Utilitaires de données
Remarque
Actuellement, la fonctionnalité est en préversion.
Vous pouvez utiliser des utilitaires notebookutils.data
pour établir une connexion avec une source de données fournie, puis lire et interroger des données à l’aide d’instructions T-SQL.
Exécutez la commande suivante pour obtenir une vue d’ensemble des méthodes disponibles :
notebookutils.data.help()
Sortie :
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 = '', **kwargs)
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.
:param **kwargs Optional: Additional optional configuration. Supported keys include:
- tds_endpoint : Allow user to specify a custom TDS endpoint to use for connection.
: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:
df = conn.query(sql_query)
display(df)
help(method_name: str = '') -> 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.10/lib/python3.10/site-packages/notebookutils/data.py
Interroger des données à partir d’un lakehouse
conn = notebookutils.data.connect_to_artifact("lakehouse_name_or_id", "optional_workspace_id", "optional_lakehouse_type")
df = conn.query("SELECT * FROM sys.schemas;")
Interroger des données à partir d’un entrepôt
conn = notebookutils.data.connect_to_artifact("warehouse_name_or_id", "optional_workspace_id", "optional_warehouse_type")
df = conn.query("SELECT * FROM sys.schemas;")
Remarque
Les utilitaires de données dans NotebookUtils sont disponibles uniquement sur le notebook Python pour l’instant.
Parcourir les extraits de code
Vous trouverez des extraits de code Python utiles sur l’onglet Modifier ->Parcourir les extraits de code. De nouveaux exemples Python sont désormais disponibles. Vous pouvez tirer parti des extraits de code Python pour commencer à explorer le notebook.
Lien sémantique
Le lien sémantique est une fonctionnalité qui vous permet d’établir une connexion entre les modèles sémantiques et Science des données Synapse dans Microsoft Fabric. Il est pris en charge de manière native sur le cahier Python. Les ingénieurs décisionnels et les développeurs Power BI peuvent utiliser facilement la connexion à des liens sémantiques et gérer le modèle sémantique. Lisez le document public pour en savoir plus sur le lien sémantique.
Visualisation
En plus de dessiner des graphiques avec des bibliothèques, la fonction de visualisation intégrée vous permet de transformer les trames de données en visualisations de données de format enrichi. Vous pouvez utiliser la fonction afficher() sur les dataframes pour produire la vue de table enrichie et la vue graphique.
Remarque
Les configurations de graphique sont conservées dans le notebook Python, ce qui signifie qu’après avoir réexécuté la cellule de code, si le schéma de trame de données cible n’a pas changé, les graphiques enregistrés sont toujours conservés.
Code IntelliSense
Le notebook Python utilise également Pylance comme serveur de langage. Pour plus d'informations, voir Améliorer le développement Python avec Pylance.
Fonctionnalités de science des données
Consultez les documentations sur la science des données dans Microsoft Fabric pour en savoir plus sur la science des données et l’expérience de l’IA dans Fabric. Ici, nous listons quelques fonctionnalités clés de science des données prises en charge en mode natif sur le notebook Python.
Data Wrangler : un outil basé sur un notebook qui offre aux utilisateurs une interface immersive pour effectuer une analyse de données exploratoire. Cette fonctionnalité combine un affichage de données de type grille avec des statistiques de synthèse dynamiques, des visualisations intégrées et une bibliothèque d’opérations courantes de nettoyage des données. Il fournit le nettoyage des données, la transformation des données et l’intégration, ce qui accélère la préparation des données avec Data Wrangler.
MLflow : une expérience de Machine Learning est l’unité principale d’organisation et de contrôle pour toutes les exécutions de Machine Learning associées. Une exécution correspond à une seule exécution de code de modèle.
Journalisation automatique (autologging) Fabric : la Science des données Synapse dans Microsoft Fabric inclut l’autologging, qui réduit considérablement la quantité de code nécessaire pour journaliser automatiquement les paramètres, les métriques et les éléments d’un modèle Machine Learning pendant l’entraînement.
L'Autologging étend les capacités de suivi MLflow. La journalisation automatique peut capturer différentes métriques, notamment la précision, la perte, le score F1 et les métriques personnalisées que vous définissez. Grâce à la journalisation automatique, les développeurs et les scientifiques des données peuvent facilement suivre et comparer les performances de différents modèles et expériences sans avoir besoin d’un suivi manuel.
Copilot : Copilot pour les notebooks de Science des données et d’Ingénieurs de données est un assistant IA qui vous aide à analyser et visualiser des données. Il fonctionne avec des tables lakehouse, des jeux de données Power BI et des DataFrames pandas/spark, fournissant des réponses et des extraits de code directement dans le notebook. Vous pouvez utiliser le panneau de conversation Copilot et les char-magics dans le notebook, et l'IA fournit des réponses ou du code à copier dans votre notebook.
Limitations connues de l'aperçu public
L'expérience du pool en direct n'est pas garantie pour toutes les exécutions du notebook Python. L’heure de début de la session peut prendre jusqu’à 3 minutes si l’exécution du notebook n’atteint pas le pool actif. À mesure que l’utilisation du notebook Python augmente, nos méthodes de regroupement intelligentes augmentent progressivement l’allocation de pool dynamique pour répondre à la demande.
L’intégration de l’environnement n’est pas disponible sur le notebook Python en préversion publique.
Pour l’instant, le réglage du délai d’expiration de la session n'est pas disponible.
Copilot peut générer une instruction Spark, qui peut ne pas être exécutable dans le notebook Python.
Actuellement, Copilot sur le notebook Python n’est pas entièrement pris en charge dans plusieurs régions. Le processus de déploiement est toujours en cours ; restez à l'écoute alors que nous continuons à déployer la prise en charge dans d'autres régions.