Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette section fournit un guide pour le développement de blocs-notes et de travaux dans Azure Databricks à l’aide du langage Python, y compris des didacticiels pour les flux de travail et les tâches courants, ainsi que des liens vers des API, des bibliothèques et des outils.
Pour commencer :
- Importer du code : importez votre propre code à partir de fichiers ou de référentiels Git, ou essayez un tutoriel répertorié ci-dessous. Databricks recommande d’apprendre avec des notebooks Databricks interactifs.
- Exécutez votre code sur un cluster : créez un cluster vous-même ou vérifiez que vous disposez des autorisations nécessaires pour utiliser un cluster partagé. Attachez votre notebook au cluster et exécutez le notebook.
- Vous pouvez ensuite :
- Utiliser des jeux de données plus volumineux avec Apache Spark
- Ajouter des visualisations
- Automatisez votre charge de travail comme un emploi
- Utiliser le Machine Learning pour analyser vos données
- Développer dans des IDE
- Exécuter et gérer les tests unitaires Python dans l'espace de travail
Tutoriels
Les tutoriels ci-dessous fournissent des exemples de code et de notebooks pour en savoir plus sur les workflows courants. Consultez Importer un notebook pour obtenir des instructions sur l’importation d’exemples de notebooks dans votre espace de travail.
Ingénierie des données
- Le Tutoriel : charger et transformer des données en utilisant Apache Spark DataFrames fournit une procédure pas à pas pour vous permettre de découvrir Apache Spark DataFrames pour la préparation et l’analytique des données.
- Tutoriel : Créer et gérer des tables Delta Lake.
- Tutoriel : Créer un pipeline ETL à l’aide de la capture de données modifiées.
Science des données et machine learning
- Démarrage d’Apache Spark DataFrames pour la préparation et l’analytique des données : Tutoriel : charger et transformer des données en utilisant Apache Spark DataFrames
- Tutorial : modèles ML classiques de bout en bout sur Azure Databricks. Pour obtenir d’autres exemples, consultez des didacticiels sur l’IA et le Machine Learning.
- AutoML vous permet de commencer rapidement à développer des modèles Machine Learning sur vos propres jeux de données. Son approche transparente génère des notebooks avec le workflow Machine Learning complet, que vous pouvez cloner, modifier et réexécuter.
- Gérer le cycle de vie de modèles dans Unity Catalog
Debug dans les notebooks Python
L’exemple de notebook montre comment utiliser, dans les notebooks Databricks, le débogueur de Python (pdb). Pour utiliser le débogueur Python, vous devez exécuter Databricks Runtime 11.3 LTS ou version ultérieure.
Avec Databricks Runtime 12.2 LTS et versions ultérieures, vous pouvez utiliser l’explorateur variable pour suivre la valeur actuelle des variables Python dans l’interface utilisateur du notebook. Vous pouvez utiliser l’Explorateur de variables pour observer les valeurs des variables Python à mesure que vous parcourez les points d’arrêt.
Exemple de bloc-notes du débogueur Python
Note
breakpoint() n’est pas pris en charge dans IPython et ne fonctionne donc pas dans les notebooks Databricks. Vous pouvez utiliser import pdb; pdb.set_trace() à la place de breakpoint().
API Python
Le code Python qui s’exécute en dehors de Databricks peut généralement s’exécuter dans Databricks, et vice versa. Si vous avez du code existant, importez-le simplement dans Databricks pour commencer. Pour plus d’informations, consultez Gérer le code avec des notebooks et les dossiers Databricks Git ci-dessous.
Databricks peut exécuter à la fois des charges de travail à machine unique et distribuées Python. Pour l’informatique à machine unique, vous pouvez utiliser Python API et bibliothèques comme d’habitude ; par exemple, pandas et scikit-learn fonctionneront simplement. Pour les charges de travail de Python distribuées, Databricks offre deux API populaires prêtes à l’emploi : PySpark et l’API Pandas sur Spark.
API PySpark
PySpark est l’API de Python officielle pour Apache Spark et combine la puissance de Python et d’Apache Spark. PySpark est plus flexible que l’API Pandas sur Spark et fournit une prise en charge et des fonctionnalités étendues pour la science des données et les fonctionnalités d’ingénierie telles que Spark SQL, Structured Streaming, MLLib et GraphX.
API Pandas sur Spark
Note
Le projet open source Koalas recommande désormais de basculer vers l’API Pandas sur Spark. L’API Pandas sur Spark est disponible sur les clusters qui exécutent Databricks Runtime 10.0 et versions ultérieures. Pour les clusters qui exécutent Databricks Runtime 9.1 LTS et ci-dessous, utilisez Koalas à la place.
pandas est un package Python couramment utilisé par les scientifiques des données pour l’analyse et la manipulation des données. En revanche, pandas n’effectue pas de scale-out pour le Big Data. L’API Pandas sur Spark comble cette lacune en fournissant des API équivalentes à pandas qui fonctionnent sur Apache Spark. Cette API open source est un choix idéal pour les scientifiques des données qui connaissent Pandas, mais pas Apache Spark.
Gérer le code avec des notebooks et des répertoires Git de Databricks
NotebooksDatabricks prennent en charge Python. Ces notebooks fournissent des fonctionnalités similaires à celles de Jupyter, mais avec des ajouts tels que des visualisations intégrées à l’aide du Big Data, des intégrations Apache Spark pour le débogage et la supervision des performances et des intégrations MLflow pour le suivi des expériences de Machine Learning. Commencez en important un notebook. Une fois que vous avez accès à un cluster, vous pouvez attacher un notebook au cluster et exécuter le notebook.
Conseil
Pour réinitialiser l’état de votre bloc-notes, redémarrez le noyau iPython. Pour les utilisateurs Jupyter, l’option « redémarrer le noyau » dans Jupyter correspond au démarrage d’une nouvelle session dans Databricks. Pour redémarrer le noyau dans un bloc-notes Python, cliquez sur le sélecteur compute dans la barre d’outils du bloc-notes et pointez sur le cluster attaché ou l’entrepôt SQL dans la liste pour afficher un menu latéral. Sélectionnez Nouvelle session. Cette opération démarre une nouvelle session, qui redémarre le processus de Python.
Les Dossiers Git Databricks permettent aux utilisateurs de synchroniser des notebooks et d’autres fichiers avec des référentiels Git. Les dossiers Git Databricks aident à gérer le contrôle de version et la collaboration du code, et peuvent simplifier l’importation d’un référentiel complet de code dans Azure Databricks, l’affichage des versions antérieures des notebooks et l’intégration avec le développement IDE. Commencez en clonant un référentiel Git distant. Vous pouvez ensuite ouvrir ou créer des notebooks avec le clone du référentiel, attacher le notebook à un cluster et exécuter le notebook.
Clusters et bibliothèques
Azure Databricks compute fournit la gestion des calculs pour les clusters de toute taille : des clusters à nœud unique jusqu’à des clusters volumineux. Vous pouvez personnaliser le matériel et les bibliothèques de cluster en fonction de vos besoins. Les scientifiques des données commencent généralement à travailler en créant un cluster ou en utilisant un cluster partagé existant. Une fois que vous avez accès à un cluster, vous pouvez attacher un notebook au cluster ou exécuter un travail sur le cluster.
- Pour les petites charges de travail qui nécessitent uniquement des nœuds uniques, les scientifiques des données peuvent utiliser lescalculs à nœud unique pour réduire les coûts.
- Pour des conseils détaillés, consultez Recommandations pour la configuration de l’ordinateur
- Les administrateurs peuvent configurer des stratégies de cluster pour simplifier et guider la création du cluster.
Azure Databricks clusters utilisent un Runtime Databricks, qui fournit de nombreuses bibliothèques populaires prêtes à l’emploi, notamment Apache Spark, Delta Lake, pandas, etc. Vous pouvez également installer des bibliothèques de Python tierces ou personnalisées à utiliser avec des notebooks et des travaux.
- Commencez par les bibliothèques par défaut dans les Notes de publication sur les versions et la compatibilité de Databricks Runtime. Utilisez Databricks Runtime pour Machine Learning pour les charges de travail machine learning. Pour obtenir la liste complète des bibliothèques préinstallées, consultez les Notes de versions et compatibilité de Databricks Runtime.
- Personnalisez votre environnement à l’aide de Bibliothèques Python à portée de bloc-notes, ce qui vous permet de modifier votre notebook ou votre environnement de travail avec des bibliothèques à partir de PyPI ou d’autres référentiels. La commande magique
%pip install my_libraryinstallemy_librarysur tous les nœuds de votre cluster actuellement attaché, mais n'interfère pas avec les autres charges de travail sur les nœuds de calcul en mode d'accès standard. - Installez des bibliothèques non Python en tant que bibliothèques à portée de calcul si nécessaire.
- Pour plus d’informations, consultez Installer des bibliothèques.
Visualisations
Azure Databricks Python notebooks disposent d'une prise en charge intégrée de nombreux types de visualisations. Vous pouvez également utiliser des visualisations héritées.
Vous pouvez également visualiser des données à l’aide de bibliothèques tierces ; certaines sont préinstallées dans Databricks Runtime, mais vous pouvez également installer des bibliothèques personnalisées. Les options les plus courantes sont les suivantes :
Tâches
Vous pouvez automatiser les charges de travail Python sous forme de jobs planifiés ou déclenchés dans Databricks. Les travaux peuvent exécuter des notebooks, des scripts Python et des fichiers de roue Python.
- Créez et mettez à jour des travaux à l’aide de l’interface utilisateur Databricks ou de l’API REST Databricks.
- Le sdk Databricks Python vous permet de créer, modifier et supprimer des travaux par programmation.
- L’interface CLI Databricks fournit une interface de ligne de commande pratique pour automatiser les tâches.
Conseil
Pour planifier un script Python au lieu d’un notebook, utilisez le champ spark_python_task sous tasks dans le corps d'une requête de création de tâche.
Apprentissage automatique
Databricks prend en charge un large éventail de charges de travail de Machine Learning (ML), notamment le ML traditionnel sur les données tabulaires, le Deep Learning pour le traitement de la vision par ordinateur et du langage naturel, les systèmes de recommandation, l’analytique des graphiques, etc. Pour obtenir des informations générales concernant l’apprentissage automatique sur Databricks, consultez IA et apprentissage automatique sur Databricks.
Pour les algorithmes ML, vous pouvez utiliser des bibliothèques préinstallées dans Databricks Runtime pour Machine Learning, qui inclut des outils de Python populaires tels que scikit-learn, TensorFlow, Keras, PyTorch, Apache Spark MLlib et XGBoost. Vous pouvez également installer des bibliothèques personnalisées.
Pour les opérations machine learning (MLOps), Azure Databricks fournit un service managé pour le MLflow de bibliothèque open source. Avec MLflow Tracking, vous pouvez enregistrer le développement de modèles et enregistrer des modèles dans des formats réutilisables. Vous pouvez utiliser le registre de modèles MLflow pour gérer et automatiser la promotion des modèles vers la production. Travaux et Mise en service de modèles permettent d’héberger des modèles en tant que tâches de traitement par lots et par diffusion en continu, mais aussi en tant que points de terminaison REST. Pour plus d’informations et d’exemples, consultez les documents MLflow sur Databricks ou MLflow Python docs d’API.
Pour bien démarrer avec les charges de travail de Machine Learning courantes, consultez les pages suivantes :
- Formation scikit-learn et suivi avec MLflow : Tutoriel de 10 minutes : Machine Learning sur Databricks avec scikit-learn
- Entraînement de modèles Deep Learning : Deep Learning
- Réglage des hyperparamètres : réglage des hyperparamètres avec Optuna
- Analytique des graphiques : How to use GraphFrames on Azure Databricks
IDE, outils de développement et Kits de développement logiciel (SDK)
En plus de développer du code Python dans Azure Databricks notebooks, vous pouvez développer en externe à l’aide d’environnements de développement intégrés (IDE) tels que PyCharm, Jupyter et Visual Studio Code. Pour synchroniser le travail entre les environnements de développement externes et Databricks, il existe plusieurs options :
- Code : vous pouvez synchroniser le code à l’aide de Git. Consultez les répertoires Git d’Azure Databricks.
- Libraries et travaux : vous pouvez créer des bibliothèques (telles que Python wheel files) en externe et les charger dans Databricks. Ces bibliothèques peuvent être importées dans des notebooks Databricks, ou elles peuvent être utilisées pour créer des travaux. Consultez Installer des bibliothèques et Jobs Lakeflow.
- Exécution d’ordinateur distant : vous pouvez exécuter du code à partir de votre IDE local pour le développement et le test interactifs. L’IDE peut communiquer avec Azure Databricks pour exécuter Apache Spark et des calculs volumineux sur des clusters Azure Databricks. Consultez Databricks Connect.
Databricks fournit un ensemble de kits SDK, notamment un sdk Python, qui prennent en charge l’automatisation et l’intégration à des outils externes. Vous pouvez utiliser les Kits SDK Databricks pour gérer des ressources comme des clusters et des bibliothèques, du code et d’autres objets d’espace de travail, des charges de travail et des tâches, etc. Consultez les Kits de développement logiciel (SDK) Databricks.
Pour plus d’informations sur les IDEs, les outils de développement et les kits SDK, consultez outils de développement local.
Ressources supplémentaires
- Databricks Academy offre des cours autonomes et dirigés par des instructeurs sur de nombreux sujets.
- Databricks Labs fournit des outils pour le développement Python dans Databricks, tels que le plug-in pytest et le plug-in pylint. Azure Databricks propose également des fonctionnalités permettant de gérer les fichiers de test unitaire Python dans l’espace de travail.
- Les fonctionnalités qui prennent en charge l’interopérabilité entre PySpark et pandas sont les suivantes :
- Python et les outils de connectivité de base de données SQL sont les suivants :
- Le connecteur SQL Databricks pour Python vous permet d’utiliser Python code pour exécuter des commandes SQL sur des ressources Azure Databricks.
- pyodbc vous permet de vous connecter à partir de votre code de Python local via ODBC aux données stockées dans databricks lakehouse.
- Vous trouverez des questions fréquentes et des conseils pour déplacer des charges de travail Python vers Databricks dans la base de connaissances Databricks.