Sdílet prostřednictvím


Převod DLT pipeline na projekt balíčku prostředků Databricks

Tento článek ukazuje, jak převést existující kanál DLT (DLT) na Databricks Asset Bundles projektu. Sady prostředků umožňují definovat a spravovat konfiguraci zpracování dat Azure Databricks v jednom souboru YAML řízeném zdrojem, který poskytuje snadnější údržbu a umožňuje automatizované nasazení do cílových prostředí.

Přehled procesu převodu

Diagram znázorňující konkrétní kroky při převodu existujícího potrubí na balík

Kroky, které podniknete při převodu existujícího pipeline na balíček, jsou:

  1. Ujistěte se, že máte přístup k dříve nakonfigurované pipeline, kterou chcete převést na balíček.
  2. Vytvořte nebo připravte složku (nejlépe v hierarchii řízené zdrojem) pro uložení sady.
  3. Pomocí Azure Databricks CLI vygenerujte konfiguraci pro balíček z existujícího datového toku.
  4. Zkontrolujte vygenerovanou konfiguraci sady a ujistěte se, že je dokončená.
  5. Propojte balíček s původním potrubím.
  6. Nasaďte kanál do cílového pracovního prostoru pomocí konfigurace sady.

Požadavky

Než začnete, musíte mít:

Krok 1: Nastavení složky pro projekt svazku

Musíte mít přístup k úložišti Git, které je nakonfigurované v Azure Databricks jako složka Git. V tomto úložišti vytvoříte projekt sady, který použije správu zdrojového kódu a zpřístupní ho ostatním spolupracovníkům prostřednictvím složky Git v odpovídajícím pracovním prostoru Azure Databricks. (Další podrobnosti o složkách Gitu najdete v tématu integrace Gitu pro složky Git Databricks.)

  1. Přejděte do kořenového adresáře naklonovaného úložiště Git na místním počítači.

  2. Na vhodném místě v hierarchii složek vytvořte složku speciálně pro projekt sady. Například:

    mkdir - p ~/source/my-pipelines/ingestion/events/my-bundle
    
  3. Změňte aktuální pracovní adresář na tuto novou složku. Například:

    cd ~/source/my-pipelines/ingestion/events/my-bundle
    
  4. Inicializace nové sady spuštěním databricks bundle init a zodpovězením výzev Po dokončení budete mít konfigurační soubor projektu s názvem databricks.yml v nové domovské složce projektu. Tento soubor je vyžadován pro nasazení pipeline z příkazového řádku. Další podrobnosti o tomto konfiguračním souboru najdete viz konfigurace sady prostředků Databricks.

Krok 2: Vytvoření konfigurace pipeline

Z nového adresáře ve stromu složek naklonovaného úložiště Git použijte CLI Azure Databricks k vygenerování příkazu, přičemž jako <pipeline-id>použijte ID vašeho DLT kanálu.

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

Když spustíte příkaz generate, vytvoří konfigurační soubor balíku pro vaše potrubí ve složce resources balíku a stáhne všechny odkazované artefakty do složky src. Příznak --profile (nebo -p) je nepovinný, ale pokud máte konkrétní konfigurační profil Databricks (definovaný v souboru .databrickscfg, který jste vytvořili při instalaci Rozhraní příkazového řádku Azure Databricks), který byste raději použili místo výchozího profilu, zadejte ho v tomto příkazu. Informace o konfiguračních profilech Databricks najdete v části Azure Databricks konfigurační profily.

Krok 3: Kontrola souborů projektu sady

Po dokončení příkazu bundle generate se vytvoří dvě nové složky:

  • resources je podadresář projektu, který obsahuje konfigurační soubory projektu.
  • src je složka projektu, ve které jsou uložené zdrojové soubory, jako jsou dotazy a poznámkové bloky.

Příkaz také vytvoří několik dalších souborů:

  • *.pipeline.yml v podadresáři resources. Tento soubor obsahuje konkrétní konfiguraci a nastavení kanálu DLT.
  • Zdrojové soubory, jako jsou dotazy SQL v podadresáři src, se zkopírují z existujícího kanálu DLT.
├── 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

Krok 4: Připojit pipelinu svazku k vaší stávající pipelině

Musíte propojit nebo vytvořit vazbu, definici potrubí v sadě s vaším stávajícím potrubím, abyste jej při provádění změn udržovali aktuální. Provedete to spuštěním příkazu Azure Databricks CLI pro vazbu nasazení sady:

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

<pipeline-name> je název kanálu. Tento název by měl být stejný jako předcházející část názvu souboru pro konfiguraci pipeline ve vašem novém adresáři resources. Pokud máte například konfigurační soubor kanálu s názvem ingestion_data_pipeline.pipeline.yml ve složce resources, musíte jako název kanálu zadat ingestion_data_pipeline.

<pipeline-ID> je ID vašeho kanálu. Je stejný jako ten, který jste zkopírovali jako součást požadavků pro tyto pokyny.

Krok 5: Nasazení pipeline pomocí vašeho nového bundle

Teď nasaďte sadu kanálů do cílového pracovního prostoru pomocí azure Databricks CLI příkazu nasazení sady:

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

Příznak --target je povinný a musí být nastavený na řetězec, který odpovídá nakonfigurovanému názvu cílového pracovního prostoru, například development nebo production.

Pokud je tento příkaz úspěšný, máte teď konfiguraci kanálu DLT v externím projektu, který je možné načíst do jiných pracovních prostorů a spustit a snadno sdílet s ostatními uživateli Azure Databricks ve vašem účtu.

Řešení problémů

Problém Řešení
Chyba "databricks.yml nenalezena" při spuštění bundle generate V současné době příkaz bundle generate nevytvoří konfigurační soubor sady (databricks.yml) automaticky. Soubor musíte vytvořit pomocí databricks bundle init nebo ručně.
Existující nastavení kanálu neodpovídají hodnotám v konfiguraci YAML vygenerovaného kanálu ID potrubí se neobjevuje v souboru YML konfigurace balíčku. Pokud si všimnete jakéhokoli jiného chybějícího nastavení, můžete je použít ručně.

Tipy pro úspěch

  • Vždy používejte správu verzí. Pokud nepoužíváte složky Databricks Git, uložte podadresáře a soubory projektu do úložiště Gitu nebo jiného úložiště nebo systému souborů řízeného verzí.
  • Než ho nasadíte do produkčního prostředí, otestujte svůj pipeline v neprodukčním prostředí (například ve vývojovém nebo testovacím prostředí). Náhodou můžete snadno zavést chybnou konfiguraci.

Další zdroje informací

Další informace o použití sad k definování a správě zpracování dat najdete v tématu: