Vývoj kanálů Delta Live Tables s využitím sad prostředků Databricks
Sady prostředků Databricks, označované také jako sady, umožňují programově ověřovat, nasazovat a spouštět prostředky Azure Databricks, jako jsou kanály Delta Live Tables. Podívejte se, co jsou sady prostředků Databricks?
Tento článek popisuje, jak vytvořit sadu pro programovou správu kanálu. Podívejte se, co jsou dynamické tabulky Delta? Sada se vytvoří pomocí výchozí šablony sady prostředků Databricks pro Python, která se skládá z poznámkového bloku spárovaného s definicí kanálu a úlohy pro její spuštění. Pak ověříte, nasadíte a spustíte nasazený kanál v pracovním prostoru Azure Databricks.
Tip
Pokud máte existující kanály vytvořené pomocí uživatelského rozhraní Azure Databricks nebo rozhraní API, které chcete přesunout do sad, musíte je definovat v konfiguračních souborech sady. Databricks doporučuje nejprve vytvořit sadu pomocí následujícího postupu a ověřit, jestli sada funguje. Do sady pak můžete přidat další definice, poznámkové bloky a další zdroje. Viz Přidání existující definice kanálu do sady.
Požadavky
- Databricks CLI verze 0.218.0 nebo vyšší. Pokud chcete zkontrolovat nainstalovanou verzi rozhraní příkazového řádku Databricks, spusťte příkaz
databricks -v
. Pokud chcete nainstalovat rozhraní příkazového řádku Databricks, přečtěte si téma Instalace nebo aktualizace rozhraní příkazového řádku Databricks. - Vzdálený pracovní prostor musí mít povolené soubory pracovního prostoru. Podívejte se, co jsou soubory pracovního prostoru?
(Volitelné) Instalace modulu Python pro podporu vývoje místních kanálů
Databricks poskytuje modul Pythonu, který pomáhá místnímu vývoji kódu kanálu Delta Live Tables tím, že při psaní kódu v integrovaném vývojovém prostředí (IDE) poskytuje kontrolu syntaxe, automatické dokončování a kontrolu datových typů.
Modul Python pro místní vývoj je k dispozici na platformě PyPi. Pokud chcete nainstalovat modul, přečtěte si o zástupných procedurách Pythonu pro rozdílové živé tabulky.
Vytvoření sady pomocí šablony projektu
Vytvořte sadu pomocí výchozí šablony sady azure Databricks pro Python. Tato šablona se skládá z poznámkového bloku, který definuje kanál Delta Live Tables, který filtruje data z původní datové sady. Další informace o šablonách balíčků najdete v tématu Šablony projektů Sady prostředků Databricks.
Pokud chcete vytvořit sadu úplně od začátku, přečtěte si téma Ruční vytvoření sady.
Krok 1: Nastavení ověřování
V tomto kroku nastavíte ověřování mezi Rozhraním příkazového řádku Databricks na vývojovém počítači a pracovním prostorem Azure Databricks. Tento článek předpokládá, že chcete použít ověřování U2M (user-to-machine) OAuth a odpovídající konfigurační profil Azure Databricks s názvem DEFAULT
ověřování.
Poznámka:
Ověřování U2M je vhodné pro vyzkoušení těchto kroků v reálném čase. Pro plně automatizované pracovní postupy doporučuje Databricks místo toho použít ověřování M2M (machine-to-machine). Viz pokyny k nastavení ověřování M2M v části Ověřování.
Pomocí rozhraní příkazového řádku Databricks zahajte správu tokenů OAuth místně spuštěním následujícího příkazu pro každý cílový pracovní prostor.
V následujícím příkazu nahraďte
<workspace-url>
adresou URL služby Azure Databricks pro jednotlivé pracovní prostory, napříkladhttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
Rozhraní příkazového řádku Databricks vás vyzve k uložení informací, které jste zadali jako konfigurační profil Azure Databricks. Stisknutím klávesy
Enter
potvrďte navrhovaný název profilu nebo zadejte název nového nebo existujícího profilu. Všechny existující profily se stejným názvem se přepíšou informacemi, které jste zadali. Profily můžete použít k rychlému přepnutí kontextu ověřování napříč několika pracovními prostory.Pokud chcete získat seznam všech existujících profilů, v samostatném terminálu nebo příkazovém řádku spusťte příkaz
databricks auth profiles
pomocí rozhraní příkazového řádku Databricks . Pokud chcete zobrazit existující nastavení konkrétního profilu, spusťte příkazdatabricks auth env --profile <profile-name>
.Ve webovém prohlížeči dokončete pokyny na obrazovce, abyste se přihlásili k pracovnímu prostoru Azure Databricks.
Pokud chcete zobrazit aktuální hodnotu tokenu OAuth profilu a nadcházející časové razítko vypršení platnosti tokenu, spusťte jeden z následujících příkazů:
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
Pokud máte více profilů se stejnou
--host
hodnotou, možná budete muset zadat--host
společně možnosti a-p
pomoct rozhraní příkazového řádku Databricks najít správné odpovídající informace o tokenu OAuth.
Krok 2: Vytvoření sady
Inicializace sady pomocí výchozí šablony projektu sady Pythonu
Pomocí terminálu nebo příkazového řádku přepněte do adresáře na místním vývojovém počítači, který bude obsahovat vygenerovanou sadu šablony.
Ke spuštění
bundle init
příkazu použijte rozhraní příkazového řádku Databricks:databricks bundle init
Pro
Template to use
, ponechte výchozí hodnotudefault-python
stisknutím klávesyEnter
.Pro
Unique name for this project
, ponechte výchozí hodnotumy_project
, nebo zadejte jinou hodnotu a stiskněteEnter
. Určuje název kořenového adresáře pro tuto sadu. Tento kořenový adresář se vytvoří v aktuálním pracovním adresáři.Pro
Include a stub (sample) notebook
, vyberteno
a stiskněteEnter
. To dává rozhraní příkazového řádku Databricks pokyn, aby v tomto okamžiku nepřidá ukázkový poznámkový blok, protože ukázkový poznámkový blok přidružený k této možnosti neobsahuje žádný kód Delta Live Tables.Pro
Include a stub (sample) DLT pipeline
, ponechte výchozí hodnotuyes
stisknutím klávesyEnter
. To dává rozhraní příkazového řádku Databricks pokyn k přidání ukázkového poznámkového bloku s kódem Delta Live Tables.Pro
Include a stub (sample) Python package
, vyberteno
a stiskněteEnter
. To dává rozhraní příkazového řádku Databricks pokyn, aby do sady nepřidávejte ukázkové soubory balíčků kol Pythonu ani související pokyny k sestavení.
Krok 3: Prozkoumání sady
Pokud chcete zobrazit soubory, které šablona vygenerovala, přepněte do kořenového adresáře nově vytvořené sady. Mezi soubory, které mají zvláštní zájem, patří:
databricks.yml
: Tento soubor určuje programový název sady, obsahuje odkaz na definici kanálu a určuje nastavení cílového pracovního prostoru.resources/<project-name>_job.yml
aresources/<project-name>_pipeline.yml
: Tyto soubory definují úlohu, která obsahuje úlohu aktualizace kanálu, a nastavení kanálu.src/dlt_pipeline.ipynb
: Tento soubor je poznámkový blok, který při spuštění spustí kanál.
Pro přizpůsobení kanálů mapování v deklaraci kanálu odpovídají datové části požadavku operace vytvoření kanálu, jak je definováno v POST /api/2.0/pipelines v odkazu na rozhraní REST API vyjádřené ve formátu YAML.
Krok 4: Ověření konfiguračního souboru sady projektů
V tomto kroku zkontrolujete, jestli je konfigurace sady platná.
Z kořenového adresáře spusťte
bundle validate
příkaz pomocí rozhraní příkazového řádku Databricks následujícím způsobem:databricks bundle validate
Pokud se vrátí souhrn konfigurace sady, ověření proběhlo úspěšně. Pokud se vrátí nějaké chyby, opravte chyby a opakujte tento krok.
Pokud po tomto kroku provedete nějaké změny sady, měli byste tento krok zopakovat a zkontrolovat, jestli je konfigurace sady stále platná.
Krok 5: Nasazení místního projektu do vzdáleného pracovního prostoru
V tomto kroku nasadíte místní poznámkový blok do vzdáleného pracovního prostoru Azure Databricks a v pracovním prostoru vytvoříte kanál Delta Live Tables.
V kořenovém adresáři sady spusťte příkaz pomocí rozhraní příkazového řádku
bundle deploy
Databricks následujícím způsobem:databricks bundle deploy -t dev
Zkontrolujte, jestli byl místní poznámkový blok nasazený: Na bočním panelu pracovního prostoru Azure Databricks klikněte na Pracovní prostor.
Klikněte do složky src pro soubory Users >
<your-username>
> .bundle<project-name>
>> dev.> > Poznámkový blok by měl být v této složce.Zkontrolujte, jestli se kanál vytvořil: Na bočním panelu pracovního prostoru Azure Databricks klikněte na Delta Live Tables.
Na kartě Delta Live Tables klikněte na [dev
<your-username>
]<project-name>
_pipeline.
Pokud po tomto kroku provedete nějaké změny v sadě, měli byste zopakovat kroky 4 až 5, abyste zkontrolovali, jestli je konfigurace sady stále platná, a pak projekt znovu nasaďte.
Krok 6: Spuštění nasazeného projektu
V tomto kroku aktivujete spuštění kanálu Delta Live Tables v pracovním prostoru z příkazového řádku.
V kořenovém adresáři spusťte příkaz pomocí rozhraní příkazového řádku
bundle run
Databricks následujícím způsobem a nahraďte<project-name>
ho názvem projektu z kroku 2:databricks bundle run -t dev <project-name>_pipeline
Zkopírujte hodnotu, která se zobrazí v terminálu, a vložte ji do webového
Update URL
prohlížeče, aby se otevřel pracovní prostor Azure Databricks.Po úspěšném dokončení kanálu v pracovním prostoru Azure Databricks klikněte na zobrazení taxi_raw a filtered_taxis materializované zobrazení zobrazte podrobnosti.
Pokud po tomto kroku provedete nějaké změny sady, měli byste zopakovat kroky 4 až 6, abyste zkontrolovali, jestli je konfigurace sady stále platná, znovu nasaďte projekt a spusťte znovu nasazený projekt.
Krok 7: Vyčištění
V tomto kroku odstraníte nasazený poznámkový blok a kanál z pracovního prostoru.
Z kořenového adresáře spusťte
bundle destroy
příkaz pomocí rozhraní příkazového řádku Databricks následujícím způsobem:databricks bundle destroy -t dev
Potvrďte žádost o odstranění kanálu: Po zobrazení výzvy k trvalému zničení prostředků zadejte
y
a stiskněteEnter
.Potvrďte žádost o odstranění poznámkového bloku: Po zobrazení výzvy k trvalému zničení dříve nasazené složky a všech jejích souborů zadejte
y
a stiskněteEnter
.Pokud chcete také odstranit sadu z vývojového počítače, můžete teď odstranit místní adresář z kroku 2.
Přidání existující definice kanálu do sady
Existující definici kanálu Delta Live Tables můžete použít jako základ k definování nového kanálu v konfiguračním souboru sady. Pokud chcete získat existující definici kanálu, můžete ji ručně načíst pomocí uživatelského rozhraní nebo ji můžete vygenerovat programově pomocí rozhraní příkazového řádku Databricks.
Získání existující definice kanálu pomocí uživatelského rozhraní
Pokud chcete získat reprezentaci existující definice kanálu YAML z uživatelského rozhraní pracovního prostoru Azure Databricks:
Na bočním panelu pracovního prostoru Azure Databricks klikněte na Pracovní postupy.
Na kartě Delta Live Tables klikněte na odkaz Název kanálu.
Vedle tlačítka Vývoj klikněte na kebab a potom klepněte na tlačítko Zobrazit nastavení YAML.
Kliknutím na ikonu kopírování zkopírujte YAML definice kanálu v dialogovém okně YAML nastavení kanálu do místní schránky.
Přidejte YAML, který jste zkopírovali do souboru sady,
databricks.yml
nebo vytvořte konfigurační soubor pro váš kanál veresources
složce projektu sady a odkazujte na něj zedatabricks.yml
souboru. Podívejte se na zdroje informací.Stáhněte a přidejte všechny soubory a poznámkové bloky Pythonu, na které odkazuje zdroj projektu sady. Artefakty sady jsou obvykle v
src
adresáři v sadě.Tip
Existující poznámkový blok z pracovního prostoru Azure Databricks můžete exportovat do
.ipynb
formátu kliknutím na Poznámkový blok IPython pro export > souborů > z uživatelského rozhraní poznámkového bloku Azure Databricks.Po přidání poznámkových bloků, souborů Pythonu a dalších artefaktů do sady se ujistěte, že je definice kanálu správně odkazuje. Například pro poznámkový blok s názvem
hello.ipynb
, který je vsrc/
adresáři sady:resources: pipelines: hello-pipeline: name: hello-pipeline libraries: - notebook: path: ../src/hello.ipynb
Generování existující definice kanálu pomocí rozhraní příkazového řádku Databricks
Programové generování konfigurace sady pro existující kanál:
Načtěte ID existujícího kanálu z bočního panelu podrobností kanálu pro kanál v uživatelském rozhraní nebo použijte příkaz Rozhraní příkazového řádku
databricks pipelines list-pipelines
Databricks.Spusťte příkaz Rozhraní příkazového
bundle generate pipeline
řádku Databricks a nastavte ID kanálu:databricks bundle generate pipeline --existing-pipeline-id 6565621249
Tento příkaz vytvoří konfigurační soubor sady pro kanál ve složce sady
resources
a stáhne všechny odkazované artefakty dosrc
složky.Tip
Pokud nejprve použijete
bundle deployment bind
vazbu prostředku v sadě k prostředku v pracovním prostoru, prostředek v pracovním prostoru se aktualizuje na základě konfigurace definované v sadě, ke které je vázán po dalšíbundle deploy
. Informace najdetebundle deployment bind
v tématu Vytvoření vazby prostředků sady prostředků.