Utveckla ett jobb på Azure Databricks med databricks-tillgångspaket
Med Databricks-tillgångspaket, som även kallas paket, kan du programmatiskt validera, distribuera och köra Azure Databricks-resurser, till exempel jobb. Du kan också använda paket för att programmatiskt hantera Delta Live Tables-pipelines och arbeta med MLOps Stacks. Se Vad är Databricks-tillgångspaket?.
Den här artikeln beskriver steg som du kan utföra från en lokal utvecklingskonfiguration för att använda ett paket som programmatiskt hanterar ett jobb. Se Introduktion till Azure Databricks-arbetsflöden.
Om du har befintliga jobb som har skapats med hjälp av användargränssnittet eller API:et för Azure Databricks-arbetsflöden som du vill flytta till paket måste du återskapa dem som paketkonfigurationsfiler. För att göra det rekommenderar Databricks att du först skapar ett paket med hjälp av stegen nedan och kontrollerar om paketet fungerar. Du kan sedan lägga till jobbdefinitioner, notebook-filer och andra källor i paketet. Se Lägga till en befintlig jobbdefinition i ett paket.
Förutom att använda Databricks CLI för att köra ett jobb som distribueras av ett paket kan du också visa och köra dessa jobb i användargränssnittet för Azure Databricks-jobb. Se Visa och köra ett jobb som skapats med ett Databricks-tillgångspaket.
Krav
- Databricks CLI version 0.218 eller senare. Om du vill kontrollera den installerade versionen av Databricks CLI kör du kommandot
databricks -v
. Information om hur du installerar Databricks CLI finns i Installera eller uppdatera Databricks CLI.
Beslut: Skapa paketet med hjälp av en mall eller manuellt
Bestäm om du vill skapa ett exempelpaket med hjälp av en mall eller manuellt:
Skapa paketet med hjälp av en mall
I de här stegen skapar du paketet med azure Databricks-standardpaketmallen för Python, som består av en notebook- eller Python-kod, tillsammans med definitionen av ett jobb för att köra det. Sedan validerar, distribuerar och kör du det distribuerade jobbet på din Azure Databricks-arbetsyta. Fjärrarbetsytan måste ha arbetsytefiler aktiverade. Se Vad är arbetsytefiler?.
Steg 1: Konfigurera autentisering
I det här steget konfigurerar du autentisering mellan Databricks CLI på utvecklingsdatorn och Azure Databricks-arbetsytan. Den här artikeln förutsätter att du vill använda U2M-autentisering (OAuth user-to-machine) och en motsvarande Azure Databricks-konfigurationsprofil med namnet DEFAULT
för autentisering.
Kommentar
U2M-autentisering är lämpligt för att prova de här stegen i realtid. För helt automatiserade arbetsflöden rekommenderar Databricks att du använder M2M-autentisering (machine-to-machine) för OAuth i stället. Se installationsinstruktionerna för M2M-autentisering i Autentisering.
Använd Databricks CLI för att initiera OAuth-tokenhantering lokalt genom att köra följande kommando för varje målarbetsyta.
I följande kommando ersätter du
<workspace-url>
med url:en för Azure Databricks per arbetsyta, till exempelhttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
Databricks CLI uppmanar dig att spara den information som du angav som en Azure Databricks-konfigurationsprofil. Tryck
Enter
för att acceptera det föreslagna profilnamnet eller ange namnet på en ny eller befintlig profil. Alla befintliga profiler med samma namn skrivs över med den information som du angav. Du kan använda profiler för att snabbt växla autentiseringskontext över flera arbetsytor.Om du vill hämta en lista över befintliga profiler i en separat terminal eller kommandotolk använder du Databricks CLI för att köra kommandot
databricks auth profiles
. Om du vill visa en specifik profils befintliga inställningar kör du kommandotdatabricks auth env --profile <profile-name>
.I webbläsaren slutför du anvisningarna på skärmen för att logga in på din Azure Databricks-arbetsyta.
Om du vill visa en profils aktuella OAuth-tokenvärde och tokens kommande förfallotidsstämpel kör du något av följande kommandon:
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
Om du har flera profiler med samma
--host
värde kan du behöva ange--host
alternativen och-p
tillsammans för att hjälpa Databricks CLI att hitta rätt matchande OAuth-tokeninformation.
Steg 2: Skapa paketet
Ett paket innehåller de artefakter som du vill distribuera och inställningarna för de resurser som du vill köra.
Använd terminalen eller kommandotolken för att växla till en katalog på den lokala utvecklingsdatorn som innehåller mallens genererade paket.
Använd Dataricks CLI för att köra
bundle init
kommandot:databricks bundle init
För
Template to use
lämnar du standardvärdet fördefault-python
genom att trycka påEnter
.För
Unique name for this project
lämnar du standardvärdetmy_project
, eller skriver ett annat värde och trycker sedan påEnter
. Detta avgör namnet på rotkatalogen för det här paketet. Den här rotkatalogen skapas i den aktuella arbetskatalogen.För
Include a stub (sample) notebook
väljer och trycker duyes
påEnter
.För
Include a stub (sample) DLT pipeline
väljer och trycker duno
påEnter
. Detta instruerar Databricks CLI att inte definiera en Delta Live Tables-exempelpipeline i ditt paket.För
Include a stub (sample) Python package
väljer och trycker duno
påEnter
. Detta instruerar Databricks CLI att inte lägga till pythonhjulspaketfiler eller relaterade bygginstruktioner i ditt paket.
Steg 3: Utforska paketet
Om du vill visa de filer som mallen genererade växlar du till rotkatalogen för det nyligen skapade paketet och öppnar den här katalogen med önskad IDE, till exempel Visual Studio Code. Filer av särskilt intresse omfattar följande:
databricks.yml
: Den här filen anger paketets programmatiska namn, innehåller en referens till jobbdefinitionen och anger inställningar för målarbetsytan.resources/<project-name>_job.yml
: Den här filen anger jobbets inställningar, inklusive en standarduppgift för notebook-filer.src/notebook.ipynb
: Den här filen är en exempelanteckningsbok som vid körning helt enkelt initierar en RDD som innehåller talen 1 till 10.
När det gäller att anpassa jobb motsvarar mappningarna i en jobbdeklaration jobbåtgärdens nyttolast för begäran enligt definitionen i POST /api/2.1/jobs/create i REST API-referensen, uttryckt i YAML-format.
Dricks
Du kan definiera, kombinera och åsidosätta inställningarna för nya jobbkluster i paket med hjälp av de tekniker som beskrivs i Åsidosätt klusterinställningar i Databricks-tillgångspaket.
Steg 4: Verifiera projektets paketkonfigurationsfil
I det här steget kontrollerar du om paketkonfigurationen är giltig.
Från rotkatalogen använder du Databricks CLI för att köra
bundle validate
kommandot enligt följande:databricks bundle validate
Om en sammanfattning av paketkonfigurationen returneras lyckades verifieringen. Om några fel returneras åtgärdar du felen och upprepar sedan det här steget.
Om du gör några ändringar i paketet efter det här steget bör du upprepa det här steget för att kontrollera om paketkonfigurationen fortfarande är giltig.
Steg 5: Distribuera det lokala projektet till fjärrarbetsytan
I det här steget distribuerar du den lokala notebook-filen till din fjärranslutna Azure Databricks-arbetsyta och skapar Azure Databricks-jobbet på din arbetsyta.
Från paketroten använder du Databricks CLI för att köra kommandot på
bundle deploy
följande sätt:databricks bundle deploy -t dev
Kontrollera om den lokala notebook-filen har distribuerats: Klicka på Arbetsyta i sidofältet på azure Databricks-arbetsytan.
Klicka i mappen Användare >
<your-username>
> .bundle >><project-name>
dev > files > src. Anteckningsboken ska finnas i den här mappen.Kontrollera om jobbet har skapats: Klicka på Arbetsflöden i azure Databricks-arbetsytans sidofält.
På fliken Jobb klickar du på [dev
<your-username>
]<project-name>_job
.Klicka på fliken Uppgifter . Det bör finnas en uppgift: notebook_task.
Om du gör några ändringar i paketet efter det här steget bör du upprepa steg 4–5 för att kontrollera om paketkonfigurationen fortfarande är giltig och sedan distribuera om projektet.
Steg 6: Kör det distribuerade projektet
I det här steget kör du Azure Databricks-jobbet på din arbetsyta.
Från rotkatalogen använder du Databricks CLI för att köra
bundle run
kommandot enligt följande och ersätter<project-name>
med namnet på projektet från steg 2:databricks bundle run -t dev <project-name>_job
Kopiera värdet
Run URL
för som visas i terminalen och klistra in det här värdet i webbläsaren för att öppna Azure Databricks-arbetsytan.När jobbaktiviteten har slutförts på din Azure Databricks-arbetsyta och visar ett grönt namnlist klickar du på jobbaktiviteten för att se resultatet.
Om du gör några ändringar i paketet efter det här steget bör du upprepa steg 4–6 för att kontrollera om paketkonfigurationen fortfarande är giltig, distribuera om projektet och köra det omdistribuerade projektet.
Steg 7: Rensa
I det här steget tar du bort den distribuerade anteckningsboken och jobbet från din arbetsyta.
Från rotkatalogen använder du Databricks CLI för att köra
bundle destroy
kommandot enligt följande:databricks bundle destroy
Bekräfta begäran om jobbborttagning: När du uppmanas att permanent förstöra resurser skriver
y
du och trycker påEnter
.Bekräfta begäran om borttagning av notebook-filer: När du uppmanas att permanent förstöra den tidigare distribuerade mappen och alla dess filer skriver
y
du och trycker påEnter
.Om du också vill ta bort paketet från utvecklingsdatorn kan du nu ta bort den lokala katalogen från steg 2.
Du har nått slutet av stegen för att skapa ett paket med hjälp av en mall.
Skapa paketet manuellt
I de här stegen skapar du ett paket från grunden. Det här enkla paketet består av två notebook-filer och definitionen av ett Azure Databricks-jobb för att köra dessa notebook-filer. Sedan validerar, distribuerar och kör du de distribuerade notebook-filerna från jobbet på din Azure Databricks-arbetsyta. De här stegen automatiserar snabbstarten med titeln Skapa ditt första arbetsflöde med ett Azure Databricks-jobb.
Steg 1: Skapa paketet
Ett paket innehåller de artefakter som du vill distribuera och inställningarna för de resurser som du vill köra.
- Skapa eller identifiera en tom katalog på utvecklingsdatorn.
- Växla till den tomma katalogen i terminalen eller öppna den tomma katalogen i din IDE.
Dricks
Den tomma katalogen kan associeras med en klonad lagringsplats som hanteras av en Git-provider. På så sätt kan du hantera ditt paket med extern versionskontroll och enklare samarbeta med andra utvecklare och IT-proffs i ditt projekt. Men för att förenkla den här demonstrationen används inte en klonad lagringsplats här.
Om du väljer att klona en lagringsplats för den här demonstrationen rekommenderar Databricks att lagringsplatsen är tom eller bara har grundläggande filer i den, till exempel README
och .gitignore
. Annars kan befintliga filer på lagringsplatsen synkroniseras i onödan till din Azure Databricks-arbetsyta.
Steg 2: Lägga till anteckningsböcker i projektet
I det här steget lägger du till två notebook-filer i projektet. Den första notebook-filen får en lista över trendiga babynamn sedan 2007 från New York State Department of Healths offentliga datakällor. Se BabyNamn: Trending by Name: Beginning 2007 on the department's website. Den första notebook-filen sparar sedan dessa data i din Azure Databricks Unity Catalog-volym med namnet my-volume
i ett schema med namnet default
i en katalog med namnet main
. Den andra notebook-filen frågar efter sparade data och visar aggregerade antal babynamn efter förnamn och kön för 2014.
Från katalogens rot skapar du den första notebook-filen, en fil med namnet
retrieve-baby-names.py
.Lägg till följande kod i
retrieve-baby-names.py
-filen:# Databricks notebook source import requests response = requests.get('http://health.data.ny.gov/api/views/jxy9-yhdk/rows.csv') csvfile = response.content.decode('utf-8') dbutils.fs.put("/Volumes/main/default/my-volume/babynames.csv", csvfile, True)
Skapa den andra anteckningsboken, en fil med namnet
filter-baby-names.py
, i samma katalog.Lägg till följande kod i
filter-baby-names.py
-filen:# Databricks notebook source babynames = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("/Volumes/main/default/my-volume/babynames.csv") babynames.createOrReplaceTempView("babynames_table") years = spark.sql("select distinct(Year) from babynames_table").toPandas()['Year'].tolist() years.sort() dbutils.widgets.dropdown("year", "2014", [str(x) for x in years]) display(babynames.filter(babynames.Year == dbutils.widgets.get("year")))
Steg 3: Lägg till en paketkonfigurationsschemafil i projektet
Om du använder en IDE som Visual Studio Code, PyCharm Professional eller IntelliJ IDEA Ultimate som ger stöd för YAML-filer och JSON-schemafiler kan du använda din IDE för att inte bara skapa paketkonfigurationsschemafilen utan för att kontrollera projektets paketkonfigurationsfilsyntax och formatering och ge tips om kodkomplettering. enligt följande. Observera att även om paketkonfigurationsfilen som du skapar senare i steg 5 är YAML-baserad, är paketkonfigurationsschemafilen i det här steget JSON-baserad.
Visual Studio Code
Lägg till stöd för YAML-språkservern i Visual Studio Code, till exempel genom att installera YAML-tillägget från Visual Studio Code Marketplace.
Generera JSON-schemafilen för Databricks Asset Bundle-konfigurationen med hjälp av Databricks CLI för att köra
bundle schema
kommandot och omdirigera utdata till en JSON-fil. Generera till exempel en fil med namnetbundle_config_schema.json
i den aktuella katalogen enligt följande:databricks bundle schema > bundle_config_schema.json
Observera att du senare i steg 5 lägger till följande kommentar i början av paketkonfigurationsfilen, som associerar din paketkonfigurationsfil med den angivna JSON-schemafilen:
# yaml-language-server: $schema=bundle_config_schema.json
Kommentar
Om din JSON-schemafil för Databricks Asset Bundle finns i en annan sökväg i föregående kommentar ersätter du
bundle_config_schema.json
med den fullständiga sökvägen till schemafilen.
Pycharm professsional
Generera JSON-schemafilen för Databricks Asset Bundle-konfigurationen med hjälp av Databricks CLI för att köra
bundle schema
kommandot och omdirigera utdata till en JSON-fil. Generera till exempel en fil med namnetbundle_config_schema.json
i den aktuella katalogen enligt följande:databricks bundle schema > bundle_config_schema.json
Konfigurera PyCharm för att identifiera JSON-schemafilen för paketkonfiguration och slutför sedan JSON-schemamappningen genom att följa anvisningarna i Konfigurera ett anpassat JSON-schema.
Observera att du senare i steg 5 använder PyCharm för att skapa eller öppna en paketkonfigurationsfil. Enligt konventionen heter
databricks.yml
den här filen .
Intellij idea ultimate
Generera JSON-schemafilen för Databricks Asset Bundle-konfigurationen med hjälp av Databricks CLI för att köra
bundle schema
kommandot och omdirigera utdata till en JSON-fil. Generera till exempel en fil med namnetbundle_config_schema.json
i den aktuella katalogen enligt följande:databricks bundle schema > bundle_config_schema.json
Konfigurera IntelliJ IDEA för att identifiera JSON-schemafilen för paketkonfiguration och slutför sedan JSON-schemamappningen genom att följa anvisningarna i Konfigurera ett anpassat JSON-schema.
Observera att du senare i steg 5 använder IntelliJ IDEA för att skapa eller öppna en paketkonfigurationsfil. Enligt konventionen heter
databricks.yml
den här filen .
Steg 4: Konfigurera autentisering
I det här steget konfigurerar du autentisering mellan Databricks CLI på utvecklingsdatorn och Azure Databricks-arbetsytan. Den här artikeln förutsätter att du vill använda U2M-autentisering (OAuth user-to-machine) och en motsvarande Azure Databricks-konfigurationsprofil med namnet DEFAULT
för autentisering.
Kommentar
U2M-autentisering är lämpligt för att prova de här stegen i realtid. För helt automatiserade arbetsflöden rekommenderar Databricks att du använder M2M-autentisering (machine-to-machine) för OAuth i stället. Se installationsinstruktionerna för M2M-autentisering i Autentisering.
Använd Databricks CLI för att initiera OAuth-tokenhantering lokalt genom att köra följande kommando för varje målarbetsyta.
I följande kommando ersätter du
<workspace-url>
med url:en för Azure Databricks per arbetsyta, till exempelhttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
Databricks CLI uppmanar dig att spara den information som du angav som en Azure Databricks-konfigurationsprofil. Tryck
Enter
för att acceptera det föreslagna profilnamnet eller ange namnet på en ny eller befintlig profil. Alla befintliga profiler med samma namn skrivs över med den information som du angav. Du kan använda profiler för att snabbt växla autentiseringskontext över flera arbetsytor.Om du vill hämta en lista över befintliga profiler i en separat terminal eller kommandotolk använder du Databricks CLI för att köra kommandot
databricks auth profiles
. Om du vill visa en specifik profils befintliga inställningar kör du kommandotdatabricks auth env --profile <profile-name>
.I webbläsaren slutför du anvisningarna på skärmen för att logga in på din Azure Databricks-arbetsyta.
Om du vill visa en profils aktuella OAuth-tokenvärde och tokens kommande förfallotidsstämpel kör du något av följande kommandon:
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
Om du har flera profiler med samma
--host
värde kan du behöva ange--host
alternativen och-p
tillsammans för att hjälpa Databricks CLI att hitta rätt matchande OAuth-tokeninformation.
Steg 5: Lägg till en paketkonfigurationsfil i projektet
I det här steget definierar du hur du vill distribuera och köra de två notebook-filerna. I den här demonstrationen vill du använda ett Azure Databricks-jobb för att köra den första notebook-filen och sedan den andra notebook-filen. Eftersom den första notebook-filen sparar data och den andra notebook-filen frågar efter sparade data, vill du att den första notebook-filen ska slutföras innan den andra notebook-filen startar. Du modellerar dessa mål i en paketkonfigurationsfil i projektet.
- Från katalogens rot skapar du paketkonfigurationsfilen, en fil med namnet
databricks.yml
. - Lägg till följande kod i
databricks.yml
filen och ersätt<workspace-url>
med url:en per arbetsyta, till exempelhttps://adb-1234567890123456.7.azuredatabricks.net
. Den här URL:en måste matcha den i.databrickscfg
filen:
Dricks
Den första raden, som börjar med # yaml-language-server
, krävs endast om din IDE stöder den. Mer information finns i Steg 3 tidigare.
# yaml-language-server: $schema=bundle_config_schema.json
bundle:
name: baby-names
resources:
jobs:
retrieve-filter-baby-names-job:
name: retrieve-filter-baby-names-job
job_clusters:
- job_cluster_key: common-cluster
new_cluster:
spark_version: 12.2.x-scala2.12
node_type_id: Standard_DS3_v2
num_workers: 1
tasks:
- task_key: retrieve-baby-names-task
job_cluster_key: common-cluster
notebook_task:
notebook_path: ./retrieve-baby-names.py
- task_key: filter-baby-names-task
depends_on:
- task_key: retrieve-baby-names-task
job_cluster_key: common-cluster
notebook_task:
notebook_path: ./filter-baby-names.py
targets:
development:
workspace:
host: <workspace-url>
När det gäller att anpassa jobb motsvarar mappningarna i en jobbdeklaration jobbåtgärdens nyttolast för begäran enligt definitionen i POST /api/2.1/jobs/create i REST API-referensen, uttryckt i YAML-format.
Dricks
Du kan definiera, kombinera och åsidosätta inställningarna för nya jobbkluster i paket med hjälp av de tekniker som beskrivs i Åsidosätt klusterinställningar i Databricks-tillgångspaket.
Steg 6: Verifiera projektets paketkonfigurationsfil
I det här steget kontrollerar du om paketkonfigurationen är giltig.
Använd Databricks CLI för att köra
bundle validate
kommandot enligt följande:databricks bundle validate
Om en sammanfattning av paketkonfigurationen returneras lyckades verifieringen. Om några fel returneras åtgärdar du felen och upprepar sedan det här steget.
Om du gör några ändringar i paketet efter det här steget bör du upprepa det här steget för att kontrollera om paketkonfigurationen fortfarande är giltig.
Steg 7: Distribuera det lokala projektet till fjärrarbetsytan
I det här steget distribuerar du de två lokala notebook-filerna till din fjärranslutna Azure Databricks-arbetsyta och skapar Azure Databricks-jobbet på din arbetsyta.
Använd Databricks CLI för att köra kommandot på
bundle deploy
följande sätt:databricks bundle deploy -t development
Kontrollera om de två lokala notebook-filerna har distribuerats: Klicka på Arbetsyta i azure Databricks-arbetsytans sidofält.
Klicka i mappen Användare >>
<your-username>
.bundle > för babynamnsutvecklingsfiler >>. De två notebook-filerna ska finnas i den här mappen.Kontrollera om jobbet har skapats: Klicka på Arbetsflöden i azure Databricks-arbetsytans sidofält.
På fliken Jobb klickar du på hämta-filtrera-baby-names-job.
Klicka på fliken Uppgifter . Det bör finnas två uppgifter: retrieve-baby-names-task och filter-baby-names-task.
Om du gör några ändringar i paketet efter det här steget bör du upprepa steg 6–7 för att kontrollera om paketkonfigurationen fortfarande är giltig och sedan distribuera om projektet.
Steg 8: Kör det distribuerade projektet
I det här steget kör du Azure Databricks-jobbet på din arbetsyta.
Använd Databricks CLI för att köra
bundle run
kommandot enligt följande:databricks bundle run -t development retrieve-filter-baby-names-job
Kopiera värdet
Run URL
för som visas i terminalen och klistra in det här värdet i webbläsaren för att öppna Azure Databricks-arbetsytan.När de två aktiviteterna har slutförts och de gröna namnlisterna har slutförts på din Azure Databricks-arbetsyta klickar du på aktiviteten filter-baby-names-task för att se frågeresultatet.
Om du gör några ändringar i paketet efter det här steget bör du upprepa steg 6–8 för att kontrollera om paketkonfigurationen fortfarande är giltig, distribuera om projektet och köra det omdistribuerade projektet.
Steg 9: Rensa
I det här steget tar du bort de två distribuerade notebook-filerna och jobbet från din arbetsyta.
Använd Databricks CLI för att köra
bundle destroy
kommandot enligt följande:databricks bundle destroy
Bekräfta begäran om jobbborttagning: När du uppmanas att permanent förstöra resurser skriver
y
du och trycker påEnter
.Bekräfta begäran om borttagning av anteckningsböcker: När du uppmanas att permanent förstöra den tidigare distribuerade mappen och alla dess filer skriver
y
du och trycker påEnter
.
bundle destroy
När kommandot körs tas endast det distribuerade jobbet och mappen som innehåller de två distribuerade notebook-filerna bort. Det här kommandot tar inte bort några biverkningar, till exempel filen babynames.csv
som den första notebook-filen skapade. Gör följande för att ta bort babybnames.csv
filen:
- I sidofältet på din Azure Databricks-arbetsyta klickar du på Katalog.
- Klicka på Bläddra i DBFS.
- Klicka på mappen FileStore .
- Klicka på listrutepilen bredvid babynames.csv och klicka på Ta bort.
- Om du också vill ta bort paketet från utvecklingsdatorn kan du nu ta bort den lokala katalogen från steg 1.
Lägga till en befintlig jobbdefinition i ett paket
Du kan använda en befintlig jobbdefinition som grund för att definiera ett nytt jobb i en paketkonfigurationsfil. Följ stegen nedan.
Kommentar
Följande steg skapar ett nytt jobb som har samma inställningar som det befintliga jobbet. Det nya jobbet har dock ett annat jobb-ID än det befintliga jobbet. Du kan inte automatiskt importera ett befintligt jobb-ID till ett paket.
Steg 1: Hämta den befintliga jobbdefinitionen i YAML-format
I det här steget använder du användargränssnittet för Azure Databricks-arbetsytan för att hämta YAML-representationen av den befintliga jobbdefinitionen.
- I sidofältet för Azure Databricks-arbetsytan klickar du på Arbetsflöden.
- På fliken Jobb klickar du på jobbets namnlänk .
- Bredvid knappen Kör nu klickar du på ellipserna och sedan på Visa YAML.
- På fliken Skapa kopierar du jobbdefinitionens YAML till ditt lokala Urklipp genom att klicka på Kopiera.
Steg 2: Lägg till jobbdefinitionen YAML i en paketkonfigurationsfil
I paketkonfigurationsfilen lägger du till YAML som du kopierade från föregående steg till någon av följande platser som är märkta i paketkonfigurationsfilerna <job-yaml-can-go-here>
på följande sätt:
resources:
jobs:
<some-unique-programmatic-identifier-for-this-job>:
<job-yaml-can-go-here>
targets:
<some-unique-programmatic-identifier-for-this-target>:
resources:
jobs:
<some-unique-programmatic-identifier-for-this-job>:
<job-yaml-can-go-here>
Steg 3: Lägg till notebook-filer, Python-filer och andra artefakter i paketet
Alla Python-filer och notebook-filer som refereras till i det befintliga jobbet bör flyttas till paketets källor.
För bättre kompatibilitet med paket bör notebook-filer använda IPython Notebook-format (.ipynb
). Om du utvecklar paketet lokalt kan du exportera en befintlig notebook-fil från en Azure Databricks-arbetsyta till .ipynb
formatet genom att klicka på Arkivexportera >> IPython Notebook från användargränssnittet för Azure Databricks Notebook. Enligt konventionen bör du sedan placera den nedladdade anteckningsboken src/
i katalogen i ditt paket.
När du har lagt till dina notebook-filer, Python-filer och andra artefakter i paketet kontrollerar du att jobbdefinitionen refererar till dem. För en notebook-fil med filnamnet hello.ipynb
som finns i en src/
katalog, och src/
katalogen finns i samma mapp som paketkonfigurationsfilen som refererar till src/
katalogen, kan jobbdefinitionen uttryckas på följande sätt:
resources:
jobs:
hello-job:
name: hello-job
tasks:
- task_key: hello-task
notebook_task:
notebook_path: ./src/hello.ipynb
Steg 4: Verifiera, distribuera och kör det nya jobbet
Kontrollera att paketets konfigurationsfiler är syntaktiskt korrekta genom att köra följande kommando:
databricks bundle validate
Distribuera paketet genom att köra följande kommando. I det här kommandot ersätter du
<target-identifier>
med den unika programmatiska identifieraren för målet från paketkonfigurationen:databricks bundle deploy -t <target-identifier>
Kör jobbet med följande kommando.
databricks bundle run -t <target-identifier> <job-identifier>
- Ersätt
<target-identifier>
med den unika programmatiska identifieraren för målet från paketkonfigurationen. - Ersätt
<job-identifier>
med den unika programmatiska identifieraren för jobbet från paketkonfigurationen.
- Ersätt
Konfigurera ett jobb som använder serverlös beräkning
Viktigt!
Serverlös beräkning för arbetsflöden finns i offentlig förhandsversion. Information om berättigande och aktivering finns i Aktivera serverlös offentlig förhandsversion av beräkning.
I följande exempel visas paketkonfigurationer för att skapa ett jobb som använder serverlös beräkning.
Om du vill använda serverlös beräkning för att köra ett jobb som innehåller notebook-uppgifter utelämnar du konfigurationen job_clusters
från paketkonfigurationsfilen.
# yaml-language-server: $schema=bundle_config_schema.json
bundle:
name: baby-names
resources:
jobs:
retrieve-filter-baby-names-job-serverless:
name: retrieve-filter-baby-names-job-serverless
tasks:
- task_key: retrieve-baby-names-task
notebook_task:
notebook_path: ./retrieve-baby-names.py
- task_key: filter-baby-names-task
depends_on:
- task_key: retrieve-baby-names-task
notebook_task:
notebook_path: ./filter-baby-names.py
targets:
development:
workspace:
host: <workspace-url>
Om du vill använda serverlös beräkning för att köra ett jobb som innehåller Python-uppgifter inkluderar du konfigurationen environments
.
# yaml-language-server: $schema=bundle_config_schema.json
bundle:
name: serverless-python-tasks
resources:
jobs:
serverless-python-job:
name: serverless-job-with-python-tasks
tasks:
- task_key: wheel-task-1
python_wheel_task:
entry_point: main
package_name: wheel_package
environment_key: Default
environments:
- environment_key: Default
spec:
client: "1"
dependencies:
- workflows_authoring_toolkit==0.0.1
targets:
development:
workspace:
host: <workspace-url>
Se Köra ditt Azure Databricks-jobb med serverlös beräkning för arbetsflöden.
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för