Dela via


Konvertera en Delta Live Tables-pipeline till ett Databricks Asset Bundle-projekt

Den här artikeln visar hur du konverterar en befintlig DLT-pipeline (Delta Live Tables) till ett paketprojekt. Med paket kan du definiera och hantera databearbetningskonfigurationen för Azure Databricks i en enda, källkontrollerad YAML-fil som ger enklare underhåll och möjliggör automatisk distribution till målmiljöer.

Översikt över konverteringsprocessen

diagram som visar de specifika stegen för att konvertera en befintlig pipeline till ett paket

De steg du utför för att konvertera en befintlig pipeline till ett paket är:

  1. Kontrollera att du har åtkomst till en tidigare konfigurerad pipeline som du vill konvertera till ett paket.
  2. Skapa eller förbereda en mapp (helst i en källkontrollerad hierarki) för att lagra paketet.
  3. Generera en konfiguration för paketet från den befintliga pipelinen med hjälp av Azure Databricks CLI.
  4. Granska den genererade paketkonfigurationen för att se till att den är klar.
  5. Länka bunten till den ursprungliga pipelinen.
  6. Distribuera pipelinen till en målarbetsyta med hjälp av paketkonfigurationen.

Krav

Innan du börjar måste du ha:

Steg 1: Konfigurera en mapp för ditt paketprojekt

Du måste ha åtkomst till en Git-lagringsplats som är konfigurerad i Azure Databricks som en Git-mapp. Du skapar ditt paketprojekt på den här lagringsplatsen, som använder källkontroll och gör det tillgängligt för andra medarbetare via en Git-mapp på motsvarande Azure Databricks-arbetsyta. (Mer information om Git-mappar finns i Git-integrering för Databricks Git-mappar.)

  1. Gå till roten för den klonade Git-lagringsplatsen på den lokala datorn.

  2. På en lämplig plats i mapphierarkin skapar du en mapp specifikt för ditt paketprojekt. Till exempel:

    mkdir - p ~/source/my-pipelines/ingestion/events/my-bundle
    
  3. Ändra den aktuella arbetskatalogen till den nya mappen. Till exempel:

    cd ~/source/my-pipelines/ingestion/events/my-bundle
    
  4. Initiera ett nytt paket genom att köra databricks bundle init och besvara anvisningarna. När den är klar har du en projektkonfigurationsfil med namnet databricks.yml i den nya startmappen för projektet. Den här filen krävs för att distribuera din pipeline från kommandoraden. Mer information om den här konfigurationsfilen finns i Databricks Asset Bundle-konfiguration.

Steg 2: Skapa pipeline-konfigurationen

Från den här nya katalogen i den klonade Git-lagringsplatsens mappträd kör du följande Azure Databricks CLI-kommando och anger ID för din DLT-pipeline som <pipeline-id>:

databricks bundle generate pipeline --existing-pipeline-id <pipeline-id> --profile <profile-name>

När du kör kommandot generate skapas en paketkonfigurationsfil för pipelinen i paketets resources mapp och alla refererade artefakter hämtas till mappen src. Flaggan --profile (eller -p) är valfri, men om du har en specifik Databricks-konfigurationsprofil (definierad i din .databrickscfg-fil som skapades när du installerade Azure Databricks CLI) som du hellre använder i stället för standardprofilen anger du den i det här kommandot. Information om Databricks-konfigurationsprofiler finns i Azure Databricks-konfigurationsprofiler.

Steg 3: Granska paketprojektfilerna

När bundle generate-kommandot har slutförts har det skapat två nya mappar:

  • resources är projektunderkatalogen som innehåller projektkonfigurationsfiler.
  • src är projektmappen där källfiler, till exempel frågor och notebook-filer, lagras.

Kommandot skapar även några ytterligare filer:

  • *.pipeline.yml i underkatalogen resources. Den här filen innehåller den specifika konfigurationen och inställningarna för din DLT-pipeline.
  • Källfiler som SQL-frågor under src underkatalog, kopierade från din befintliga DLT-pipeline.
├── databricks.yml                            # Project configuration file created with the bundle init command
├── resources/
│   └── {your-pipeline-name.pipeline}.yml     # Pipeline configuration
└── src/
    └── {SQl-query-retrieved-from-your-existing-pipeline}.sql # Your pipeline's declarative query

Steg 4: Koppla samman paketpipelinen med din befintliga pipeline

Du måste länka, eller binda, pipeline-definitionen i paketet till din befintliga pipeline för att hålla den uppdaterad när du ändrar. Det gör du genom att köra följande Azure Databricks CLI-kommando:

databricks bundle deployment bind <pipeline-name> <pipeline-ID> --profile <profile-name>

<pipeline-name> är namnet på pipelinen. Det här namnet ska vara samma som det prefixerade strängvärdet för filnamnet för pipelinekonfigurationen i den nya resources-katalogen. Om du till exempel har en pipelinekonfigurationsfil med namnet ingestion_data_pipeline.pipeline.yml i mappen resources måste du ange ingestion_data_pipeline som pipelinenamn.

<pipeline-ID> är ID:t för din pipeline. Det är samma som det som du kopierade som en del av kraven för dessa instruktioner.

Steg 5: Distribuera din pipeline med ditt nya paket

Distribuera nu pipelinepaketet till målarbetsytan med kommandot bundle deploy Azure Databricks CLI:

databricks bundle deploy --target <target-name> --profile <profile-name>

Flaggan --target krävs och måste anges till en sträng som matchar ett konfigurerat målarbetsytenamn, till exempel development eller production.

Om det här kommandot lyckas har du nu din DLT-pipelinekonfiguration i ett externt projekt som kan läsas in på andra arbetsytor och köras och enkelt delas med andra Azure Databricks-användare i ditt konto.

Felsökning

Utfärda Lösning
Felet "databricks.yml hittades inte" när bundle generate kördes För närvarande skapar bundle generate-kommandot inte paketkonfigurationsfilen (databricks.yml) automatiskt. Du måste skapa filen med hjälp av databricks bundle init eller manuellt.
Befintliga pipelineinställningar matchar inte värdena i yaml-konfigurationen för den genererade pipelinen Pipeline-ID:t visas inte i paketkonfigurationens YML-fil. Om du ser andra inställningar som saknas kan du tillämpa dem manuellt.

Tips för framgång

  • Använd alltid versionskontroll. Om du inte använder Databricks Git-mappar lagrar du dina projektunderkataloger och filer på en Git eller annan versionskontrollerad lagringsplats eller filsystem.
  • Testa din pipeline i en icke-produktionsmiljö (till exempel en "utvecklings- eller testmiljö" innan du distribuerar den till en produktionsmiljö. Det är lätt att introducera en felkonfiguration av misstag.

Ytterligare resurser

Mer information om hur du använder paket för att definiera och hantera databearbetning finns i: