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
Kroky, které provedete pro převod existujícího pipeline na balíček, jsou:
- Ujistěte se, že máte přístup k dříve nakonfigurovanému pipeline, který chcete převést na sadu komponent.
- Vytvořte nebo připravte složku (nejlépe v hierarchii řízené zdrojem) pro uložení sady.
- Pomocí Azure Databricks CLI vygenerujte konfiguraci pro balíček z existujícího pipeline.
- Zkontrolujte vygenerovanou konfiguraci sady a ujistěte se, že je dokončená.
- Propojte sadu s původním kanálem.
- Nasaďte pipeline do cílového pracovního prostoru pomocí konfigurace bundle.
Požadavky
Než začnete, musíte mít:
- Na místním vývojovém počítači je nainstalované rozhraní příkazového řádku Databricks. Databricks CLI verze 0.218.0 nebo vyšší je potřeba k použití balíčků prostředků Databricks.
- ID existujícího kanálu DLT, který budete spravovat pomocí sady. Informace o tom, jak toto ID získáte, najdete v tématu Získání stávající definice pipeline pomocí uživatelského rozhraní.
- Autorizace pro pracovní prostor Azure Databricks, kde běží stávající kanál DLT. Informace o konfiguraci ověřování a autorizace pro volání rozhraní příkazového řádku Azure Databricks najdete v tématu Autorizace přístupu k prostředkům Azure Databricks.
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.)
Přejděte do kořenového adresáře naklonovaného úložiště Git na místním počítači.
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
Změňte aktuální pracovní adresář na tuto novou složku. Například:
cd ~/source/my-pipelines/ingestion/events/my-bundle
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ázvemdatabricks.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žceresources
. 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:
- Co jsou sady prostředků Databricks?
- vyvíjet kanály Delta Live Tables pomocí sad prostředků Databricks. Toto téma se zabývá vytvořením balíčku pro nový pipeline, nikoli pro existující, s poznámkovým blokem řízeným zdrojem pro zpracování, který poskytnete vy.