Delen via


Wat zijn Databricks Asset Bundles?

Databricks Asset Bundles is een hulpprogramma om de acceptatie van best practices voor software-engineering te vergemakkelijken, waaronder broncodebeheer, codebeoordeling, testen en continue integratie en levering (CI/CD) voor uw gegevens en AI-projecten. Met bundels kunt u Databricks-resources, zoals taken, pijplijnen en notebooks, beschrijven als bronbestanden. Deze bronbestanden bieden een end-to-end definitie van een project, inclusief hoe het moet worden gestructureerd, getest en geïmplementeerd, waardoor het gemakkelijker is om tijdens actieve ontwikkeling samen te werken aan projecten.

Bundels bieden een manier om metagegevens op te nemen naast de bronbestanden van uw project. Wanneer u een project implementeert met behulp van bundels, worden deze metagegevens gebruikt om infrastructuur en andere resources in te richten. De verzameling bronbestanden en metagegevens van uw project wordt vervolgens geïmplementeerd als één bundel naar uw doelomgeving. Een bundel bevat de volgende onderdelen:

  • Vereiste cloudinfrastructuur- en werkruimteconfiguraties
  • Bronbestanden, zoals notebooks en Python-bestanden, die de bedrijfslogica bevatten
  • Definities en instellingen voor Databricks-resources, zoals Azure Databricks-taken, Delta Live Tables-pijplijnen, eindpunten voor modelverdiening, MLflow-experimenten en geregistreerde MLflow-modellen
  • Eenheidstests en integratietests

Het volgende diagram biedt een algemeen overzicht van een ontwikkelings- en CI/CD-pijplijn met bundels:

Overzicht van Databricks Asset Bundles

Wanneer moet ik Databricks Asset Bundles gebruiken?

Databricks Assets Bundles is een IaC-benadering (infrastructure-as-code) voor het beheren van uw Databricks-projecten. Gebruik ze als u complexe projecten wilt beheren waarbij meerdere inzenders en automatisering essentieel zijn, en continue integratie en implementatie (CI/CD) een vereiste zijn. Omdat bundels worden gedefinieerd en beheerd via YAML-sjablonen en -bestanden die u naast broncode maakt en onderhoudt, worden ze goed toegewezen aan scenario's waarbij IaC een geschikte benadering is.

Enkele ideale scenario's voor bundels zijn:

  • Ontwikkel gegevens-, analyse- en ML-projecten in een teamomgeving. Bundels kunnen u helpen bij het efficiënt organiseren en beheren van verschillende bronbestanden. Dit zorgt voor een soepele samenwerking en gestroomlijnde processen.
  • Itereer sneller op ML-problemen. Beheer ML-pijplijnbronnen (zoals trainings- en batchdeductietaken) met behulp van ML-projecten die vanaf het begin de best practices voor productie volgen.
  • Stel organisatiestandaarden in voor nieuwe projecten door aangepaste bundelsjablonen te ontwerpen die standaardmachtigingen, service-principals en CI/CD-configuraties bevatten.
  • Naleving van regelgeving: in branches waar naleving van regelgeving een belangrijk probleem is, kunnen bundels helpen bij het onderhouden van een versiegeschiedenis van code- en infrastructuurwerkzaamheden. Dit helpt bij governance en zorgt ervoor dat aan de vereiste nalevingsstandaarden wordt voldaan.

Hoe werken Databricks Asset Bundles?

Bundelmetagegevens worden gedefinieerd met BEHULP van YAML-bestanden die de artefacten, resources en configuratie van een Databricks-project opgeven. U kunt dit YAML-bestand handmatig maken of er een genereren met behulp van een bundelsjabloon. De Databricks CLI kan vervolgens worden gebruikt om bundels te valideren, implementeren en uitvoeren met behulp van deze YAML-bundelbestanden. U kunt bundelprojecten rechtstreeks uitvoeren vanuit IDE's, terminals of in Databricks. In dit artikel wordt de Databricks CLI gebruikt.

Bundels kunnen handmatig of op basis van een sjabloon worden gemaakt. De Databricks CLI biedt standaardsjablonen voor eenvoudige gebruiksvoorbeelden, maar voor specifiekere of complexere taken kunt u aangepaste bundelsjablonen maken om de aanbevolen procedures van uw team te implementeren en algemene configuraties consistent te houden.

Zie Databricks Asset Bundles voor meer informatie over de configuratie-YAML die wordt gebruikt om Databricks Asset Bundles uit te drukken.

Uw omgeving configureren voor het gebruik van bundels

Gebruik de Databricks CLI om eenvoudig bundels vanaf de opdrachtregel te implementeren. U kunt controleren of de Databricks CLI is geïnstalleerd en de huidige versie die u gebruikt door de volgende opdracht uit te voeren:

databricks --version

Notitie

Databricks CLI versie 0.218.0 of hoger is vereist. Zie De Databricks CLI installeren of bijwerken om de Databricks CLI te installeren of bij te werken.

Controleer na de installatie van de Databricks CLI of uw externe Databricks-werkruimten correct zijn geconfigureerd. Bundels vereisen dat de functie voor werkruimtebestanden is ingeschakeld, omdat deze functie ondersteuning biedt voor het werken met andere bestanden dan Databricks Notebooks, zoals .py en .yml bestanden. Als u Databricks Runtime versie 11.2 (of hoger) gebruikt, moet deze functie standaard zijn ingeschakeld.

Verificatie

Azure Databricks biedt verschillende verificatiemethoden. Databricks raadt u aan een van de volgende methoden te gebruiken om te verifiëren:

  • Gebruik OAuth-verificatie-naar-machineverificatie (U2M) voor verificatiescenario's , zoals handmatige werkstromen waarin u uw webbrowser gebruikt om u aan te melden bij uw Azure Databricks-werkruimte (wanneer u hierom wordt gevraagd door de Databricks CLI). Deze methode is ideaal voor het experimenteren met de zelfstudies aan de slag voor Databricks Asset Bundles of voor de snelle ontwikkeling van bundels.
  • Voor scenario's zonder toezicht, zoals volledig geautomatiseerde werkstromen waarin u uw webbrowser niet kunt gebruiken om u op dat moment aan te melden bij uw Azure Databricks-doelwerkruimte, gebruikt u op dat moment OAuth-verificatie van machine-naar-machine (M2M). Deze methode vereist het gebruik van Azure Databricks-service-principals en is ideaal voor het gebruik van Databricks Asset Bundles met CI/CD-systemen, zoals GitHub.

Ga als volgt te werk voor OAuth U2M-verificatie:

  1. Gebruik de Databricks CLI om OAuth-tokenbeheer lokaal te starten door de volgende opdracht uit te voeren voor elke doelwerkruimte.

    Vervang in de volgende opdracht bijvoorbeeld https://adb-1234567890123456.7.azuredatabricks.netdoor <workspace-url> de URL van uw Azure Databricks per werkruimte.

    databricks auth login --host <workspace-url>
    
  2. De Databricks CLI vraagt u om de gegevens op te slaan die u hebt ingevoerd als een Azure Databricks-configuratieprofiel. Druk Enter om de voorgestelde profielnaam te accepteren of voer de naam van een nieuw of bestaand profiel in. Elk bestaand profiel met dezelfde naam wordt overschreven met de gegevens die u hebt ingevoerd. U kunt profielen gebruiken om snel uw verificatiecontext over te schakelen tussen meerdere werkruimten.

    Als u een lijst met bestaande profielen wilt ophalen, gebruikt u in een afzonderlijke terminal of opdrachtprompt de Databricks CLI om de opdracht databricks auth profilesuit te voeren. Als u de bestaande instellingen van een specifiek profiel wilt weergeven, voert u de opdracht databricks auth env --profile <profile-name>uit.

  3. Voltooi in uw webbrowser de instructies op het scherm om u aan te melden bij uw Azure Databricks-werkruimte.

  4. Voer een van de volgende opdrachten uit om de huidige OAuth-tokenwaarde van een profiel en de geplande verlooptijdstempel van het token weer te geven:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    Als u meerdere profielen met dezelfde --host waarde hebt, moet u mogelijk de --host en -p opties opgeven om de Databricks CLI te helpen de juiste overeenkomende OAuth-tokengegevens te vinden.

U kunt de naam van dit configuratieprofiel op een of meer van de volgende manieren gebruiken wanneer u bundels valideert, implementeert, uitvoert of vernietigt:

  • Met de opdrachtregeloptie -p <profile-name>, toegevoegd aan de opdrachten databricks bundle validate, databricks bundle deploy, databricks bundle runof databricks bundle destroy. Zie de ontwikkeling van Databricks Asset Bundles.
  • Als de waarde van de toewijzing in de profile toewijzing op het hoogste niveau workspace van het configuratiebestand van de bundel (hoewel Databricks aanbeveelt dat u de host toewijzing instelt op de URL van de Azure Databricks-werkruimte in plaats van de profile toewijzing, omdat uw bundelconfiguratiebestanden draagbaarder worden). Bekijk de dekking van de toewijzing in de profile werkruimte.
  • Als de naam van het configuratieprofiel isDEFAULT, wordt deze standaard gebruikt wanneer de opdrachtregeloptie -p <profile-name> of de profile toewijzing (ofhost) niet is opgegeven.

Ga als volgt te werk voor OAuth M2M-verificatie:

  1. Voltooi de installatie-instructies voor OAuth M2M-verificatie. Zie Een service-principal gebruiken om te verifiëren met Azure Databricks.

  2. Installeer de Databricks CLI op de doelresource op een van de volgende manieren:

    • Zie Databricks CLI installeren of bijwerken als u de Databricks CLI in realtime handmatig op de rekenresource wilt installeren of bijwerken.
    • Als u GitHub Actions wilt gebruiken om de Databricks CLI automatisch te installeren op een virtuele GitHub-machine, raadpleegt u setup-cli in GitHub.
    • Als u andere CI/CD-systemen wilt gebruiken om de Databricks CLI automatisch op een virtuele machine te installeren, raadpleegt u de documentatie van uw CI/CD-systeemprovider en installeert of werkt u de Databricks CLI bij.
  3. Stel de volgende omgevingsvariabelen voor de rekenresource als volgt in:

    Als u deze omgevingsvariabelen wilt instellen, raadpleegt u de documentatie voor het besturingssysteem of CI/CD-systeem van uw doelresource.

Uw eerste Databricks-assetbundel ontwikkelen

De snelste manier om bundelontwikkeling te starten, is met behulp van een sjabloon. Maak uw eerste bundelproject met behulp van de Databricks CLI-opdracht bundle init zonder opties. Dit geeft een keuze uit door Databricks geleverde standaardbundelsjablonen en stelt een reeks vragen om projectvariabelen te initialiseren.

databricks bundle init

Organisaties kunnen ook aangepaste bundelsjablonen maken om hun eigen standaarden te definiëren. Deze standaarden kunnen standaardmachtigingen, service-principals en aangepaste CI/CD-configuratie bevatten. Zie Databricks Asset Bundle-sjablonen.

Nadat u uw project hebt geïnitialiseerd, gebruikt u de bundle validate opdracht om uw bundel te valideren voordat u het implementeert in uw werkruimten.

databricks bundle validate

Doorgaans maakt u een bundel op een lokale ontwikkelcomputer met een IDE en de Databricks CLI versie 0.218.0 of hoger. Met deze hulpprogramma's kunt u een bundel maken, valideren, implementeren en uitvoeren. Zie de ontwikkeling van Databricks Asset Bundles.

U kunt een bundel bewerken in een Azure Databricks-werkruimte nadat u de bundel aan Git hebt toegevoegd met behulp van de integratie van de Databricks Git-map. U kunt echter geen bundel testen of implementeren vanuit een werkruimte. In plaats daarvan kunt u uw lokale IDE gebruiken voor testen en CI/CD voor implementatie.

Volgende stappen

Algemene taken

Gebruik de volgende artikelen om algemene taken voor Databricks Asset Bundles uit te voeren.

Artikel Gebruik dit artikel als u wilt...
Ontwikkeling van Databricks Asset Bundles Meer informatie over het maken, valideren, implementeren en uitvoeren van een bundel door een databricks.yml bestand te ontwerpen en met behulp van de Databricks CLI om de opdrachten databricks bundle validateuit te voeren, databricks bundle deployen databricks bundle run.
Configuraties van Databricks Asset Bundle Maak een bundelbestand databricks.yml en andere gerelateerde bundelconfiguratiebestanden die voldoen aan de YAML-syntaxis voor bundelconfiguraties.
Verificatie voor Databricks Asset Bundles Stel een bundelproject in voor Azure Databricks-verificatie.
Een taak ontwikkelen in Azure Databricks met behulp van Databricks Asset Bundles Een bundel maken, implementeren en uitvoeren voor een Azure Databricks-taak.
Pijplijnen voor Delta Live Tables ontwikkelen met Databricks Asset Bundles Maak, implementeer en voer een bundel uit voor een Delta Live Tables-pijplijn.
Databricks-assetbundels voor MLOps-stacks Een bundel voor een MLOps-stack maken, implementeren en uitvoeren.
Bibliotheekafhankelijkheden van Databricks Asset Bundles Installeer bibliotheken die een bundel moet uitvoeren op gerelateerde Azure Databricks-clusters.
Implementatiemodi voor Databricks Asset Bundle Gebruik bundelimplementatiemodi zoals development en production om veelvoorkomend implementatiegedrag automatisch in of uit te schakelen, zoals het onderbreken of ongedaan maken van gerelateerde schema's en triggers.
Databricks Asset Bundle-sjablonen Gebruik een sjabloon om specifieke soorten bundels sneller, eenvoudiger en met consistentere en herhaalbare resultaten te maken.
Machtigingen instellen voor resources in Databricks Asset Bundles Pas gedetailleerde toegangsmachtigingenniveaus toe op gebruikers, groepen en service-principals voor specifieke bundelresources.
Artefactinstellingen dynamisch definiëren in Databricks Asset Bundles Specifieke instellingen voor artefacten in een bundel combineren of overschrijven.
Een CI/CD-werkstroom uitvoeren met een Databricks Asset Bundle en GitHub Actions Implementeer of voer een bundel uit als reactie op een specifieke GitHub-werkstroomgebeurtenis, zoals een pull-aanvraag of samenvoeging.
Clusterinstellingen overschrijven in Databricks Asset Bundles Specifieke instellingen voor clusters in een bundel combineren of overschrijven.
Taken toevoegen aan taken in Databricks Asset Bundles Voeg een taak toe aan een taak in een bundel.
Taaktakeninstellingen overschrijven in Databricks Asset Bundles Combineer of overschrijf specifieke instellingen voor taaktaken in een bundel.
Een Python-wielbestand ontwikkelen met databricks-assetbundels Bouw, implementeer en roep Python-wielbestanden aan in een bundel.

Meer resources