Delen via


Azure Databricks voor Python-ontwikkelaars

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.

Ga als volgt aan de slag:

Zelfstudies

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

Gegevenswetenschap en machine learning

Fouten opsporen 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 variable 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 terwijl u onderbrekingspunten doorloopt.

Voorbeeldnotebook voor Python-foutopsporingsprogramma

Notebook downloaden

Notitie

breakpoint() wordt niet ondersteund in IPython en werkt dus niet in Databricks-notebooks. U kunt import pdb; pdb.set_trace() in plaats van breakpoint().

Python-API's

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 meer informatie.

Databricks kan zowel één machine als gedistribueerde Python-workloads uitvoeren. Voor computing met één machine kunt u Python-API's en -bibliotheken gebruiken zoals gebruikelijk; Pandas en scikit-learn werken bijvoorbeeld gewoon. Voor gedistribueerde Python-workloads biedt Databricks standaard 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 meer flexibiliteit 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 met Databricks Runtime 10.0 (EoS) en hoger. Voor clusters waarop Databricks Runtime 9.1 LTS en lager worden uitgevoerd, gebruikt u in plaats daarvan Koalas.

Pandas is een Python-pakket dat vaak 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.

Tip

Als u de status van uw notebook volledig opnieuw wilt instellen, kan het handig zijn om de iPython-kernel opnieuw op te starten. Voor Jupyter-gebruikers komt de optie 'kernel opnieuw opstarten' in Jupyter overeen met het loskoppelen en opnieuw koppelen van een notebook in Databricks. Als u de kernel opnieuw wilt starten in een Python-notebook, klikt u op de rekenkiezer 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 Loskoppelen en opnieuw koppelen. Hierdoor wordt het notebook losgekoppeld van uw cluster en wordt het opnieuw gekoppeld, waardoor 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 maken van codeversies en samenwerking en het importeren van een volledige opslagplaats met code in Azure Databricks, het weergeven van eerdere notebookversies en het integreren met IDE-ontwikkeling. Ga aan de slag door een externe Git-opslagplaats te 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.

Azure Databricks-clusters maken gebruik van een Databricks Runtime, dat veel populaire bibliotheken standaard biedt, waaronder Apache Spark, Delta Lake, pandas en meer. U kunt ook aanvullende externe of aangepaste Python-bibliotheken installeren voor gebruik met notebooks en taken.

  • Begin met de standaardbibliotheken in de releaseversies en compatibiliteit van Databricks Runtime. Databricks Runtime voor Machine Learning gebruiken 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 Python-bibliotheken met notebookbereik, waarmee u uw notebook- of taakomgeving kunt wijzigen met bibliotheken uit PyPI of andere opslagplaatsen. De %pip install my_library magic-opdracht wordt my_library geïnstalleerd op alle knooppunten in uw momenteel gekoppelde cluster, maar heeft nog geen invloed op andere werkbelastingen op gedeelde clusters.
  • Installeer indien nodig niet-Python-bibliotheken als clusterbibliotheken .
  • Zie Bibliotheken voor meer informatie.

Visualisaties

Azure Databricks Python-notebooks bieden ingebouwde ondersteuning voor veel typen 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:

Projecten

U kunt Python-workloads automatiseren als geplande of geactiveerde taken in Databricks. Taken kunnen notebooks, Python-scripts en Python wheel-bestanden uitvoeren.

Tip

Als u een Python-script wilt plannen in plaats van een notebook, gebruikt u het spark_python_task veld in tasks de hoofdtekst van een taakaanvraag maken.

Machinelearning

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 gebruiken in Databricks Runtime 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 opensource-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 modelservice bieden hostingmodellen als batch- en streamingtaken en als REST-eindpunten. Zie het levenscyclusbeheer van ML met behulp van MLflow of de Python API-documenten voor MLflow voor meer informatie en voorbeelden.

Zie de volgende pagina's om aan de slag te gaan met algemene machine learning-workloads:

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 Behulp van Git. Zie Git-integratie voor Databricks Git-mappen.
  • Bibliotheken en taken: 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 en Werkstromen plannen en organiseren.
  • 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 biedt 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 Ontwikkelhulpprogramma's voor meer informatie over IDE's, hulpprogramma's voor ontwikkelaars en SDK's.

Aanvullende bronnen