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.

Aan de slag:

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

Gegevenswetenschap en machine learning

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

Notitieblok ophalen

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.

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.

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.

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:

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

  • Veelgestelde vragen en tips voor het verplaatsen van Python workloads naar Databricks vindt u in de Databricks Knowledge Base.