Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Deze sectie bevat een handleiding voor het ontwikkelen van notebooks en taken in Azure Databricks met behulp van de Python taal, waaronder zelfstudies voor algemene werkstromen en taken, en koppelingen naar API's, bibliotheken en hulpprogramma's.
Aan de slag:
- Code importeren: importeer uw eigen code uit bestanden of Git-opslagplaatsen of probeer een zelfstudie die hieronder wordt vermeld. Databricks raadt u aan om te leren met behulp van interactieve Databricks Notebooks.
- Voer uw code uit op een cluster: maak een eigen cluster of zorg ervoor dat u gemachtigd bent om een gedeeld cluster te gebruiken. Koppel uw notebook aan het cluster en voer het notebook uit.
- Vervolgens kunt u het volgende doen:
- Werken met grotere gegevenssets met Apache Spark
- Visualisaties toevoegen
- Automatiseer uw werkbelasting als een taak
- Machine Learning gebruiken om uw gegevens te analyseren
- Ontwikkelen in IDE's
- Voer en beheer Python-eenheidstests in de werkruimte uit
Handleidingen
De onderstaande zelfstudies bevatten voorbeeldcode en notebooks voor meer informatie over algemene werkstromen. Zie Een notitieblok importeren voor instructies over het importeren van notebookvoorbeelden in uw werkruimte.
Data-engineering
- Handleiding: Gegevens laden en transformeren met behulp van Apache Spark DataFrames biedt een stapsgewijze uitleg om u te helpen leren over Apache Spark DataFrames voor gegevensvoorbereiding en -analyse.
- Zelfstudie: Delta Lake-tabellen maken en beheren.
- Zelfstudie: Een ETL-pijplijn bouwen met behulp van het vastleggen van wijzigingsgegevens.
Gegevenswetenschap en machine learning
- Aan de slag met Apache Spark DataFrames voor gegevensvoorbereiding en -analyse: Zelfstudie: Gegevens laden en transformeren met Apache Spark DataFrames
- Tutorial: End-to-end klassieke ML-modellen op Azure Databricks. Zie zelfstudies voor AI en machine learning voor meer voorbeelden.
- AutoML- kunt u snel aan de slag met het ontwikkelen van machine learning-modellen op uw eigen gegevenssets. De glass box-benadering genereert notebooks met de volledige machine learning-werkstroom, die u kunt klonen, wijzigen en opnieuw uitvoeren.
- levenscyclus van modellen beheren in Unity Catalog
Debuggen in Python-notebooks
In het voorbeeldnotebook ziet u hoe u het Python foutopsporingsprogramma (pdb) gebruikt in Databricks-notebooks. Als u het Python foutopsporingsprogramma wilt gebruiken, moet u Databricks Runtime 11.3 LTS of hoger uitvoeren.
Met Databricks Runtime 12.2 LTS en hoger kunt u variabele explorer gebruiken om de huidige waarde van Python variabelen in de notebookgebruikersinterface bij te houden. U kunt Variable Explorer gebruiken om de waarden van Python variabelen te observeren tijdens het doorlopen van onderbrekingspunten.
Python voorbeeldnotebook voor foutopsporingsprogramma
Notitie
breakpoint() wordt niet ondersteund in IPython en werkt dus niet in Databricks-notebooks. U kunt import pdb; pdb.set_trace() gebruiken in plaats van breakpoint().
API's voor Python
Python code die buiten Databricks wordt uitgevoerd, kan over het algemeen worden uitgevoerd in Databricks en omgekeerd. Als u bestaande code hebt, importeert u deze gewoon in Databricks om aan de slag te gaan. Zie Code beheren met notebooks en Databricks Git-mappen hieronder voor details.
Databricks kan zowel één machine als gedistribueerde Python workloads uitvoeren. Voor computing met één machine kunt u Python API's en bibliotheken zoals gebruikelijk gebruiken. Pandas en scikit-learn werken bijvoorbeeld gewoon. Voor gedistribueerde Python-workloads biedt Databricks twee populaire API's: PySpark en Pandas-API in Spark.
PySpark-API
PySpark is de officiële Python-API voor Apache Spark en combineert de kracht van Python en Apache Spark. PySpark is flexibeler dan de Pandas-API in Spark en biedt uitgebreide ondersteuning en functies voor data science en technische functionaliteit zoals Spark SQL, Structured Streaming, MLLib en GraphX.
pandas API in Spark
Notitie
Het opensource-project koalas raadt nu aan over te schakelen naar de Pandas-API in Spark. De Pandas-API in Spark is beschikbaar op clusters waarop Databricks Runtime 10.0 en hoger wordt uitgevoerd. Voor clusters waarop Databricks Runtime 9.1 LTS en lager worden uitgevoerd, gebruikt u in plaats daarvan Koalas .
pandas is een Python pakket dat veel wordt gebruikt door gegevenswetenschappers voor gegevensanalyse en manipulatie. Pandas schaalt echter niet uit naar big data. Pandas-API in Spark vult deze kloof door pandas-equivalente API's te bieden die in Apache Spark werken. Deze opensource-API is een ideale keuze voor gegevenswetenschappers die bekend zijn met pandas, maar niet met Apache Spark.
Code beheren met notebooks en Databricks Git-mappen
Databricks-notebooks ondersteunen Python. Deze notebooks bieden functionaliteit die vergelijkbaar is met die van Jupyter, maar met toevoegingen zoals ingebouwde visualisaties met behulp van big data, Apache Spark-integraties voor foutopsporing en prestatiebewaking en MLflow-integraties voor het bijhouden van machine learning-experimenten. Ga aan de slag door een notebook te importeren. Zodra u toegang hebt tot een cluster, kunt u een notebook aan het cluster koppelen en het notebook uitvoeren.
Aanbeveling
Als u de status van uw notebook opnieuw wilt instellen, start u de iPython-kernel opnieuw op. Voor Jupyter-gebruikers komt de optie 'kernel opnieuw opstarten' in Jupyter overeen met het starten van een nieuwe sessie in Databricks. Als u de kernel opnieuw wilt starten in een Python notebook, klikt u op de computeselector in de notebookwerkbalk en beweegt u de muisaanwijzer over het gekoppelde cluster of SQL Warehouse in de lijst om een zijmenu weer te geven. Selecteer Nieuwe sessie. Hiermee wordt een nieuwe sessie gestart, waarmee het Python proces opnieuw wordt gestart.
Met Databricks Git-mappen kunnen gebruikers notebooks en andere bestanden synchroniseren met Git-opslagplaatsen. Databricks Git-mappen helpen bij het versiebeheer en de samenwerking van code. Het kan het importeren van een volledige opslagplaats met code vereenvoudigen in Azure Databricks, het bekijken van eerdere notebookversies en het integreren met IDE-ontwikkeling. Ga aan de slag door een externe Git-opslagplaatste klonen. Vervolgens kunt u notebooks openen of maken met de kloon van de opslagplaats, het notebook koppelen aan een cluster en het notebook uitvoeren.
Clusters en bibliotheken
Azure Databricks compute biedt rekenbeheer voor clusters van elke grootte: van clusters met één knooppunt tot grote clusters. U kunt clusterhardware en -bibliotheken aanpassen aan uw behoeften. Gegevenswetenschappers gaan over het algemeen aan de slag door een cluster te maken of een bestaand gedeeld cluster te gebruiken. Zodra u toegang hebt tot een cluster, kunt u een notebook aan het cluster koppelen of een taak uitvoeren op het cluster.
- Voor kleine workloads waarvoor slechts één knooppunt nodig is, kunnen gegevenswetenschappers rekenkracht van één knooppunt gebruiken voor kostenbesparingen.
- Zie Aanbevelingen voor compute-configuratie voor gedetailleerde tips
- Beheerders kunnen clusterbeleid instellen om het maken van clusters te vereenvoudigen en te begeleiden.
Azure Databricks clusters maken gebruik van een Databricks Runtime, die veel populaire bibliotheken biedt, zoals Apache Spark, Delta Lake, pandas en meer. U kunt ook extra bibliotheken van derden of aangepaste Python-bibliotheken installeren voor gebruik met notebooks en opdrachten.
- Begin met de standaardbibliotheken in de release-opmerkingen over versies en compatibiliteit van Databricks Runtime. Gebruik Databricks Runtime voor Machine Learning voor machine learning workloads. Zie de releaseversies en compatibiliteit van Databricks Runtime voor volledige lijsten met vooraf geïnstalleerde bibliotheken.
- Pas uw omgeving aan met behulp van Notebook-scoped Python bibliotheken, waarmee u uw notitieblok of taakomgeving kunt wijzigen met bibliotheken uit PyPI of andere opslagplaatsen. De
%pip install my_librarymagic-opdracht installeertmy_libraryop alle knooppunten in uw momenteel gekoppelde cluster, maar heeft geen invloed op andere werkbelastingen op computers met de standaardtoegangsmodus. - Installeer indien nodig niet-Python-bibliotheken als Compute-gescopeerde bibliotheken.
- Zie Bibliotheken installeren voor meer informatie.
Visualisaties
Azure Databricks Python notebooks hebben ingebouwde ondersteuning voor veel soorten visualisaties. U kunt ook verouderde visualisaties gebruiken.
U kunt ook gegevens visualiseren met behulp van bibliotheken van derden; sommige zijn vooraf geïnstalleerd in Databricks Runtime, maar u kunt ook aangepaste bibliotheken installeren. Populaire opties zijn onder andere:
Banen
U kunt Python workloads automatiseren zoals gepland of geactiveerd jobs in Databricks. Taken kunnen notebooks, Python scripts en Python wheel-bestanden uitvoeren.
- Taken maken en bijwerken met behulp van de Databricks-gebruikersinterface of de Databricks REST API-.
- Met de Databricks Python SDK kunt u taken programmatisch maken, bewerken en verwijderen.
- De Databricks CLI biedt een handige opdrachtregelinterface voor het automatiseren van taken.
Aanbeveling
Als u een Python-script wilt plannen in plaats van een notebook, gebruikt u het veld spark_python_task onder tasks in de hoofdtekst van een taakaanvraag maken.
machine learning
Databricks ondersteunt een groot aantal machine learning-workloads (ML), waaronder traditionele ML op tabellaire gegevens, deep learning voor computer vision en verwerking van natuurlijke taal, aanbevelingssystemen, grafiekanalyses en meer. Zie AI en machine learning op Databricks voor algemene informatie over machine learning op Databricks.
Voor ML-algoritmen kunt u vooraf geïnstalleerde bibliotheken in Databricks Runtime gebruiken voor Machine Learning, waaronder populaire Python hulpprogramma's zoals scikit-learn, TensorFlow, Keras, PyTorch, Apache Spark MLlib en XGBoost. U kunt ook aangepaste bibliotheken installeren.
Voor machine learning-bewerkingen (MLOps) biedt Azure Databricks een beheerde service voor de open source bibliotheek MLflow. Met MLflow Tracking kunt u modelontwikkeling vastleggen en modellen opslaan in herbruikbare indelingen. U kunt het MLflow-modelregister gebruiken om de promotie van modellen naar productie te beheren en automatiseren. Taken en Modelbediening maken het mogelijk om modellen te hosten als batch- en streamingtaken en als REST-eindpunten. Zie de MLflow op Databricks of de MLflow Python API-documenten voor meer informatie en voorbeelden.
Zie de volgende pagina's om aan de slag te gaan met algemene machine learning-workloads:
- Trainen van modellen met scikit-learn en volgen met MLflow: 10-minuten tutorial: machine learning op Databricks met scikit-learn
- Deep Learning-modellen trainen: Deep Learning
- Hyperparameterafstemming: Hyperparameterafstemming met Optuna
- Grafiekanalyse:
Hoe u GraphFrames op Azure Databricks
IDE's, hulpprogramma's voor ontwikkelaars en SDK's
Naast het ontwikkelen van Python code in Azure Databricks notebooks, kunt u extern ontwikkelen met behulp van geïntegreerde ontwikkelomgevingen (IDE's), zoals PyCharm, Jupyter en Visual Studio Code. Er zijn verschillende opties om werk tussen externe ontwikkelomgevingen en Databricks te synchroniseren:
- Code: U kunt code synchroniseren met Git. Zie Azure Databricks Git-mappen.
- Libraries en Jobs: U kunt bibliotheken (zoals Python wielbestanden) extern maken en uploaden naar Databricks. Deze bibliotheken kunnen worden geïmporteerd in Databricks-notebooks of ze kunnen worden gebruikt om taken te maken. Zie Bibliotheken installeren en Lakeflow Jobs.
- Uitvoering van externe machines: u kunt code uitvoeren vanuit uw lokale IDE voor interactieve ontwikkeling en testen. De IDE kan communiceren met Azure Databricks om Apache Spark en grote berekeningen uit te voeren op Azure Databricks clusters. Zie Databricks Connect.
Databricks biedt een set SDK's, waaronder een Python SDK die ondersteuning bieden voor automatisering en integratie met externe hulpprogramma's. U kunt de Databricks SDK's gebruiken om resources zoals clusters en bibliotheken, code en andere werkruimteobjecten, workloads en taken, en meer te beheren. Bekijk de Databricks SDK's.
Zie Lokale ontwikkelhulpprogramma'svoor meer informatie over IDE's, ontwikkelhulpprogramma's en SDK's.
Aanvullende bronnen
- De Databricks Academy biedt cursussen in eigen tempo en door docenten geleid over veel onderwerpen.
- Databricks Labs biedt hulpprogramma's voor Python ontwikkeling in Databricks, zoals de invoegtoepassing pytest en de pylint-invoegtoepassing. Azure Databricks biedt ook functies voor het beheren van Python eenheidstestbestanden in de werkruimte.
- De volgende functies bieden ondersteuning voor interoperabiliteit tussen PySpark en pandas:
- Python- en SQL Database-connectiviteitshulpprogramma's zijn onder andere:
- Met de Databricks SQL Connector voor Python kunt u Python code gebruiken om SQL-opdrachten uit te voeren op Azure Databricks resources.
- pyodbc kunt u verbinding maken vanuit uw lokale Python code via ODBC naar gegevens die zijn opgeslagen in databricks lakehouse.
- Veelgestelde vragen en tips voor het verplaatsen van Python workloads naar Databricks vindt u in de Databricks Knowledge Base.