Delen via


Wat zijn Databricks Asset Bundles?

Databricks Asset Bundles (DABs) zijn 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 de configuratie van 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. Zie De Databricks CLI installeren of bijwerken om de Databricks CLI te installeren of bij te werken.

Databricks Asset Bundles zijn beschikbaar in Databricks CLI versie 0.218.0 of hoger. Voer de volgende opdracht uit om de versie van de Databricks CLI te vinden die is geïnstalleerd:

databricks --version

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.3 LTS of hoger gebruikt, is deze functie standaard ingeschakeld.

Verificatie

Azure Databricks biedt verschillende verificatiemethoden:

  • 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 Toegang tot Azure Databricks verifiëren met een service-principal met behulp van OAuth (OAuth M2M).

  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 bundelprojectsjabloon. Maak uw eerste bundelproject met behulp van de init-opdracht databricks CLI-bundel. Deze opdracht biedt een keuze uit door Databricks geleverde standaardbundelsjablonen en stelt een reeks vragen om projectvariabelen te initialiseren.

databricks bundle init

Het maken van uw bundel is de eerste stap in de levenscyclus van een bundel. De tweede stap is het ontwikkelen van uw bundel, een belangrijk element hiervan is het definiëren van bundelinstellingen en resources in de databricks.yml en resourceconfiguratiebestanden. Zie de configuratie van Databricks Asset Bundle voor meer informatie over bundelconfiguratie.

Tip

Voorbeelden van bundelconfiguraties vindt u in bundelconfiguratievoorbeelden en de opslagplaats bundelvoorbeelden in GitHub.

Volgende stappen