Utveckla en Python-hjulfil med databricks-tillgångspaket

Den här artikeln beskriver hur du skapar, distribuerar och kör en Python-hjulfil som en del av ett Databricks Asset Bundle-projekt . Se Vad är Databricks-tillgångspaket?

Krav

Beslut: Skapa paketet manuellt eller med hjälp av en mall

Bestäm om du vill skapa ett startpaket med hjälp av en mall eller skapa paketet manuellt. Det går snabbare och enklare att skapa paketet med hjälp av en mall, men paketet kan skapa innehåll som inte behövs och standardinställningarna för paketet måste anpassas ytterligare för verkliga program. När du skapar paketet manuellt får du fullständig kontroll över paketets inställningar, men du måste känna till hur paket fungerar, eftersom du gör allt arbete från början. Välj någon av följande steg:

Skapa paketet med hjälp av en mall

I de här stegen skapar du paketet med azure Databricks-standardpaketmallen för Python. De här stegen hjälper dig att skapa ett paket som består av filer som ska byggas in i en Python-hjulfil och definitionen av ett Azure Databricks-jobb för att skapa den här Python-hjulfilen. Sedan validerar, distribuerar och skapar du de distribuerade filerna i en Python-hjulfil från Python-hjuljobbet på din Azure Databricks-arbetsyta.

Azure Databricks standardpaketmall för Python använder setuptools för att skapa Python-hjulfilen. Om du vill använda Poetry för att skapa Python-hjulfilen i stället följer du anvisningarna senare i det här avsnittet för att byta ut implementeringen setuptools mot en poesiimplementering i stället.

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.

  1. 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 exempel https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. 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 kommandot databricks auth env --profile <profile-name>.

  3. I webbläsaren slutför du anvisningarna på skärmen för att logga in på din Azure Databricks-arbetsyta.

  4. 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 arbetsflöden som du vill köra.

  1. Använd terminalen eller kommandotolken för att växla till en katalog på den lokala utvecklingsdatorn som innehåller mallens genererade paket.

  2. Använd Databricks CLI-versionen för att köra bundle init kommandot:

    databricks bundle init
    
  3. För Template to uselämnar du standardvärdet för default-python genom att trycka på Enter.

  4. För Unique name for this projectlämnar du standardvärdet my_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.

  5. För Include a stub (sample) notebookväljer och trycker du noEnter. Detta instruerar Databricks CLI att inte lägga till en exempelanteckningsbok i ditt paket.

  6. För Include a stub (sample) DLT pipelineväljer och trycker du noEnter. Detta instruerar Databricks CLI att inte definiera en Delta Live Tables-exempelpipeline i ditt paket.

  7. För Include a stub (sample) Python packagelämnar du standardvärdet för yes genom att trycka på Enter. Detta instruerar Databricks CLI att lägga till pythonhjulspaketfiler och 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 Python-hjuljobbdefinitionen och anger inställningar för målarbetsytan.
  • resources/<project-name>_job.yml: Den här filen anger inställningarna för Python-hjuljobbet.
  • src/<project-name>: Den här katalogen innehåller de filer som Python-hjuljobbet använder för att skapa Python-hjulfilen.

Kommentar

Om du vill installera Python-hjulfilen på ett målkluster som har Databricks Runtime 12.2 LTS eller senare installerat måste du lägga till följande mappning på den översta nivån i databricks.yml filen:

# Applies to all tasks of type python_wheel_task.
experimental:
  python_wheel_wrapper: true

Den här mappningen instruerar Databricks CLI att göra följande:

  • Distribuera en kopia av Python-hjulfilen i bakgrunden. Den här distributionssökvägen är vanligtvis ${workspace.artifact_path}/.internal/<random-id>/<wheel-filename>.whl.
  • Skapa en notebook-fil i bakgrunden som innehåller instruktioner för att installera den tidigare distribuerade Python-hjulfilen i målklustret. Den här notebook-filens sökväg är vanligtvis ${workspace.file_path}/.databricks/bundle/<target-name>/.internal/notebook_<job-name>_<task-key>.
  • När du kör ett jobb som innehåller en Python-hjulaktivitet och uppgifterna refererar till föregående Python-hjulfil skapas ett jobb i bakgrunden som kör den föregående notebook-filen.

Du behöver inte ange den här mappningen för målkluster med Databricks Runtime 13.1 eller senare installerat, eftersom Python-hjulinstallationer från Azure Databricks-arbetsytans filsystem installeras automatiskt på dessa målkluster.

Steg 4: Uppdatera projektets paket för att använda Poesi

Som standard anger paketmallen att du skapar Python-hjulfilen tillsammans setuptools med filerna setup.py och requirements-dev.txt. Om du vill behålla dessa standardvärden går du vidare till Steg 5: Verifiera projektets paketkonfigurationsfil.

Om du vill uppdatera projektets paket så att det använder Poesi i stället för setuptoolskontrollerar du att din lokala utvecklingsdator uppfyller följande krav:

  • Poesi version 1.6 eller senare. Om du vill kontrollera den installerade versionen av Poetry kör du kommandot poetry -V eller poetry --version. Information om hur du installerar eller uppgraderar Poesi finns i Installation.
  • Python version 3.10 eller senare. Om du vill kontrollera din version av Python kör du kommandot python -V eller python --version.
  • Databricks CLI version 0.209.0 eller senare. Kör kommandot databricks -v eller databricks --versiontill din version av Databricks CLI. Se Installera eller uppdatera Databricks CLI.

Gör följande ändringar i projektets paket:

  1. Från paketets rotkatalog instruerar du poetry att initiera Python-hjulbyggen för Poetry genom att köra följande kommando:

    poetry init
    
  2. Poesi visar flera uppmaningar som du kan slutföra. För Python-hjulbyggen svarar du på följande frågor för att matcha de relaterade standardinställningarna i projektets paket:

    1. För Package nameskriver du namnet på den underordnade mappen under /srcoch trycker sedan på Enter. Detta bör också vara paketets name värde som definieras i paketets setup.py fil.
    2. För Versionskriver 0.0.1 och trycker du på Enter. Detta matchar versionsnumret som definieras i paketets src/<project-name>/__init__.py fil.
    3. För Descriptionskriver wheel file based on <project-name>/src du (ersätter <project-name> med projektets namn) och trycker på Enter. Detta matchar det description värde som definieras i mallens setup.py fil.
    4. Tryck på Enterför Author. Det här standardvärdet matchar författaren som definieras i mallens setup.py fil.
    5. Tryck på Enterför License. Det finns ingen licens definierad i mallen.
    6. För Compatible Python versionsanger du den Python-version som matchar den i dina Azure Databricks-målkluster (till exempel ^3.10) och trycker på Enter.
    7. För Would you like to define your main dependencies interactively? Typ no och tryck på Enter. Du kommer att definiera dina beroenden senare.
    8. För Would you like to define your development dependencies interactively? Typ no och tryck på Enter. Du kommer att definiera dina beroenden senare.
    9. För Do you confirm generation? Tryck på Enter.
  3. När du har slutfört anvisningarna lägger Poetry till en pyproject.toml fil i paketets projekt. Information om filen finns i pyproject.toml filen pyproject.toml.

  4. Från paketets rotkatalog instruerar du poetry att läsa pyproject.toml filen, lösa beroendena och installera dem, skapa en poetry.lock fil för att låsa beroendena och slutligen skapa en virtuell miljö. Gör detta genom att köra följande kommando:

    poetry install
    
  5. Lägg till följande avsnitt i slutet av pyproject.toml filen och ersätt <project-name> med namnet på katalogen som innehåller src/<project-name>/main.py filen (till exempel my_project):

    [tool.poetry.scripts]
    main = "<project-name>.main:main"
    

    Avsnittet anger Python-hjulets startpunkt för Python-hjuljobbet.

  6. Lägg till följande mappning på den översta nivån i paketets databricks.yml fil:

    artifacts:
      default:
        type: whl
        build: poetry build
        path: .
    

    Den här mappningen instruerar Databricks CLI att använda Poetry för att skapa en Python-hjulfil.

  7. setup.py Ta bort filerna och requirements-dev.txt från paketet eftersom Poesi inte behöver dem.

Steg 5: Verifiera projektets paketkonfigurationsfil

I det här steget kontrollerar du om paketkonfigurationen är giltig.

  1. Från rotkatalogen använder du Databricks CLI för att köra bundle validate kommandot enligt följande:

    databricks bundle validate
    
  2. 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 6: Skapa Python-hjulfilen och distribuera det lokala projektet till fjärrarbetsytan

I det här steget skapar du Python-hjulfilen, distribuerar den byggda Python-hjulfilen till din fjärranslutna Azure Databricks-arbetsyta och skapar Azure Databricks-jobbet på din arbetsyta.

  1. Om du använder setuptoolsinstallerar du paketen wheel och setuptools om du inte redan har gjort det genom att köra följande kommando:

    pip3 install --upgrade wheel setuptools
    
  2. I Visual Studio Code-terminalen använder du Databricks CLI för att köra bundle deploy kommandot på följande sätt:

    databricks bundle deploy -t dev
    
  3. Om du vill kontrollera om den lokalt byggda Python-hjulfilen har distribuerats:

    1. Klicka på Arbetsyta i sidofältet på azure Databricks-arbetsytan.
    2. Klicka i följande mapp: Workspace > Users<your-username>>> .bundle ><project-name>> dev > artifacts > .internal .><random-guid>

    Python-hjulfilen ska finnas i den här mappen.

  4. Om du vill kontrollera om jobbet har skapats:

    1. I sidofältet för Azure Databricks-arbetsytan klickar du på Arbetsflöden.
    2. På fliken Jobb klickar du på [dev <your-username>] <project-name>_job.
    3. Klicka på fliken Uppgifter .

    Det bör finnas en uppgift: main_task.

Om du gör några ändringar i paketet efter det här steget bör du upprepa steg 5–6 för att kontrollera om paketkonfigurationen fortfarande är giltig och sedan distribuera om projektet.

Steg 7: Kör det distribuerade projektet

I det här steget kör du Azure Databricks-jobbet på din arbetsyta.

  1. 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
    
  2. 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.

  3. När uppgiften har slutförts och visar ett grönt namnfält i Din Azure Databricks-arbetsyta klickar du på main_task uppgift för att se resultatet.

Om du gör några ändringar i paketet efter det här steget bör du upprepa steg 5–7 för att kontrollera om paketkonfigurationen fortfarande är giltig, distribuera om projektet och köra det omdistribuerade projektet.

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 paketet från början för hand. De här stegen hjälper dig att skapa ett paket som består av filer som ska byggas in i en Python-hjulfil och definitionen av ett Databricks-jobb för att skapa den här Python-hjulfilen. Sedan validerar, distribuerar och skapar du de distribuerade filerna i en Python-hjulfil från Python-hjuljobbet på din Databricks-arbetsyta.

De här stegen omfattar att lägga till innehåll i en YAML-fil. Du kan också använda en integrerad utvecklingsmiljö (IDE) som ger automatiska schemaförslag och åtgärder när du arbetar med YAML-filer. Följande steg använder Visual Studio Code med YAML-tillägget installerat från Visual Studio Code Marketplace.

De här stegen förutsätter att du redan vet:

Följ dessa instruktioner för att skapa ett exempelpaket som skapar en Python-hjulfil med Poetry eller setuptools, distribuerar Python-hjulfilen och kör sedan den distribuerade Python-hjulfilen.

Om du redan har skapat en Python-hjulfil och bara vill distribuera och köra den går du vidare till att ange Python-hjulinställningarna i paketkonfigurationsfilen i steg 3: Skapa paketets konfigurationsfil.

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.

  1. 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 exempel https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. 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 kommandot databricks auth env --profile <profile-name>.

  3. I webbläsaren slutför du anvisningarna på skärmen för att logga in på din Azure Databricks-arbetsyta.

  4. 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 arbetsflöden som du vill köra.

  1. Skapa följande mappar och filer i paketets rot beroende på om du använder Poesi eller setuptools för att skapa Python-hjulfiler:

    Poesi

    ├── src
    │     └── my_package
    │           ├── __init__.py
    │           ├── main.py
    │           └── my_module.py
    └── pyproject.toml
    

    Setuptools

    ├── src
    │     └── my_package
    │           ├── __init__.py
    │           ├── main.py
    │           └── my_module.py
    └── setup.py
    
  2. __init__.py Lämna filen tom.

  3. Lägg till följande kod i main.py filen och spara sedan filen:

    from my_package.my_module import *
    
    def main():
    
      first = 200
      second = 400
    
      print(f"{first} + {second} = {add_two_numbers(first, second)}")
      print(f"{second} - {first} = {subtract_two_numbers(second, first)}")
      print(f"{first} * {second} = {multiply_two_numbers(first, second)}")
      print(f"{second} / {first} = {divide_two_numbers(second, first)}")
    
    if __name__ == "__main__":
      main()
    
  4. Lägg till följande kod i my_module.py filen och spara sedan filen:

    def add_two_numbers(a, b):
      return a + b
    
    def subtract_two_numbers(a, b):
      return a - b
    
    def multiply_two_numbers(a, b):
      return a * b
    
    def divide_two_numbers(a, b):
      return a / b
    
  5. Lägg till följande kod i pyproject.toml filen eller setup.py och spara sedan filen:

    Pyproject.toml

    [tool.poetry]
    name = "my_package"
    version = "0.0.1"
    description = "<my-package-description>"
    authors = ["my-author-name <my-author-name>@<my-organization>"]
    
    [tool.poetry.dependencies]
    python = "^3.10"
    
    [build-system]
    requires = ["poetry-core"]
    build-backend = "poetry.core.masonry.api"
    
    [tool.poetry.scripts]
    main = "my_package.main:main"
    
    • Ersätt my-author-name med organisationens primära kontaktnamn.
    • Ersätt my-author-name>@<my-organization med organisationens primära e-postadress.
    • Ersätt <my-package-description> med en visningsbeskrivning för Python-hjulfilen.

    Setup.py

    from setuptools import setup, find_packages
    
    import src
    
    setup(
      name = "my_package",
      version = "0.0.1",
      author = "<my-author-name>",
      url = "https://<my-url>",
      author_email = "<my-author-name>@<my-organization>",
      description = "<my-package-description>",
      packages=find_packages(where='./src'),
      package_dir={'': 'src'},
      entry_points={
        "packages": [
          "main=my_package.main:main"
        ]
      },
      install_requires=[
        "setuptools"
      ]
    )
    
    • Ersätt https://<my-url> med organisationens URL.
    • Ersätt <my-author-name> med organisationens primära kontaktnamn.
    • Ersätt <my-author-name>@<my-organization> med organisationens primära e-postadress.
    • Ersätt <my-package-description> med en visningsbeskrivning för Python-hjulfilen.

Steg 3: Skapa paketets konfigurationsfil

En paketkonfigurationsfil beskriver de artefakter som du vill distribuera och de arbetsflöden som du vill köra.

  1. Lägg till en paketkonfigurationsfil med namnet databricks.ymli paketets rot. Lägg till följande kod i den här filen:

    Poesi

    Kommentar

    Om du redan har skapat en Python-hjulfil och bara vill distribuera den ändrar du följande paketkonfigurationsfil genom att utelämna mappningen artifacts . Databricks CLI förutsätter sedan att Python-hjulfilen redan har skapats och distribuerar automatiskt de filer som anges i matrisens libraries whl poster.

    bundle:
      name: my-wheel-bundle
    
    artifacts:
      default:
        type: whl
        build: poetry build
        path: .
    
    resources:
      jobs:
        wheel-job:
          name: wheel-job
          tasks:
            - task_key: wheel-task
              new_cluster:
                spark_version: 13.3.x-scala2.12
                node_type_id: Standard_DS3_v2
                data_security_mode: USER_ISOLATION
                num_workers: 1
              python_wheel_task:
                entry_point: main
                package_name: my_package
              libraries:
                - whl: ./dist/*.whl
    
    targets:
      dev:
        workspace:
        host: <workspace-url>
    

    Setuptools

    bundle:
      name: my-wheel-bundle
    
    resources:
      jobs:
        wheel-job:
          name: wheel-job
          tasks:
            - task_key: wheel-task
              new_cluster:
                spark_version: 13.3.x-scala2.12
                node_type_id: Standard_DS3_v2
                data_security_mode: USER_ISOLATION
                num_workers: 1
              python_wheel_task:
                entry_point: main
                package_name: my_package
              libraries:
                - whl: ./dist/*.whl
    
    targets:
      dev:
        workspace:
        host: <workspace-url>
    

    Ersätt <workspace-url> med url:en per arbetsyta, till exempel https://adb-1234567890123456.7.azuredatabricks.net.

    Mappningen artifacts krävs för att skapa Python-hjulfiler med Poetry och är valfritt för att skapa Python-hjulfiler med setuptools. Mappningen artifacts innehåller en eller flera artefaktdefinitioner med följande mappningar:

    • Mappningen type måste finnas och anges till whl för att ange att en Python-hjulfil ska skapas. whl För setuptoolsär standardvärdet om inga artefaktdefinitioner har angetts.
    • Mappningen path anger sökvägen till pyproject.toml filen för Poesi eller till setup.py filen för setuptools. Den här sökvägen är relativ till databricks.yml filen. För setuptoolsär . den här sökvägen (samma katalog som filen) som databricks.yml standard.
    • Mappningen build anger alla anpassade byggkommandon som ska köras för att skapa Python-hjulfilen. För setuptoolsär python3 setup.py bdist wheel det här kommandot som standard.
    • Mappningen files består av en eller flera source mappningar som anger eventuella ytterligare filer som ska inkluderas i Python-hjulversionen. Det finns inget standardvärde.

    Kommentar

    Om du vill installera Python-hjulfilen på ett målkluster som har Databricks Runtime 12.2 LTS eller senare installerat måste du lägga till följande mappning på den översta nivån i databricks.yml filen:

    # Applies to jobs with python_wheel_task and that use
    # clusters with Databricks Runtime 13.0 or below installed.
    experimental:
      python_wheel_wrapper: true
    

    Den här mappningen instruerar Databricks CLI att göra följande:

    • Distribuerar en kopia av Python-hjulfilen i bakgrunden. Den här distributionssökvägen är vanligtvis ${workspace.artifact_path}/.internal/<random-id>/<wheel-filename>.whl.
    • Skapar en notebook-fil i bakgrunden som innehåller instruktioner för att installera den tidigare distribuerade Python-hjulfilen i målklustret. Den här notebook-filens sökväg är vanligtvis ${workspace.file_path}/.databricks/bundle/<target-name>/.internal/notebook_<job-name>_<task-key>.
    • När du kör ett jobb som innehåller en Python-hjulaktivitet och den uppgiften refererar till föregående Python-hjulfil skapas ett jobb i bakgrunden som kör den föregående notebook-filen.

    Du behöver inte ange den här mappningen för målkluster med Databricks Runtime 13.1 eller senare installerat, eftersom Python-hjulinstallationer från Azure Databricks-arbetsytans filsystem installeras automatiskt på dessa målkluster.

  2. Om du använder Poesi gör du följande:

    • Installera Poetry, version 1.6 eller senare, om det inte redan är installerat. Om du vill kontrollera den installerade versionen av Poetry kör du kommandot poetry -V eller poetry --version.
    • Kontrollera att python version 3.10 eller senare är installerad. Om du vill kontrollera din version av Python kör du kommandot python -V eller python --version.
    • Kontrollera att du har Databricks CLI version 0.209.0 eller senare. Kör kommandot databricks -v eller databricks --versiontill din version av Databricks CLI. Se Installera eller uppdatera Databricks CLI.
  3. Om du använder setuptoolsinstallerar du paketen wheel och setuptools om de inte redan är installerade genom att köra följande kommando:

    pip3 install --upgrade wheel setuptools
    
  4. Om du tänker lagra det här paketet med en Git-provider lägger du till en .gitignore fil i projektets rot och lägger till följande poster i den här filen:

    Poesi

    .databricks
    dist
    

    Setuptools

    .databricks
    build
    dist
    src/my_package/my_package.egg-info
    

Steg 4: Verifiera projektets paketkonfigurationsfil

I det här steget kontrollerar du om paketkonfigurationen är giltig.

  1. Verifiera paketkonfigurationsfilen från rotkatalogen:

    databricks bundle validate
    
  2. 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: Skapa Python-hjulfilen och distribuera det lokala projektet till fjärrarbetsytan

Skapa Python-hjulfilen lokalt, distribuera den byggda Python-hjulfilen till din arbetsyta, distribuera anteckningsboken till din arbetsyta och skapa jobbet på din arbetsyta:

databricks bundle deploy -t dev

Steg 6: Kör det distribuerade projektet

  1. Kör det distribuerade jobbet, som använder den distribuerade notebook-filen för att anropa den distribuerade Python-hjulfilen:

    databricks bundle run -t dev wheel-job
    
  2. I utdata kopierar Run URL du och klistrar in den i webbläsarens adressfält.

  3. På jobbkörningens utdatasida visas följande resultat:

    200 + 400 = 600
    400 - 200 = 200
    200 * 400 = 80000
    400 / 200 = 2.0
    

Om du gör några ändringar i paketet efter det här steget bör du upprepa steg 3–5 för att kontrollera om paketkonfigurationen fortfarande är giltig, distribuera om projektet och köra det omdistribuerade projektet.

Skapa och installera en Python-hjulfil för ett jobb

Om du vill skapa en Python-hjulfil med Poetry eller setuptoolsoch sedan använda python-hjulfilen i ett jobb måste du lägga till en eller två mappningar i databricks.yml filen.

Om du använder Poesi måste du inkludera följande artifacts mappning i databricks.yml filen. Den här mappningen kör poetry build kommandot och använder pyproject.toml filen som finns i samma katalog som databricks.yml filen:

artifacts:
  default:
    type: whl
    build: poetry build
    path: .

Kommentar

Mappningen artifacts är valfri för setuptools. För Databricks CLI kör som standard setuptools kommandot och använder setup.py filen som finns i samma katalog som databricks.yml python3 setup.py bdist_wheel filen. Databricks CLI förutsätter att du redan har kört ett kommando, till exempel pip3 install --upgrade wheel setuptools för att installera paketen wheel och setuptools om de inte redan är installerade.

Jobbuppgiftens libraries mappning måste också innehålla ett whl värde som anger sökvägen till den byggda Python-hjulfilen i förhållande till konfigurationsfilen där den deklareras. I följande exempel visas detta i en notebook-uppgift (ellipsen indikerar utelämnat innehåll för korthet):

resources:
  jobs:
    my-notebook-job:
      name: my-notebook-job
      tasks:
        - task_key: my-notebook-job-notebook-task
          notebook_task:
            notebook_path: ./my_notebook.py
          libraries:
            - whl: ./dist/*.whl
          new_cluster:
            # ...

Skapa och installera en Python-hjulfil för en pipeline

Om du vill skapa en Python-hjulfil med Poetry eller setuptools och sedan referera till Python-hjulfilen i en Delta Live Tables-pipeline måste du lägga till en mappning i databricks.yml filen om du använder Poesi och du måste lägga till ett %pip install kommando i pipeline notebook-filen på följande sätt.

Om du använder Poesi måste du inkludera följande artifacts mappning i databricks.yml filen. Den här mappningen kör poetry build kommandot och använder pyproject.toml filen som finns i samma katalog som databricks.yml filen:

artifacts:
  default:
    type: whl
    build: poetry build
    path: .

Kommentar

Mappningen artifacts är valfri för setuptools. För Databricks CLI kör som standard setuptools kommandot och använder setup.py filen som finns i samma katalog som databricks.yml python3 setup.py bdist_wheel filen. Databricks CLI förutsätter att du redan har kört ett kommando, till exempel pip3 install --upgrade wheel setuptools för att installera paketen wheel och setuptools om de inte redan är installerade.

Dessutom måste den relaterade pipelineanteckningsboken innehålla ett %pip install kommando för att installera Python-hjulfilen som skapas. Se Python-bibliotek.