Utiliser l’expérience Python sur Notebook
Remarque
Actuellement, la fonctionnalité est en préversion.
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 des 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. Cela en fait 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 ne nécessitent pas le Big Data et l’informatique distribuée.
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 iPyWidget, commandes magiques.
économique: le nouveau notebook Python offre des avantages économiques en s’exécutant sur un cluster à nœud unique avec 2vCores/16 Go de mémoire par défaut. Cela 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. Cela permet aux utilisateurs d'apporter facilement les données dans le notebook Python, il suffit d'essayer le glisser-déposer 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, l’analyse et le machine learning des données.
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 » 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 pour fabric Notebook: toutes les fonctionnalités de niveau Notebook sont naturellement applicables pour le 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 en tant que niveau notebook, vous pouvez faire référence aux Comment utiliser des notebooks Microsoft Fabric et Développer, exécuter et gérer des notebooks Microsoft Fabric pour découvrir l’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 bloc-notes 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 Lakehouse, Warehouses, points de terminaison SQL et dossiers de ressources intégrées sur le notebook Python.
Interaction Lakehouse
Vous pouvez définir un Lakehouse comme valeur par défaut, ou vous pouvez également ajouter plusieurs Lakehouses pour les explorer et les utiliser dans les blocs-notes.
Si vous n’êtes pas familiarisé avec la lecture des objets de données comme table delta, faites glisser-déplacer le fichier et la table delta vers le canevas du bloc-notes ou utilisez le Charger des 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 write 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 et déplacer les tableaux dans le canevas du bloc-notes ou utiliser les opérations de raccourci dans le menu déroulant du tableau. Notebook génère automatiquement l’extrait de code pour vous. Vous pouvez utiliser les utilitaires notebookutils.data
pour établir une connexion avec Warehouses et interroger les données à l’aide de l’instruction 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 travaillez avec votre système de fichiers local. Actuellement, le dossier de ressources d’environnement n’est pas pris en charge.
Opérations du noyau
Les notebooks Python prennent en charge deux noyaux intégrés pour le moment, ils sont Python 3.10 et Python 3.11, le noyau sélectionné par défaut est 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 la 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 %pip et %conda commandes 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 les ressources intégrées dossier. Nous prenons en charge plusieurs types de bibliothèques comme .whl, .jar, .dll, .py, etc., il suffit de glisser-déposer 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.
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 %%configure commande au début de votre bloc-notes, ou vous devez redémarrer la session de notebook pour que les paramètres prennent effet.
Voici les propriétés prises en charge dans le notebook 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>"
},
],
}
Vous pouvez afficher les ressources de calcul mises à jour 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 travailler avec des systèmes de fichiers, pour obtenir des variables d’environnement, pour chaîner des notebooks ensemble, pour 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 faire référence à la documentation NotebookUtils.
Utilitaires de données
Remarque
- Actuellement, la fonctionnalité est en préversion.
- Le contrat d’API peut changer dans un avenir proche.
Vous pouvez utiliser notebookutils.data
utilitaires pour établir une connexion avec une source de données fournie, puis lire et interroger des données à l’aide de l’instruction 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 = 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
Interroger des données à partir 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)
Interroger des données à partir de l’entrepôt
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)
Remarque
- Les utilitaires de données dans NotebookUtils sont disponibles uniquement sur le notebook Python pour l’instant.
- Limitation connue : pour
connect_to_artifact
API, l’objetconn
retourné initialise en interne un jeton PBI pour authentifier l’utilisateur lors de la connexion à la source de données. Toutefois, elle ne prend pas en charge le rafraîchissement des jetons. Actuellement, le jeton PBI n’est valide que pendant une heure, toute requête dépassant une heure échoue en raison d’un problème d’expiration de jeton.
Parcourir les extraits de code
Vous trouverez des extraits de code Python utiles sous onglet Modifier->Parcourir l’extrait de code, de nouveaux exemples Python sont désormais disponibles. Vous pouvez tirer parti de l'extrait 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 modèles sémantiques et Synapse Data Science 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 DataFrames 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 a intégré Pylance pour améliorer l’expérience de programmation en Python ; Pylance est le service de langage par défaut pour Python dans Visual Studio Code. Il fournit de nombreuses fonctions faciles à utiliser, telles que la mise en surbrillance des mots clés, les informations rapides, la saisie semi-automatique du code, les informations de paramètre et la détection d’erreurs de syntaxe. En outre, Pylance offre de meilleures performances lorsque le notebook est long.
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: Data Wrangler est un outil basé sur un notebook qui fournit une interface immersive pour l’analyse des données d’exploration. 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 de l’organisation et du contrôle pour toutes les exécutions de Machine Learning associées. Une exécution correspond à une seule exécution du 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. En utilisant l’autologging, 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 suivi manuel.
Copilot: Copilot for Data Science and Data Engineering notebooks 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. Le début de la session peut prendre jusqu’à 3 minutes si l’exécution du notebook ne se connecte pas au pool en direct. Puisque l’utilisation des notebooks Python est en augmentation, nos méthodes de regroupement intelligentes augmenteront progressivement l'allocation au pool en direct 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.