Sdílet prostřednictvím


Migrace existujících prostředků do sady

Při vytváření sady prostředků můžete chtít zahrnout prostředky Databricks, které už existují a jsou plně nakonfigurované ve vzdáleném pracovním prostoru. Pomocí příkazu rozhraní příkazového řádku Databricks bundle generate můžete rychle automaticky generovat konfiguraci v balíčku pro existující aplikace, řídicí panely, úlohy a kanály. Zobrazení vygenerování sady Databricks Konfigurace, kterou můžete zkopírovat a ručně vložit do konfiguračních souborů prostředků sady prostředků, je k dispozici v uživatelském rozhraní Databricks pro některé prostředky, jako jsou úlohy a kanály.

Po vygenerování konfigurace pro prostředek v sadě a nasazení sady použijte bundle deployment bind příkaz k vytvoření vazby prostředku v sadě s odpovídajícím prostředkem v pracovním prostoru. Podívejte se na vazbu nasazení sady databricks.

Tato stránka obsahuje jednoduché příklady, které používají rozhraní příkazového řádku nebo uživatelské rozhraní Databricks pro vygenerování nebo získání konfigurace prostředků sady.

Podrobnosti o definicích prostředků v balíčcích naleznete v tématu Prostředky Databricks Asset Bundles.

Generování konfigurace pro existující úlohu nebo kanál pomocí rozhraní příkazového řádku Databricks

Pro programové generování konfigurace balíku pro existující úlohu nebo zpracovatelský tok:

  1. Načtěte ID existující úlohy nebo kanálu z bočního panelu Podrobností úlohy nebo kanálu pro úlohu nebo kanál v uživatelském rozhraní. Případně můžete použít rozhraní příkazového řádku Databricks CLI databricks jobs list nebo příkaz databricks pipelines list-pipelines.

  2. Spusťte příkaz bundle generate job nebo bundle generate pipelinepříkaz Databricks CLI a nastavte identifikátor úlohy nebo kanálu:

    databricks bundle generate job --existing-job-id 6565621249
    
    databricks bundle generate pipeline --existing-pipeline-id 6565621249
    

    Tento příkaz vytvoří konfigurační soubor sady prostředků ve složce sady resources a stáhne všechny odkazované artefakty do src složky.

Můžete také vygenerovat konfiguraci pro existující řídicí panel. Podívejte se na generování řídicího panelu pomocí balíčku Databricks.

Generování konfigurace pro existující kanál Sparku

Generování pomocí programu konfigurace balíčku pro projekt Spark Declarative Pipelines (SDP) (obsahuje spark-pipeline.yml soubor):

  1. Zkopírujte nebo přesuňte celý projekt pipeline Sparku do složky vašeho balíčku src.

  2. Spusťte následující příkaz:

    databricks pipelines generate --existing-pipeline-dir src/my_pipeline
    

Pro více informací viz generování kanálů Databricks.

Načtení existující definice úlohy pomocí uživatelského rozhraní

Načtení reprezentace YAML existující definice úlohy z uživatelského rozhraní pracovního prostoru Azure Databricks:

  1. Na bočním panelu pracovního prostoru Azure Databricks klikněte na Úlohy a kanály.

  2. Volitelně můžete vybrat filtry Práce a Vlastním.

  3. Klikněte na odkaz Název vaší úlohy.

  4. Vedle tlačítka Spustit nyní klikněte na kebab a potom klikněte na Upravit jako YAML.

  5. Zkopírujte YAML a přidejte ho do souboru vaší sady databricks.yml nebo vytvořte konfigurační soubor pro úlohu v resources adresáři projektu sady a odkazujte na něj z vašeho 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é se odkazuje v existující úloze, do zdroje projektu sady. Artefakty balíčku se obvykle nacházejí v adresáři src uvnitř balíčku.

    Návod

    Existující poznámkový blok z pracovního prostoru Azure Databricks můžete exportovat do .ipynb formátu kliknutím na Soubor > Exportovat > IPython Notebook v uživatelském rozhraní poznámkového bloku Azure Databricks.

    Po přidání poznámkových bloků, souborů Pythonu a dalších artefaktů do sady změňte odkazy na tyto soubory v definici úlohy na jejich místní umístění. Pokud jste například měli ve hello_job.job.yml složce sady konfigurační soubor a stáhli resources jste poznámkový blok s názvem hello.ipynb do src složky sady, obsah hello_job.job.yml souboru by byl následující:

    resources:
      jobs:
        hello_job:
          name: hello_job
          tasks:
            - task_key: hello_task
              notebook_task:
                notebook_path: ../src/hello.ipynb
    

Další informace o zobrazení úloh jako kódu v uživatelském rozhraní najdete v tématu Zobrazení úloh jako kódu.

Získání existující definice pipeline pomocí uživatelského rozhraní

Chcete-li načíst YAML reprezentaci existující definice pipeline z uživatelského rozhraní pracovního prostoru Azure Databricks:

  1. Na bočním panelu pracovního prostoru Azure Databricks klikněte na Úlohy a kanály.

  2. Volitelně můžete vybrat filtr Kanály .

  3. Klikněte na název vašeho potrubí.

  4. Vedle tlačítka Vývoj klikněte na ikonu nabídky Kebab.a potom klepněte na tlačítko Zobrazit nastavení YAML.

  5. Zkopírujte YAML definice procesu v dialogovém okně YAML nastavení procesu do místní schránky kliknutím na ikonu kopírování.

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

  7. Stáhněte a přidejte všechny soubory a poznámkové bloky Pythonu, na které odkazuje zdroj projektu sady. Artefakty balíčku se obvykle nacházejí v adresáři src uvnitř balíčku.

    Návod

    Existující poznámkový blok z pracovního prostoru Azure Databricks můžete exportovat do .ipynb formátu kliknutím na Soubor > Exportovat > IPython Notebook v uživatelském rozhraní poznámkového bloku Azure Databricks.

    Po přidání poznámkových bloků, souborů Pythonu a dalších artefaktů do balíčku se ujistěte, že je definice pipeline 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
    

Připoutejte prostředek na jeho vzdálený protějšek

Po přidání prostředku do sady prostředků obvykle budete chtít zajistit, aby prostředek v sadě a existující prostředek v pracovním prostoru zůstal synchronizovaný. Příkaz bundle deployment bind umožňuje propojit je. Pokud připojíte prostředek, v rámci pracovního prostoru se připojený prostředek Azure Databricks aktualizuje na základě konfigurace definované v sadě při další příležitosti bundle deploy.

Další informace o bundle deployment bind a podrobnosti o podpoře prostředků najdete v nasazení balíčku databricks.

Příkaz přiřazuje prostředek hello_job jeho vzdálenému protějšku na pracovní ploše. Zobrazí výzvu k potvrzení, že aktualizace konfigurace úlohy v sadě mají být aplikovány na odpovídající vzdálenou úlohu při dalším nasazení sady.

databricks bundle deployment bind hello_job 6565621249

Chcete-li odebrat propojení mezi prostředkem sady a jeho protějškem v pracovním prostoru, použijte bundle deployment unbind. Podívejte se na zrušení vazby nasazení sady Databricks.

databricks bundle deployment unbind hello_job

Migrace prostředku, který existuje ve dvou pracovních prostorech

V některých nastaveních může stejný prostředek existovat ve více než jednom pracovním prostoru. Stejná úloha může být například ve vývojovém a produkčním pracovním prostoru. Pokud se existující úloha přidá do sady a pak se sada nasadí do jednoho z těchto pracovních prostorů, vytvoří se duplicitní úlohy. Chcete-li tomu zabránit, použijte databricks bundle generate a databricks bundle deployment bind společně:

  1. Definujte vývojové a prodyšné cíle ve vaší sadě databricks.yml.

  2. Vygenerujte konfiguraci sady prostředků (v tomto příkladu úlohy) v cílovém vývojovém prostředí:

    databricks bundle generate job --existing-job-id <dev_job_id> –-target dev
    
  3. Konfigurace prostředku v produ bude pravděpodobně jiná než konfigurace prostředku ve vývojovém prostředí, takže teď, když jste pro prostředek vygenerovali konfiguraci, definujte nastavení specifická pro produkční prostředí pro prostředek (v cílovém prostředí) v sadě.

    targets:
      dev:
        default: true
        #...
      prod:
        #...
        resources:
          jobs:
            my_job:
              # Job prod settings
    
  4. Vytvořte vazbu prostředku v sadě na existující úlohu ve vývojových a prod cílech:

    databricks bundle deployment bind my_job <dev_job_id> --target dev
    
    databricks bundle deployment bind my_job <prod_job_id> --target prod
    

Sadu teď můžete nasadit do dvou prostředí:

databricks bundle deploy --target dev
databricks bundle deploy --target prod