Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Det här avsnittet innehåller en guide för att utveckla notebook-filer och jobb i Azure Databricks med hjälp av programmeringsspråket Python, inklusive självstudier för vanliga arbetsflöden och uppgifter samt länkar till API:er, bibliotek och verktyg.
Så här kommer du igång:
- Importera kod: Importera din egen kod från filer eller Git-lagringsplatser eller prova en självstudie som visas nedan. Databricks rekommenderar att du lär dig med interaktiva Databricks Notebooks.
- Kör koden i ett kluster: Skapa antingen ett eget kluster eller se till att du har behörighet att använda ett delat kluster. Anslut anteckningsboken till klustret och kör den.
- Sedan kan du:
- Arbeta med större datamängder med Apache Spark
- Lägga till visualiseringar
- Automatisera din arbetsbelastning inom ditt jobb
- Använda maskininlärning för att analysera dina data
- Utveckla i IDE:er
- Kör och hantera Python enhetstester på arbetsytan
Handledningar
Handledningarna nedan innehåller exempelkod och notebook-filer för att lära dig om vanliga arbetsflöden. Mer information om hur du importerar notebook-exempel till din arbetsyta finns i Importera en notebook-fil .
Datateknik
- Självstudie: Läsa in och transformera data med Apache Spark DataFrames ger en genomgång som hjälper dig att lära dig mer om Apache Spark DataFrames för förberedelse och analys av data.
- Självstudie: Skapa och hantera Delta Lake-tabeller.
- Självstudie: Skapa en ETL-pipeline med hjälp av insamling av ändringsdata.
Datavetenskap och maskininlärning
- Komma igång med Apache Spark DataFrames för förberedelse och analys av data: Självstudie: Läsa in och transformera data med Apache Spark DataFrames
- Tutorial: Klassiska ML-modeller från slutpunkt till slutpunkt på Azure Databricks. Ytterligare exempel finns i självstudier för AI och maskininlärning.
- Med AutoML kan du snabbt komma igång med att utveckla maskininlärningsmodeller på dina egna datauppsättningar. Dess "glass box"-metod genererar notebook-filer med det fullständiga arbetsflödet för maskininlärning som du kan klona, ändra och köra igen.
- Hantera modelllivscykel i Unity Catalog
Debug i Python-anteckningsböcker
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 variable explorer 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 exempelanteckningsbok för felsökningsprogram
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 Python-arbetsuppgifter på både en enda maskin och i distribuerad form. För datorbaserad databehandling kan du använda Python API:er och bibliotek som vanligt. Pandas och scikit-learn fungerar till exempel "bara". 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 flexibelt ä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 på 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 i kluster som kör Databricks Runtime 10.0 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 dataforskare 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-notebookar 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.
Tips
Starta om iPython-kärnan för att återställa tillståndet i din notebook. För Jupyter-användare motsvarar alternativet "starta om kernel" i Jupyter att starta en ny session i Databricks. Om du vill starta om kerneln i en Python notebook-fil klickar du på väljaren compute i notebook-verktygsfältet och för musen över det anslutna klustret eller SQL-datalagret i listan för att visa en sidomeny. Välj Ny session. Detta startar en ny session som 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 compute tillhandahåller beräkningshantering för kluster av valfri storlek: från kluster med en 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.
- För små arbetsbelastningar som bara kräver enskilda noder kan dataexperter använda beräkning med en nod för kostnadsbesparingar.
- Detaljerade tips finns i Rekommendationer för beräkningskonfiguration
- Administratörer kan konfigurera klusterprinciper för att förenkla och vägleda skapandet av kluster.
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 bibliotek från tredje part eller anpassade Python-bibliotek för användning med anteckningsböcker och jobb.
- Börja med standardbiblioteken i versionsanteckningarna för Databricks Runtime och kompatibilitet. Använd Databricks Runtime för Maskininlärning för arbetslaster inom maskininlärning. Fullständiga listor över förinstallerade bibliotek finns i Versionsanteckningar för Databricks Runtime och kompatibilitet.
- Anpassa din miljö med hjälp av Notebook-omfångsbegränsade Python bibliotek, vilket gör att du kan ändra din notebook- eller jobbmiljö med bibliotek från PyPI eller andra lagringsplatser. Det
%pip install my_librarymagiska kommandot installerarmy_librarytill alla noder i det anslutna klustret, men stör inte andra arbetsbelastningar vid beräkning med standardåtkomstläge. - Installera bibliotek som inte är Python som Compute-scoped-bibliotek efter behov.
- Mer information finns i Installera bibliotek.
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:
Jobb
Du kan automatisera arbetsbelastningar i Python 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.
Tips
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 för strojové učenie, 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 open-source-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 MLflow på Databricks eller MLflow Python API-dokument.
Information om hur du kommer igång med vanliga maskininlärningsarbetsbelastningar finns på följande sidor:
- Träning av scikit-learn och spårning med MLflow: 10-minuters handledning: maskininlärning på Databricks med scikit-learn
- Träna djupinlärningsmodeller: Djupinlärning
- Hyperparameterjustering: Hyperparameterjustering med Optuna
- Diagramanalys: Så här använder du GraphFrames på Azure Databricks
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 (IDEs) 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 Azure Databricks Git-mappar.
- Libraries och Jobs: 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 Installera bibliotek och Lakeflow-jobb.
- 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. Titta på Databricks SDK:er.
Mer information om IDE:er, utvecklarverktyg och SDK:er finns i Lokala utvecklingsverktyg.
Ytterligare resurser
- Databricks Academy erbjuder kurser i egen takt och instruktörsledda kurser i många ämnen.
- Databricks Labs innehåller verktyg för Python utveckling i Databricks, till exempel plugin-programmet pytest och plugin-programmet pylint. Azure Databricks erbjuder även funktioner för att hantera Python enhetstestfiler på arbetsytan.
- Funktioner som stöder samverkan mellan PySpark och Pandas omfattar följande:
- Python- och SQL-databasanslutningsverktygen omfattar:
- Med Databricks SQL Connector för Python kan du använda Python kod för att köra SQL-kommandon på Azure Databricks resurser.
- pyodbc kan du ansluta från din lokala Python kod via ODBC till data som lagras i Databricks lakehouse.
- Vanliga frågor och svar om hur du flyttar Python arbetsbelastningar till Databricks finns i Databricks Knowledge Base.