Versiebeheerde broncode gebruiken in een Azure Databricks-taak

U kunt taken uitvoeren met behulp van notebooks of Python-code in een externe Git-opslagplaats of een Databricks Git-map. Deze functie vereenvoudigt het maken en beheren van productietaken en automatiseert continue implementatie:

  • U hoeft geen afzonderlijke productieopslagplaats te maken in Azure Databricks, de bijbehorende machtigingen te beheren en deze up-to-date te houden.
  • U kunt onbedoelde wijzigingen in een productietaak voorkomen, zoals lokale bewerkingen in de productieopslagplaats of wijzigingen van een vertakking.
  • Het taakdefinitieproces heeft één bron van waarheid in de externe opslagplaats en elke taakuitvoering wordt gekoppeld aan een commit-hash.

Als u broncode wilt gebruiken in een externe Git-opslagplaats, moet u Databricks Git-mappen (opslagplaatsen) instellen.

Notitie

Als uw taak wordt uitgevoerd met behulp van een service-principal als de identiteit, kunt u de service-principal configureren in de Git-map met de broncode van de taak. Zie Een service-principal gebruiken met Databricks Git-mappen.

Een notebook gebruiken vanuit een externe Git-opslagplaats

Een taak maken met een notebook in een externe Git-opslagplaats:

  1. Klik op Pictogram TakenWerkstromen in de zijbalk en klik Knop Taak maken of ga naar een bestaande taak en voeg een nieuwe taak toe.

  2. Als dit een nieuwe taak is, vervangt u Een naam voor uw taak toevoegen... door uw taaknaam.

  3. Voer een naam in voor de taak in het veld Taaknaam .

  4. Selecteer Notitieblok in het vervolgkeuzemenu Type.

  5. Selecteer git-provider in de vervolgkeuzelijst Bron en klik op Bewerken of Een Git-verwijzing toevoegen. Het dialoogvenster Git-gegevens wordt weergegeven.

  6. Voer in het dialoogvenster Git-gegevens details in voor de opslagplaats, inclusief de URL van de opslagplaats, de Git-provider en de Git-verwijzing. Deze Git-verwijzing kan een vertakking, een tag of een doorvoering zijn.

    Voer voor Pad een relatief pad in naar de locatie van het notitieblok, zoals etl/notebooks/.

    Wanneer u het relatieve pad invoert, begint u het niet met / of ./en neemt u de bestandsextensie van het notitieblok niet op, zoals .py. Als het absolute pad voor het notitieblok dat u wilt openen bijvoorbeeld is /notebooks/covid_eda_raw.py, voert notebooks/covid_eda_raw u dit in het veld Pad in.

  7. Klik op Create.

Python-code gebruiken vanuit een externe Git-opslagplaats

Een taak maken met Python-code in een externe Git-opslagplaats:

  1. Klik op Pictogram TakenWerkstromen in de zijbalk en klik Knop Taak maken of ga naar een bestaande taak en voeg een nieuwe taak toe.

  2. Als dit een nieuwe taak is, vervangt u Een naam voor uw taak toevoegen... door uw taaknaam.

  3. Voer een naam in voor de taak in het veld Taaknaam .

  4. Selecteer Python-script in het vervolgkeuzemenu Type.

  5. Selecteer git-provider in de vervolgkeuzelijst Bron en klik op Bewerken of Een Git-verwijzing toevoegen. Het dialoogvenster Git-gegevens wordt weergegeven.

  6. Voer in het dialoogvenster Git-gegevens details in voor de opslagplaats, inclusief de URL van de opslagplaats, de Git-provider en de Git-verwijzing. Deze Git-verwijzing kan een vertakking, een tag of een doorvoering zijn.

    Voer voor Pad een relatief pad in naar de bronlocatie, zoals etl/python/python_etl.py.

    Wanneer u het relatieve pad invoert, begint u het niet met / of ./. Als het absolute pad voor de Python-code die u wilt openen bijvoorbeeld is /python/covid_eda_raw.py, voert python/covid_eda_raw.py u het veld Pad in.

  7. Klik op Create.

Wanneer u de uitvoeringsgeschiedenis van een taak bekijkt waarop Python-code wordt uitgevoerd die is opgeslagen in een externe Git-opslagplaats, bevat het deelvenster Taakuitvoeringsgegevens Git-details, inclusief de doorvoer-SHA die is gekoppeld aan de uitvoering.

SQL-query's gebruiken vanuit een externe Git-opslagplaats

Notitie

Er wordt slechts één SQL-instructie ondersteund in een bestand. Meerdere SQL-instructies gescheiden door puntkomma's (;) zijn niet toegestaan.

Query's uitvoeren die zijn opgeslagen in .sql bestanden in een externe Git-opslagplaats:

  1. Klik op Pictogram TakenWerkstromen in de zijbalk en klik Knop Taak maken of ga naar een bestaande taak en voeg een nieuwe taak toe.

  2. Als dit een nieuwe taak is, vervangt u Een naam voor uw taak toevoegen... door uw taaknaam.

  3. Voer een naam in voor de taak in het veld Taaknaam .

  4. Selecteer SQL in het vervolgkeuzemenu Type.

  5. Selecteer Bestand in het vervolgkeuzemenu van de SQL-taak.

  6. Selecteer git-provider in de vervolgkeuzelijst Bron en klik op Bewerken of Een Git-verwijzing toevoegen. Het dialoogvenster Git-gegevens wordt weergegeven.

  7. Voer in het dialoogvenster Git-gegevens details in voor de opslagplaats, inclusief de URL van de opslagplaats, de Git-provider en de Git-verwijzing. Deze Git-verwijzing kan een vertakking, een tag of een doorvoering zijn.

    Voer voor Pad een relatief pad in naar de bronlocatie, zoals queries/sql/myquery.sql.

    Wanneer u het relatieve pad invoert, begint u het niet met / of ./. Als het absolute pad voor de SQL-query die u wilt openen bijvoorbeeld is /sql/myqeury.sql, voert sql/myquery.sql u dit in het veld Pad in.

  8. Selecteer een SQL-warehouse. U moet een serverloos SQL Warehouse of een pro SQL Warehouse selecteren.

  9. Klik op Create.

Aanvullende taken toevoegen vanuit een externe Git-opslagplaats

Aanvullende taken in een multitask-taak kunnen op een van de volgende manieren verwijzen naar dezelfde doorvoer in de externe opslagplaats:

  • sha van $branch/head wanneer git_branch is ingesteld
  • sha van $tag wanneer git_tag is ingesteld
  • de waarde van git_commit

U kunt notebook- en Python-taken combineren in een Azure Databricks-taak, maar ze moeten dezelfde Git-verwijzing gebruiken.

Een Databricks Git-map gebruiken

Als u liever de Gebruikersinterface van Azure Databricks gebruikt om uw broncode te beheren, kloont u uw opslagplaats in een Git-map van Databricks. Zie Optie 2 voor meer informatie: Een Git-productiemap en Git-automatisering instellen.

Als u een notebook of Python-code wilt toevoegen vanuit een Git-map in een taaktaak, selecteert u In de vervolgkeuzelijst Bron werkruimte en voert u het pad in naar de notebook- of Python-code in Path.

Toegang tot notebooks vanuit een IDE

Als u toegang wilt krijgen tot notebooks vanuit een geïntegreerde ontwikkelomgeving, controleert u of u de opmerking # Databricks notebook source bovenaan het broncodebestand van het notebook hebt. Databricks voegt de regel # Databricks notebook source boven aan het broncodebestand van het notebook toe om onderscheid te maken tussen een gewoon Python-bestand en een Python-taalnotitieblok dat is geëxporteerd in broncode-indeling in Azure Databricks. Wanneer u het notebook importeert, herkent Azure Databricks het en importeert het als een notebook, niet als een Python-module.

Probleemoplossing

Notitie

Git-taken bieden geen ondersteuning voor schrijftoegang tot werkruimtebestanden. Als u gegevens naar een tijdelijke opslaglocatie wilt schrijven, gebruikt u stuurprogrammaopslag. Als u permanente gegevens van een Git-taak wilt schrijven, gebruikt u een UC-volume of DBFS.

Foutbericht:

Run result unavailable: job failed with error message Notebook not found: path-to-your-notebook

Mogelijke oorzaken:

In het notitieblok ontbreekt de opmerking # Databricks notebook source boven aan het broncodebestand van het notitieblok, of in de opmerking, notebook wanneer deze moet beginnen met kleine letters n.