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. Bundels bieden een manier om metagegevens op te nemen naast de bronbestanden van uw project en om Databricks-resources zoals taken en pijplijnen als bronbestanden te beschrijven. Uiteindelijk is een bundel een end-to-end definitie van een project, inclusief hoe het project moet worden gestructureerd, getest en geïmplementeerd. Dit maakt het gemakkelijker om tijdens actieve ontwikkeling samen te werken aan projecten.

De verzameling bronbestanden en metagegevens van uw bundelproject wordt 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 Lakeflow-taken, declaratieve pijplijnen van Lakeflow, 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.
  • Versnel de iteratie 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. 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.

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.

Behoeften

Databricks Asset Bundles is een functie van de Databricks CLI. U bouwt bundels lokaal en gebruikt vervolgens de Databricks CLI om uw bundels te implementeren om externe Databricks-werkruimten te targeten en bundelwerkstromen uit te voeren in die werkruimten vanaf de opdrachtregel.

Bundels bouwen, implementeren en uitvoeren in uw Azure Databricks-werkruimten:

  • Voor uw externe Databricks-werkruimten moeten werkruimtebestanden zijn ingeschakeld. Als u Databricks Runtime versie 11.3 LTS of hoger gebruikt, is deze functie standaard ingeschakeld.

  • U moet de Databricks CLI, versie v0.218.0 of hoger, installeren. Zie De Databricks CLI installeren of bijwerken om de Databricks CLI te installeren of bij te werken.

    Databricks raadt u aan regelmatig bij te werken naar de nieuwste versie van de CLI om te profiteren van nieuwe bundelfuncties. Voer de volgende opdracht uit om de versie van de Databricks CLI te vinden die is geïnstalleerd:

    databricks --version
    
  • U hebt de Databricks CLI geconfigureerd voor toegang tot uw Databricks-werkruimten. Databricks raadt u aan om toegang te configureren met behulp van OAuth U2M-verificatie (user-to-machine), die wordt beschreven in Toegang tot uw werkruimte configureren. Andere verificatiemethoden worden beschreven in Verificatie voor Databricks Asset Bundles.

Hoe ga ik aan de slag met bundels?

De snelste manier om bundelontwikkeling te starten, is met behulp van een bundelprojectsjabloon. Maak uw eerste bundelproject met behulp van de Databricks CLI bundle init-opdracht. 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. Ontwikkel vervolgens uw bundel door bundelinstellingen en resources te definiëren in de databricks.yml en resourceconfiguratiebestanden. Valideer en implementeer ten slotte uw bundel en voer vervolgens uw werkstromen uit.

Aanbeveling

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

Volgende stappen