Sdílet prostřednictvím


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

(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í.

  1. 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říklad https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. 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 profilespomocí rozhraní příkazového řádku Databricks . Pokud chcete zobrazit existující nastavení konkrétního profilu, spusťte příkaz databricks auth env --profile <profile-name>.

  3. Ve webovém prohlížeči dokončete pokyny na obrazovce, abyste se přihlásili k pracovnímu prostoru Azure Databricks.

  4. 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

  1. 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.

  2. Ke spuštění bundle init příkazu použijte rozhraní příkazového řádku Databricks:

    databricks bundle init
    
  3. Pro Template to use, ponechte výchozí hodnotu default-python stisknutím klávesy Enter.

  4. Pro Unique name for this project, ponechte výchozí hodnotu my_project, nebo zadejte jinou hodnotu a stiskněte Enter. 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.

  5. Pro Include a stub (sample) notebook, vyberte no a stiskněte Enter. 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.

  6. Pro Include a stub (sample) DLT pipeline, ponechte výchozí hodnotu yes stisknutím klávesy Enter. 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.

  7. Pro Include a stub (sample) Python package, vyberte no a stiskněte Enter. 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 a resources/<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á.

  1. 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
    
  2. 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.

  1. 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
    
  2. Zkontrolujte, jestli byl místní poznámkový blok nasazený: Na bočním panelu pracovního prostoru Azure Databricks klikněte na Pracovní prostor.

  3. 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.

  4. Zkontrolujte, jestli se kanál vytvořil: Na bočním panelu pracovního prostoru Azure Databricks klikněte na Delta Live Tables.

  5. 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.

  1. 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
    
  2. 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.

  3. 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.

  1. 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
    
  2. Potvrďte žádost o odstranění kanálu: Po zobrazení výzvy k trvalému zničení prostředků zadejte y a stiskněte Enter.

  3. 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ěte Enter.

  4. 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:

  1. Na bočním panelu pracovního prostoru Azure Databricks klikněte na Pracovní postupy.

  2. Na kartě Delta Live Tables klikněte na odkaz Název kanálu.

  3. Vedle tlačítka Vývoj klikněte na kebab a potom klepněte na tlačítko Zobrazit nastavení YAML.

  4. 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.

  5. Přidejte YAML, který jste zkopírovali do souboru sady, databricks.yml nebo vytvořte konfigurační soubor pro váš kanál ve resources složce projektu sady a odkazujte na něj ze databricks.yml souboru. Podívejte se na zdroje informací.

  6. 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 v src/ 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:

  1. 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.

  2. 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 do src 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 najdete bundle deployment bindv tématu Vytvoření vazby prostředků sady prostředků.