Udostępnij za pośrednictwem


Opracowywanie zadania za pomocą pakietów zasobów usługi Databricks

Pakiety zasobów usługi Databricks, znane również po prostu jako pakiety, zawierają artefakty, które chcesz wdrożyć, oraz ustawienia zasobów usługi Azure Databricks, takich jak zadania, które chcesz uruchomić, i umożliwiają programowe weryfikowanie, wdrażanie i uruchamianie. Zobacz Co to są pakiety zasobów usługi Databricks?.

W tym artykule opisano sposób tworzenia pakietu w celu programowego zarządzania zadaniem. Zobacz Zadania lakeflow. Pakiet jest tworzony przy użyciu domyślnego szablonu pakietu zasobów usługi Databricks dla języka Python, który składa się z notesu sparowanego z definicją zadania do jego uruchomienia. Następnie należy zweryfikować, wdrożyć i uruchomić wdrożone zadanie w obszarze roboczym usługi Azure Databricks.

Wskazówka

Jeśli masz istniejące zadania utworzone przy użyciu interfejsu użytkownika lub interfejsu API usługi Lakeflow Jobs, które chcesz przenieść do pakietów, musisz zdefiniować je w plikach konfiguracji pakietu. Usługa Databricks zaleca najpierw utworzenie pakietu, wykonując poniższe kroki, a następnie sprawdzenie, czy pakiet działa. Następnie możesz dodać do pakietu dodatkowe definicje zadań, notesy i inne źródła. Zobacz Pobieranie istniejącej definicji zadania przy użyciu interfejsu użytkownika.

Wymagania

Tworzenie pakietu przy użyciu szablonu projektu

Najpierw utwórz pakiet przy użyciu domyślnego szablonu języka Python pakietu zasobów usługi Databricks. Aby uzyskać więcej informacji na temat szablonów pakietów, zobacz Szablony projektów pakietu zasobów usługi Databricks.

Jeśli chcesz utworzyć pakiet od podstaw, zobacz Ręczne tworzenie pakietu.

Krok 1. Konfigurowanie uwierzytelniania

W tym kroku skonfigurujesz uwierzytelnianie między interfejsem wiersza polecenia usługi Databricks na komputerze deweloperskim a obszarem roboczym usługi Azure Databricks. W tym artykule założono, że chcesz użyć uwierzytelniania użytkownika do komputera (U2M) OAuth i odpowiedniego profilu konfiguracji usługi Azure Databricks o nazwie DEFAULT na potrzeby uwierzytelniania.

Uwaga

Uwierzytelnianie U2M jest odpowiednie do wypróbowania tych kroków w czasie rzeczywistym. W przypadku w pełni zautomatyzowanych przepływów pracy usługa Databricks zaleca zamiast tego użycie uwierzytelniania maszynowego do maszyny OAuth (M2M). Zobacz instrukcje dotyczące konfigurowania uwierzytelniania M2M w temacie Autoryzowanie nienadzorowanego dostępu do zasobów usługi Azure Databricks przy użyciu jednostki usługi przy użyciu protokołu OAuth.

  1. Użyj CLI usługi Databricks, aby lokalnie zainicjować zarządzanie tokenami uwierzytelniania OAuth, uruchamiając następujące polecenie dla każdego docelowego obszaru roboczego.

    W poniższym poleceniu zastąp <workspace-url> adresem URL usługi Azure Databricks na obszar roboczy, na przykład https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. Interfejs wiersza polecenia Databricks prosi o zapisanie wprowadzonych informacji jako profil konfiguracji Azure Databricks. Naciśnij Enter , aby zaakceptować sugerowaną nazwę profilu lub wprowadź nazwę nowego lub istniejącego profilu. Każdy istniejący profil o tej samej nazwie zostanie zastąpiony wprowadzonymi informacjami. Profile umożliwiają szybkie przełączanie kontekstu uwierzytelniania między wieloma obszarami roboczymi.

    Aby uzyskać listę wszystkich istniejących profilów, w osobnym terminalu lub wierszu polecenia użyj interfejsu wiersza polecenia usługi Databricks, aby uruchomić polecenie databricks auth profiles. Aby wyświetlić istniejące ustawienia określonego profilu, uruchom polecenie databricks auth env --profile <profile-name>.

  3. W przeglądarce internetowej wykonaj instrukcje na ekranie, aby zalogować się do obszaru roboczego usługi Azure Databricks.

  4. Aby wyświetlić bieżącą wartość tokenu OAuth profilu i zbliżający się znacznik czasu wygaśnięcia tokenu, uruchom jedno z następujących poleceń:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    Jeśli masz wiele profilów o tej samej wartości --host, może być konieczne jednoczesne określenie opcji --host i -p, aby pomóc interfejsowi CLI usługi Databricks w znalezieniu prawidłowych informacji pasujących do tokenu OAuth.

Krok 2. Inicjowanie pakietu

Zainicjuj pakiet przy użyciu domyślnego szablonu projektu pakietu języka Python.

Uwaga

Domyślny szablon Pythona wymaga, aby uv był zainstalowany. Zobacz Instalowanie uv.

  1. Użyj terminalu lub wiersza polecenia, aby przełączyć się do katalogu na lokalnej maszynie deweloperskiej, która będzie zawierać wygenerowany pakiet szablonu.

  2. Użyj CLI usługi Databricks, aby uruchomić polecenie bundle init.

    databricks bundle init
    
  3. Dla pola Template to use, pozostaw wartość domyślną default-python przez naciśnięcie Enter.

  4. W polu Unique name for this projectpozostaw wartość my_projectdomyślną , lub wpisz inną wartość, a następnie naciśnij Enter. Określa nazwę katalogu głównego dla tego pakietu. Ten katalog główny jest tworzony w bieżącym katalogu roboczym.

  5. W przypadku Include a stub (sample) notebookwybierz pozycję yes i naciśnij Enter.

  6. W przypadku Include a stub (sample) Delta Live Tables pipelinewybierz pozycję no i naciśnij Enter. Powoduje to, że interfejs wiersza polecenia usługi Databricks nie definiuje przykładowego potoku ETL w pakiecie.

  7. W przypadku Include a stub (sample) Python packagewybierz pozycję no i naciśnij Enter. Instrukcja ta powoduje, że interfejs wiersza polecenia Databricks nie dodaje przykładowych plików pakietu wheel języka Python ani powiązanych instrukcji kompilacji do pakietu.

  8. W przypadku Use serverlesswybierz pozycję yes i naciśnij Enter. Spowoduje to, że interfejs wiersza polecenia usługi Databricks skonfiguruje pakiet do uruchamiania na bezserwerowych obliczeniach.

Krok 3. Eksplorowanie pakietu

Aby wyświetlić pliki wygenerowane przez szablon, przejdź do katalogu głównego nowo utworzonego pakietu. Pliki o szczególnym znaczeniu obejmują następujące elementy:

  • databricks.yml: Ten plik określa nazwę programową pakietu, zawiera odwołanie do definicji zadania i określa ustawienia docelowego obszaru roboczego.
  • resources/<project-name>_job.yml: ten plik określa ustawienia zadania, w tym domyślne zadanie notesu.
  • src/notebook.ipynb: Ten plik jest przykładowym notesem, który po uruchomieniu po prostu inicjuje RDD zawierający liczby od 1 do 10.

W przypadku dostosowywania zadań, mapowania w deklaracji zadania odpowiadają ładunkowi żądania, wyrażonemu w formacie YAML. Odnosi się to do operacji tworzenia zadania, zgodnie z opisem w dokumencie POST /api/2.1/jobs/create w dokumentacji referencyjnej REST API.

Wskazówka

Możesz definiować, łączyć i zastępować ustawienia dla nowych klastrów zadań w pakietach, używając technik opisanych w dokumencie Zastępowanie ustawień klastra w pakietach zasobów usługi Databricks.

Krok 4. Weryfikowanie pliku konfiguracji pakietu projektu

W tym kroku sprawdzisz, czy konfiguracja pakietu jest prawidłowa.

  1. Z katalogu głównego użyj Databricks CLI, aby uruchomić polecenie bundle validate w następujący sposób:

    databricks bundle validate
    
  2. Jeśli zostanie zwrócone podsumowanie konfiguracji pakietu, walidacja zakończyła się pomyślnie. Jeśli zostaną zwrócone jakiekolwiek błędy, napraw błędy, a następnie powtórz ten krok.

Jeśli po tym kroku wprowadzisz jakiekolwiek zmiany w pakiecie, należy powtórzyć ten krok, aby sprawdzić, czy konfiguracja pakietu jest nadal prawidłowa.

Krok 5. Wdrażanie projektu lokalnego w zdalnym obszarze roboczym

W tym kroku wdrożysz notes lokalny w zdalnym obszarze roboczym usługi Azure Databricks i utworzysz zadanie usługi Azure Databricks w obszarze roboczym.

  1. W katalogu głównym pakietu użyj interfejsu wiersza poleceń Databricks, aby uruchomić polecenie bundle deploy w następujący sposób:

    databricks bundle deploy -t dev
    
  2. Sprawdź, czy notes lokalny został wdrożony: na pasku bocznym obszaru roboczego usługi Azure Databricks kliknij pozycję Obszar roboczy.

  3. Kliknij w folder Users ><your-username>> .bundle ><project-name>> dev > files > src. Notatnik powinien znajdować się w tym folderze.

  4. Sprawdź, czy zadanie zostało utworzone: kliknij pozycję Zadania i potoki na pasku bocznym obszaru roboczego usługi Azure Databricks.

  5. Na karcie Zadania i potoki zadań kliknij pozycję [dev <your-username>] <project-name>_job.

    Jeśli lista jest długa, możesz filtrować, wybierając Zadania i Należące do mnie.

  6. Kliknij kartę Zadania . Powinno istnieć jedno zadanie: notebook_task.

Jeśli po tym kroku wprowadzisz jakiekolwiek zmiany w pakiecie, powtórz kroki od 4 do 5, aby sprawdzić, czy konfiguracja pakietu jest nadal prawidłowa, a następnie ponownie wdrożyć projekt.

Krok 6. Uruchamianie wdrożonego projektu

W tym kroku uruchomisz zadanie w obszarze roboczym z poziomu wiersza polecenia.

  1. Z katalogu głównego użyj Databricks CLI, aby uruchomić polecenie bundle run, w następujący sposób, zastępując <project-name> nazwą projektu z kroku 2:

    databricks bundle run -t dev <project-name>_job
    
  2. Skopiuj wartość Run URL wyświetlaną w terminalu i wklej tę wartość w przeglądarce internetowej, aby otworzyć obszar roboczy usługi Azure Databricks. Zobacz Wyświetlanie i uruchamianie zadania utworzonego za pomocą pakietów zasobów usługi Databricks

  3. W obszarze roboczym usługi Azure Databricks, po pomyślnym zakończeniu zadania i wyświetleniu się zielonego paska tytułowego, kliknij zadanie, aby wyświetlić wyniki.

Jeśli po tym kroku wprowadzisz jakiekolwiek zmiany w pakiecie, powtórz kroki od 4 do 6, aby sprawdzić, czy konfiguracja pakietu jest nadal prawidłowa, ponownie wdrożyć projekt i uruchomić ponownie wdrożony projekt.

Krok 7. Czyszczenie

W tym kroku usuniesz wdrożony notes i zadanie z obszaru roboczego.

  1. Z katalogu głównego użyj Databricks CLI, aby uruchomić polecenie bundle destroy w następujący sposób:

    databricks bundle destroy -t dev
    
  2. Potwierdź żądanie usunięcia zadania: po wyświetleniu monitu o trwałe zniszczenie zasobów wpisz y i naciśnij Enter.

  3. Potwierdź żądanie usunięcia notesu: po wyświetleniu monitu o trwałe zniszczenie wcześniej wdrożonego folderu i wszystkich jego plików wpisz y i naciśnij Enter.

  4. Jeśli chcesz również usunąć pakiet z komputera dewelopera, możesz teraz usunąć katalog lokalny z kroku 2.