Udostępnij za pośrednictwem


Programowanie pakietów zasobów usługi Databricks

W tym artykule opisano programowanie i cykl życia pakietu zasobów usługi Databricks. Aby uzyskać ogólne informacje o pakietach zasobów usługi Databricks, zobacz Co to są pakiety zasobów usługi Databricks?.

Cykl życia pakietu

Aby zrozumieć, jak efektywnie korzystać z pakietów, musisz zrozumieć podstawowy cykl życia pakietu:

  1. Szkielet pakietu jest tworzony na podstawie projektu.
  2. Projekt pakietu jest opracowywany lokalnie. Pakiet zawiera pliki konfiguracji, które definiują ustawienia infrastruktury i obszaru roboczego, takie jak cele wdrożenia, ustawienia zasobów usługi Databricks, takich jak zadania i potoki, a także pliki źródłowe i inne artefakty.
  3. Projekt pakietu jest weryfikowany. Walidacja weryfikuje ustawienia i definicje zasobów w konfiguracji pakietu względem odpowiednich schematów obiektów, aby upewnić się, że pakiet można wdrożyć w usłudze Databricks.
  4. Pakiet jest wdrażany w docelowym obszarze roboczym. Najczęściej pakiet jest najpierw wdrażany w osobistym obszarze roboczym deweloperskim użytkownika na potrzeby testowania. Po zakończeniu testowania pakietu można wdrożyć pakiet w środowisku przejściowym, a następnie elementy docelowe produkcji.
  5. Zasoby przepływu pracy zdefiniowane w wdrożonym pakiecie można uruchomić. Można na przykład uruchomić zadanie.
  6. Jeśli pakiet nie jest już używany, można go trwale zniszczyć.

Polecenia pakietu interfejsu wiersza polecenia usługi Databricks służą do tworzenia, weryfikowania, wdrażania, uruchamiania i niszczenia pakietów zgodnie z opisem w poniższych sekcjach.

Krok 1. Tworzenie pakietu

Istnieją trzy sposoby rozpoczęcia tworzenia pakietu:

  1. Użyj domyślnego szablonu pakietu.
  2. Użyj niestandardowego szablonu pakietu.
  3. Ręcznie utwórz pakiet.

Używanie domyślnego szablonu pakietu

Aby użyć domyślnego szablonu pakietu usługi Azure Databricks, aby utworzyć pakiet startowy, który można dostosować dalej, użyj interfejsu wiersza polecenia usługi Databricks w wersji 0.218.0 lub nowszej, aby uruchomić bundle init polecenie, co umożliwia wybranie spośród listy dostępnych szablonów. Zobacz Tworzenie pakietu na podstawie szablonu projektu.

databricks bundle init

Źródło domyślnych szablonów pakietów można wyświetlić w repozytoriach publicznych usługi Github databricks/cli i databricks/mlops-stacks .

Przejdź do kroku 2. Wypełnij pliki konfiguracji pakietu.

Używanie niestandardowego szablonu pakietu

Aby użyć szablonu pakietu innego niż domyślny szablon pakietu usługi Azure Databricks, musisz znać ścieżkę lokalną lub adres URL lokalizacji szablonu pakietu zdalnego. Użyj interfejsu wiersza polecenia usługi Databricks w wersji 0.218.0 lub nowszej, aby uruchomić bundle init polecenie w następujący sposób:

databricks bundle init <project-template-local-path-or-url>

Aby uzyskać więcej informacji na temat tego polecenia, zobacz Szablony pakietu zasobów usługi Databricks. Aby uzyskać informacje na temat określonego szablonu pakietu, zobacz dokumentację dostawcy szablonów pakietów.

Przejdź do kroku 2. Wypełnij pliki konfiguracji pakietu.

Ręczne tworzenie pakietu

Aby ręcznie utworzyć pakiet zamiast przy użyciu szablonu pakietu, utwórz katalog projektu na komputerze lokalnym lub puste repozytorium z dostawcą git innej firmy.

W katalogu lub repozytorium utwórz co najmniej jeden plik konfiguracji pakietu jako dane wejściowe. Te pliki są wyrażane w formacie YAML. Musi istnieć co najmniej jeden (i tylko jeden) plik konfiguracji pakietu o nazwie databricks.yml. Dodatkowe pliki konfiguracji pakietu muszą być przywołyne w include mapowaniu databricks.yml pliku.

Aby łatwiej i szybko tworzyć pliki YAML zgodne ze składnią konfiguracji pakietu zasobów usługi Databricks, możesz użyć narzędzia takiego jak Visual Studio Code, PyCharm Professional lub IntelliJ IDEA Ultimate , które zapewniają obsługę plików YAML i plików schematu JSON w następujący sposób:

Visual Studio Code

  1. Dodaj obsługę serwera języka YAML do programu Visual Studio Code, na przykład przez zainstalowanie rozszerzenia YAML z witryny Visual Studio Code Marketplace.

  2. Wygeneruj plik schematu konfiguracji pakietu zasobów usługi Databricks w formacie JSON przy użyciu interfejsu wiersza polecenia usługi Databricks w wersji 0.218.0 lub nowszej, aby uruchomić bundle schema polecenie i przekierować dane wyjściowe do pliku JSON. Na przykład wygeneruj plik o nazwie bundle_config_schema.json w bieżącym katalogu w następujący sposób:

    databricks bundle schema > bundle_config_schema.json
    
  3. Użyj programu Visual Studio Code, aby utworzyć lub otworzyć plik konfiguracji pakietu w bieżącym katalogu. Ten plik musi mieć nazwę databricks.yml.

  4. Dodaj następujący komentarz na początku pliku konfiguracji pakietu:

    # yaml-language-server: $schema=bundle_config_schema.json
    

    Uwaga

    W poprzednim komentarzu, jeśli plik schematu JSON konfiguracji pakietu zasobów usługi Databricks znajduje się w innej ścieżce, zastąp bundle_config_schema.json pełną ścieżką do pliku schematu.

  5. Użyj dodanych wcześniej funkcji serwera języka YAML. Aby uzyskać więcej informacji, zobacz dokumentację serwera języka YAML.

PyCharm Professional

  1. Wygeneruj plik schematu JSON konfiguracji pakietu zasobów usługi Databricks przy użyciu interfejsu wiersza polecenia usługi Databricks w wersji 0.218.0 lub nowszej, aby uruchomić bundle schema polecenie i przekierować dane wyjściowe do pliku JSON. Na przykład wygeneruj plik o nazwie bundle_config_schema.json w bieżącym katalogu w następujący sposób:

    databricks bundle schema > bundle_config_schema.json
    
  2. Skonfiguruj narzędzie PyCharm do rozpoznawania pliku schematu JSON konfiguracji pakietu, a następnie ukończ mapowanie schematu JSON, postępując zgodnie z instrukcjami w temacie Konfigurowanie niestandardowego schematu JSON.

  3. Użyj narzędzia PyCharm, aby utworzyć lub otworzyć plik konfiguracji pakietu. Ten plik musi mieć nazwę databricks.yml. Podczas wpisywania narzędzie PyCharm sprawdza składnię i formatowanie schematu JSON oraz udostępnia wskazówki dotyczące uzupełniania kodu.

IntelliJ IDEA Ultimate

  1. Wygeneruj plik schematu JSON konfiguracji pakietu zasobów usługi Databricks przy użyciu interfejsu wiersza polecenia usługi Databricks w wersji 0.218.0 lub nowszej, aby uruchomić bundle schema polecenie i przekierować dane wyjściowe do pliku JSON. Na przykład wygeneruj plik o nazwie bundle_config_schema.json w bieżącym katalogu w następujący sposób:

    databricks bundle schema > bundle_config_schema.json
    
  2. Skonfiguruj środowisko IntelliJ IDEA do rozpoznawania pliku schematu JSON konfiguracji pakietu, a następnie ukończ mapowanie schematu JSON, postępując zgodnie z instrukcjami w temacie Konfigurowanie niestandardowego schematu JSON.

  3. Użyj środowiska IntelliJ IDEA, aby utworzyć lub otworzyć plik konfiguracji pakietu. Ten plik musi mieć nazwę databricks.yml. Podczas wpisywania środowisko IntelliJ IDEA sprawdza składnię i formatowanie schematu JSON oraz udostępnia wskazówki dotyczące uzupełniania kodu.

Krok 2. Wypełnianie plików konfiguracji pakietu

Pliki konfiguracji pakietu definiują przepływy pracy usługi Azure Databricks, określając ustawienia, takie jak szczegóły obszaru roboczego, nazwy artefaktów, lokalizacje plików, szczegóły zadania i szczegóły potoku. Zazwyczaj konfiguracja pakietu zawiera również cele związane z programowaniem, przemieszczaniem i wdrażaniem produkcyjnym. Aby uzyskać szczegółowe informacje na temat plików konfiguracji pakietu, zobacz Konfiguracje pakietu zasobów usługi Databricks.

Możesz użyć bundle generate polecenia , aby automatycznie wygenerować konfigurację pakietu dla istniejącego zasobu w obszarze roboczym, a następnie użyć polecenia bundle deployment bind , aby połączyć konfigurację pakietu z zasobem w obszarze roboczym, aby zachować je zsynchronizowane. Zobacz Generowanie pliku konfiguracji pakietu i Wiązanie zasobów pakietu.

Krok 3. Weryfikowanie plików konfiguracji pakietu

Przed wdrożeniem artefaktów lub uruchomieniem zadania lub potoku należy sprawdzić, czy definicje w plikach konfiguracji pakietu są prawidłowe. W tym celu uruchom bundle validate polecenie z katalogu głównego projektu pakietu. Zobacz Weryfikowanie pakietu.

databricks bundle validate

Jeśli walidacja zakończy się pomyślnie, zostanie zwrócone podsumowanie tożsamości pakietu i komunikat potwierdzenia. Aby wyświetlić schemat, użyj databricks bundle schema polecenia . Zobacz Wyświetlanie schematu konfiguracji pakietu.

Krok 4. Wdrażanie pakietu

Przed wdrożeniem pakietu upewnij się, że zdalny obszar roboczy ma włączone pliki obszaru roboczego. Zobacz Co to są pliki obszaru roboczego?.

Aby wdrożyć pakiet w zdalnym obszarze roboczym, uruchom bundle deploy polecenie z katalogu głównego pakietu zgodnie z opisem w temacie Wdrażanie pakietu. Interfejs wiersza polecenia usługi Databricks jest wdrażany w docelowym obszarze roboczym zadeklarowany w plikach konfiguracji pakietu. Zobacz cele.

databricks bundle deploy

Unikatowa tożsamość pakietu jest definiowana przez jego nazwę, element docelowy i tożsamość narzędzia wdrażania. Jeśli te atrybuty są identyczne w różnych pakietach, wdrożenie tych pakietów będzie zakłócać wzajemnie. Aby uzyskać dodatkowe informacje, zobacz Wdrażanie pakietu .

Napiwek

Polecenia można uruchamiać databricks bundle poza katalogem głównym pakietu, ustawiając zmienną BUNDLE_ROOT środowiskową. Jeśli ta zmienna środowiskowa nie jest ustawiona, polecenia próbują znaleźć katalog główny pakietu, databricks bundle wyszukując w bieżącym katalogu roboczym.

Krok 5. Uruchamianie pakietu

Aby uruchomić określone zadanie lub potok, uruchom bundle run polecenie z katalogu głównego pakietu, określając zadanie lub klucz potoku zadeklarowany w plikach konfiguracji pakietu, zgodnie z opisem w temacie Uruchamianie pakietu. Klucz zasobu jest elementem najwyższego poziomu bloku YAML zasobu. Jeśli nie określisz zadania lub klucza potoku, zostanie wyświetlony monit o wybranie zasobu do uruchomienia z listy dostępnych zasobów. -t Jeśli opcja nie zostanie określona, zostanie użyty domyślny element docelowy zadeklarowany w plikach konfiguracji pakietu. Aby na przykład uruchomić zadanie z kluczem hello_job w kontekście domyślnego obiektu docelowego:

databricks bundle run hello_job

Aby uruchomić zadanie z kluczem hello_job w kontekście obiektu docelowego zadeklarowanego z nazwą dev:

databricks bundle run -t dev hello_job

Krok 6. Zniszczenie pakietu

Jeśli skończysz z pakietem i chcesz usunąć zadania, potoki i artefakty, które zostały wcześniej wdrożone, uruchom bundle destroy polecenie z katalogu głównego pakietu. To polecenie usuwa wszystkie wcześniej wdrożone zadania, potoki i artefakty zdefiniowane w plikach konfiguracji pakietu. Zobacz Niszczenie pakietu.

databricks bundle destroy

Domyślnie zostanie wyświetlony monit o potwierdzenie trwałego usunięcia wcześniej wdrożonych zadań, potoków i artefaktów. Aby pominąć te monity i wykonać automatyczne trwałe usunięcie, dodaj --auto-approve opcję do bundle destroy polecenia .