Dela via


Azure Databricks för Python-utvecklare

Det här avsnittet innehåller en guide för att utveckla notebook-filer och jobb i Azure Databricks med hjälp av Python-språket, inklusive självstudier för vanliga arbetsflöden och uppgifter samt länkar till API:er, bibliotek och verktyg.

Så här kommer du i gång:

Självstudier

Självstudierna nedan innehåller exempelkod och notebook-filer för att lära dig mer om vanliga arbetsflöden. Mer information om hur du importerar notebook-exempel till din arbetsyta finns i Importera en notebook-fil .

Datateknik

Datavetenskap och maskininlärning

Felsöka i Python-notebook-filer

Exempelanteckningsboken visar hur du använder Python-felsökningsprogrammet (pdb) i Databricks-notebook-filer. Om du vill använda Python-felsökningsprogrammet måste du köra Databricks Runtime 11.3 LTS eller senare.

Med Databricks Runtime 12.2 LTS och senare kan du använda variabelutforskaren för att spåra det aktuella värdet för Python-variabler i notebook-användargränssnittet. Du kan använda variabelutforskaren för att observera värdena för Python-variabler när du går igenom brytpunkter.

Python-felsökningsexempel notebook

Hämta notebook-fil

Kommentar

breakpoint() stöds inte i IPython och fungerar därför inte i Databricks-notebook-filer. Du kan använda import pdb; pdb.set_trace() i stället för breakpoint().

Python-API:er

Python-kod som körs utanför Databricks kan vanligtvis köras i Databricks och vice versa. Om du har befintlig kod importerar du den till Databricks för att komma igång. Mer information finns i Hantera kod med notebook-filer och Databricks Git-mappar nedan.

Databricks kan köra både endators och distribuerade Python-arbetsbelastningar. För datorbaserad databehandling kan du använda Python-API:er och -bibliotek som vanligt. Pandas och scikit-learn kommer till exempel att "bara fungera". För distribuerade Python-arbetsbelastningar erbjuder Databricks två populära API:er direkt: PySpark och Pandas API på Spark.

PySpark-API

PySpark är det officiella Python-API:et för Apache Spark och kombinerar kraften i Python och Apache Spark. PySpark är mer flexibel än Pandas API på Spark och ger omfattande stöd och funktioner för datavetenskap och tekniska funktioner som Spark SQL, Structured Streaming, MLLib och GraphX.

Pandas API on Spark

Kommentar

Koalas-projektet med öppen källkod rekommenderar nu att du byter till Pandas-API:et på Spark. Pandas API på Spark är tillgängligt på kluster som kör Databricks Runtime 10.0 (EoS) och senare. För kluster som kör Databricks Runtime 9.1 LTS och nedan använder du Koalas i stället.

pandas är ett Python-paket som ofta används av dataexperter för dataanalys och manipulering. Pandas skalar dock inte ut till stordata. Pandas API på Spark fyller det här tomrummet genom att tillhandahålla Pandas-motsvarande API:er som fungerar på Apache Spark. Det här API :et med öppen källkod är ett idealiskt val för dataforskare som är bekanta med Pandas men inte Apache Spark.

Hantera kod med notebook-filer och Databricks Git-mappar

Databricks-notebook-filer stöder Python. Dessa notebook-filer tillhandahåller funktioner som liknar Jupyter, men med tillägg som inbyggda visualiseringar med stordata, Apache Spark-integreringar för felsökning och prestandaövervakning och MLflow-integreringar för att spåra maskininlärningsexperiment. Kom igång genom att importera en notebook-fil. När du har åtkomst till ett kluster kan du koppla en notebook-fil till klustret och köra notebook-filen.

Dricks

Om du vill återställa tillståndet för notebook-filen helt kan det vara bra att starta om iPython-kerneln. För Jupyter-användare motsvarar alternativet "starta om kernel" i Jupyter att koppla från och återansluta en notebook-fil i Databricks. Om du vill starta om kerneln i en Python-anteckningsbok klickar du på beräkningsväljaren i notebook-verktygsfältet och hovra över det anslutna klustret eller SQL-lagret i listan för att visa en sidomeny. Välj Koppla från och koppla om. Detta kopplar från notebook-filen från klustret och kopplar om den, vilket startar om Python-processen.

Med Databricks Git-mappar kan användare synkronisera notebook-filer och andra filer med Git-lagringsplatser. Databricks Git-mappar hjälper till med kodversioner och samarbete, och det kan förenkla importen av en fullständig lagringsplats med kod till Azure Databricks, visa tidigare notebook-versioner och integrera med IDE-utveckling. Kom igång genom att klona en fjärransluten Git-lagringsplats. Du kan sedan öppna eller skapa notebook-filer med lagringsplatsens klon, koppla anteckningsboken till ett kluster och köra notebook-filen.

Kluster och bibliotek

Azure Databricks-beräkning tillhandahåller beräkningshantering för kluster av valfri storlek: från kluster med en enda nod upp till stora kluster. Du kan anpassa klustermaskinvara och bibliotek efter dina behov. Dataexperter börjar vanligtvis arbeta antingen genom att skapa ett kluster eller använda ett befintligt delat kluster. När du har åtkomst till ett kluster kan du koppla en notebook-fil till klustret eller köra ett jobb i klustret.

Azure Databricks-kluster använder en Databricks Runtime som tillhandahåller många populära bibliotek, inklusive Apache Spark, Delta Lake, Pandas med mera. Du kan också installera ytterligare python-bibliotek från tredje part eller anpassade bibliotek som ska användas med notebook-filer och jobb.

Visualiseringar

Azure Databricks Python-notebook-filer har inbyggt stöd för många typer av visualiseringar. Du kan också använda äldre visualiseringar.

Du kan också visualisera data med hjälp av bibliotek från tredje part. vissa är förinstallerade i Databricks Runtime, men du kan även installera anpassade bibliotek. Populära alternativ är:

Projekt

Du kan automatisera Python-arbetsbelastningar som schemalagda eller utlösta jobb i Databricks. Jobb kan köra notebook-filer, Python-skript och Python-hjulfiler.

  • Skapa och uppdatera jobb med databricks-användargränssnittet eller Databricks REST API.
  • Med Databricks Python SDK kan du skapa, redigera och ta bort jobb programmatiskt.
  • Databricks CLI tillhandahåller ett bekvämt kommandoradsgränssnitt för att automatisera jobb.

Dricks

Om du vill schemalägga ett Python-skript i stället för en notebook-fil använder du fältet spark_python_task under tasks i brödtexten i en begäran om att skapa jobb.

Maskininlärning

Databricks stöder en mängd olika arbetsbelastningar för maskininlärning (ML), inklusive traditionell ML för tabelldata, djupinlärning för visuellt innehåll och bearbetning av naturligt språk, rekommendationssystem, grafanalys med mera. Allmän information om maskininlärning i Databricks finns i AI och maskininlärning på Databricks.

För ML-algoritmer kan du använda förinstallerade bibliotek i Databricks Runtime for Machine Learning, som innehåller populära Python-verktyg som scikit-learn, TensorFlow, Keras, PyTorch, Apache Spark MLlib och XGBoost. Du kan också installera anpassade bibliotek.

För maskininlärningsåtgärder (MLOps) tillhandahåller Azure Databricks en hanterad tjänst för MLflow för öppen källkod-biblioteket. Med MLflow Tracking kan du registrera modellutveckling och spara modeller i återanvändbara format. Du kan använda MLflow Model Registry för att hantera och automatisera befordran av modeller mot produktion. Jobb och modellhantering tillåter värdmodeller som batch- och strömningsjobb och som REST-slutpunkter. Mer information och exempel finns i dokumentationen om ML-livscykelhantering med MLflow eller MLflow Python API.

Information om hur du kommer igång med vanliga maskininlärningsarbetsbelastningar finns på följande sidor:

ID:er, utvecklarverktyg och SDK:er

Förutom att utveckla Python-kod i Azure Databricks-notebook-filer kan du utveckla externt med hjälp av integrerade utvecklingsmiljöer (IDE:er) som PyCharm, Jupyter och Visual Studio Code. Det finns flera alternativ för att synkronisera arbete mellan externa utvecklingsmiljöer och Databricks:

  • Kod: Du kan synkronisera kod med Git. Se Git-integrering för Databricks Git-mappar.
  • Bibliotek och jobb: Du kan skapa bibliotek (till exempel Python-hjulfiler) externt och ladda upp dem till Databricks. Dessa bibliotek kan importeras i Databricks notebook-filer, eller så kan de användas för att skapa jobb. Se Bibliotek och Schemalägg och samordna arbetsflöden.
  • Fjärrdatorkörning: Du kan köra kod från din lokala IDE för interaktiv utveckling och testning. IDE kan kommunicera med Azure Databricks för att köra Apache Spark och stora beräkningar på Azure Databricks-kluster. Se Databricks Connect.

Databricks tillhandahåller en uppsättning SDK:er, inklusive en Python SDK, som stöder automatisering och integrering med externa verktyg. Du kan använda Databricks SDK:er för att hantera resurser som kluster och bibliotek, kod och andra arbetsyteobjekt, arbetsbelastningar och jobb med mera. Se Databricks SDK:er.

Mer information om IDE:er, utvecklarverktyg och SDK:er finns i Utvecklarverktyg.

Ytterligare resurser