Sdílet prostřednictvím


Převod potrubí Delta Live Tables na projekt sady zdrojů Databricks

Tento článek ukazuje, jak převést existující pipeline Delta Live Tables (DLT) na projekt bundle. 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íček

Kroky, které provedete pro převod existujícího pipeline na balíček, jsou:

  1. Ujistěte se, že máte přístup k dříve nakonfigurovanému pipeline, který chcete převést na sadu komponent.
  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 pipeline.
  4. Zkontrolujte vygenerovanou konfiguraci sady a ujistěte se, že je dokončená.
  5. Propojte sadu s původním kanálem.
  6. Nasaďte pipeline do cílového pracovního prostoru pomocí konfigurace bundle.

Požadavky

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

Krok 1: Nastavte složku pro projekt balíčku

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. Pro podrobnosti o tomto konfiguračním souboru viz konfigurace balíčku Databricks.

Krok 2: Vygenerovat konfiguraci potrubí

Z tohoto nového adresáře ve stromu složek naklonovaného úložiště Git spusťte následující příkaz rozhraní příkazového řádku Azure Databricks a jako <pipeline-id>zadejte ID kanálu DLT:

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 váš kanál ve složce resources 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 tématu konfiguračních profilů Azure Databricks.

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 podsložce 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: Propojení svazkové pipeline s vaší stávající pipeline

Je nutné propojit nebo vytvořit vazbu, definici kanálu v sadě s existujícím kanálem, aby byla při provádění změn aktuální. Spusťte následující příkaz rozhraní příkazového řádku Azure Databricks:

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 hodnota řetězce s předponou, která reprezentuje název souboru pro konfiguraci potrubí 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ší pipeliny. Je stejný jako ten, který jste zkopírovali jako součást požadavků pro tyto pokyny.

Krok 5: Nasazení vašeho pipeline pomocí nového balíčku

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

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 nezobrazuje 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: