Udostępnij za pośrednictwem


Co to są pakiety zasobów usługi Databricks?

Pakiety zasobów usługi Databricks (DAB) to narzędzie ułatwiające wdrażanie najlepszych rozwiązań w zakresie inżynierii oprogramowania, w tym kontroli źródła, przeglądu kodu, testowania oraz ciągłej integracji i ciągłego dostarczania (CI/CD) dla danych i projektów sztucznej inteligencji. Pakiety umożliwiają opisywanie zasobów usługi Databricks, takich jak zadania, potoki i notesy jako pliki źródłowe. Te pliki źródłowe zapewniają kompleksową definicję projektu, w tym sposób, w jaki powinien on być ustrukturyzowany, przetestowany i wdrożony, co ułatwia współpracę nad projektami podczas aktywnego opracowywania.

Pakiety umożliwiają dołączanie metadanych wraz z plikami źródłowymi projektu. Podczas wdrażania projektu przy użyciu pakietów te metadane są używane do aprowizowania infrastruktury i innych zasobów. Kolekcja plików źródłowych i metadanych projektu jest następnie wdrażana jako pojedynczy pakiet w środowisku docelowym. Pakiet zawiera następujące części:

  • Wymagana infrastruktura chmury i konfiguracje obszaru roboczego
  • Pliki źródłowe, takie jak notesy i pliki języka Python, które obejmują logikę biznesową
  • Definicje i ustawienia zasobów usługi Databricks, takich jak zadania usługi Azure Databricks, potoki delta live tables, punkty końcowe obsługujące model, eksperymenty MLflow i zarejestrowane modele MLflow
  • Testy jednostkowe i testy integracji

Na poniższym diagramie przedstawiono ogólny widok potoku programowania i ciągłej integracji/ciągłego wdrażania z pakietami:

Omówienie pakietów zasobów usługi Databricks

Kiedy należy używać pakietów zasobów usługi Databricks?

Pakiety zasobów usługi Databricks to podejście infrastruktury jako kodu (IaC) do zarządzania projektami usługi Databricks. Używaj ich, gdy chcesz zarządzać złożonymi projektami, w których wiele współautorów i automatyzacja jest niezbędnych, a ciągła integracja i ciągłe wdrażanie (CI/CD) są wymagane. Ponieważ pakiety są definiowane i zarządzane za pomocą szablonów YAML i plików tworzonych i utrzymywanych wraz z kodem źródłowym, są one mapowane dobrze na scenariusze, w których IaC jest odpowiednim podejściem.

Oto kilka idealnych scenariuszy dla pakietów:

  • Opracowywanie projektów danych, analiz i uczenia maszynowego w środowisku opartym na zespole. Pakiety mogą ułatwić efektywne organizowanie różnych plików źródłowych i zarządzanie nimi. Zapewnia to bezproblemową współpracę i usprawnione procesy.
  • Szybsze iterowanie problemów z uczeniem maszynowym. Zarządzanie zasobami potoku uczenia maszynowego (takimi jak zadania trenowania i wnioskowania wsadowego) przy użyciu projektów uczenia maszynowego, które są zgodne z najlepszymi rozwiązaniami produkcyjnymi od początku.
  • Ustaw standardy organizacyjne dla nowych projektów, tworząc szablony pakietów niestandardowych, które obejmują domyślne uprawnienia, jednostki usługi i konfiguracje ciągłej integracji/ciągłego wdrażania.
  • Zgodność z przepisami: W branżach, w których zgodność z przepisami jest istotnym problemem, pakiety mogą pomóc w utrzymaniu historii wersji kodu i pracy infrastruktury. Pomaga to w zapewnianiu ładu i zapewnia spełnienie niezbędnych standardów zgodności.

Jak działają pakiety zasobów usługi Databricks?

Metadane pakietu są definiowane przy użyciu plików YAML określających artefakty, zasoby i konfigurację projektu usługi Databricks. Ten plik YAML można utworzyć ręcznie lub wygenerować przy użyciu szablonu pakietu. Interfejs wiersza polecenia usługi Databricks może następnie służyć do weryfikowania, wdrażania i uruchamiania pakietów przy użyciu tych plików YAML pakietu. Projekty pakietów można uruchamiać bezpośrednio z środowisk IDE, terminali lub bezpośrednio w usłudze Databricks. W tym artykule jest używany interfejs wiersza polecenia usługi Databricks.

Pakiety można tworzyć ręcznie lub na podstawie szablonu. Interfejs wiersza polecenia usługi Databricks udostępnia szablony domyślne dla prostych przypadków użycia, ale w przypadku bardziej szczegółowych lub złożonych zadań można utworzyć niestandardowe szablony pakietów w celu zaimplementowania najlepszych rozwiązań zespołu i zachowania spójności typowych konfiguracji.

Aby uzyskać więcej informacji na temat konfiguracji YAML używanej do wyrażania pakietów zasobów usługi Databricks, zobacz Konfiguracja pakietu zasobów usługi Databricks.

Konfigurowanie środowiska pod kątem używania pakietów

Użyj interfejsu wiersza polecenia usługi Databricks, aby łatwo wdrożyć pakiety z wiersza polecenia. Aby zainstalować interfejs wiersza polecenia usługi Databricks, zobacz Instalowanie lub aktualizowanie interfejsu wiersza polecenia usługi Databricks.

Pakiety zasobów usługi Databricks są dostępne w interfejsie wiersza polecenia usługi Databricks w wersji 0.218.0 lub nowszej. Aby znaleźć zainstalowaną wersję interfejsu wiersza polecenia usługi Databricks, uruchom następujące polecenie:

databricks --version

Po zainstalowaniu interfejsu wiersza polecenia usługi Databricks sprawdź, czy zdalne obszary robocze usługi Databricks są poprawnie skonfigurowane. Pakiety wymagają włączenia funkcji plików obszaru roboczego, ponieważ ta funkcja obsługuje pracę z plikami innymi niż notesy usługi Databricks, takich jak .py i .yml . Jeśli używasz środowiska Databricks Runtime w wersji 11.3 LTS lub nowszej, ta funkcja jest domyślnie włączona.

Uwierzytelnianie

Usługa Azure Databricks udostępnia kilka metod uwierzytelniania:

  • W przypadku obsługiwanych scenariuszy uwierzytelniania, takich jak ręczne przepływy pracy, w których używasz przeglądarki internetowej do logowania się do docelowego obszaru roboczego usługi Azure Databricks (po wyświetleniu monitu przez interfejs wiersza polecenia usługi Databricks), użyj uwierzytelniania użytkownika do maszyny OAuth (U2M). Ta metoda jest idealna do eksperymentowania z samouczkami wprowadzającymi dla pakietów zasobów usługi Databricks lub szybkiego tworzenia pakietów.
  • W przypadku scenariuszy uwierzytelniania nienadzorowanego , takich jak w pełni zautomatyzowane przepływy pracy, w których nie ma możliwości użycia przeglądarki internetowej do zalogowania się do docelowego obszaru roboczego usługi Azure Databricks w tym czasie, użyj uwierzytelniania maszyny do maszyny OAuth (M2M). Ta metoda wymaga użycia jednostek usługi Azure Databricks i jest idealna do używania pakietów zasobów usługi Databricks z systemami ciągłej integracji/ciągłego wdrażania, takimi jak GitHub.

W przypadku uwierzytelniania OAuth U2M wykonaj następujące czynności:

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

    W poniższym poleceniu zastąp ciąg <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 usługi Databricks monituje o zapisanie informacji wprowadzonych jako profil konfiguracji usługi 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 --host wartości, może być konieczne określenie --host opcji i -p , aby ułatwić interfejsowi wiersza polecenia usługi Databricks znalezienie prawidłowych pasujących informacji o tokenie OAuth.

Nazwy tego profilu konfiguracji można używać na co najmniej jeden z następujących sposobów podczas walidacji, wdrażania, uruchamiania lub niszczenia pakietów:

  • Za pomocą opcji -p <profile-name>wiersza polecenia dołączono do poleceń databricks bundle validate, databricks bundle deploy, lub databricks bundle rundatabricks bundle destroy. Zobacz Programowanie pakietów zasobów usługi Databricks.
  • Jako wartość profile mapowania w pliku konfiguracji pakietu mapowanie najwyższego poziomu workspace (chociaż usługa Databricks zaleca użycie host mapowania ustawionego na adres URL obszaru roboczego usługi Azure Databricks zamiast profile mapowania, ponieważ sprawia, że pliki konfiguracji pakietu są bardziej przenośne). Zobacz pokrycie profile mapowania w obszarze roboczym.
  • Jeśli nazwa profilu konfiguracji to DEFAULT, jest używana domyślnie, gdy nie określono opcji -p <profile-name> wiersza polecenia lub profile mapowania (lub host).

W przypadku uwierzytelniania OAuth M2M wykonaj następujące czynności:

  1. Wykonaj instrukcje dotyczące konfigurowania uwierzytelniania OAuth M2M. Zobacz Uwierzytelnianie dostępu do usługi Azure Databricks przy użyciu jednostki usługi przy użyciu protokołu OAuth (OAuth M2M).

  2. Zainstaluj interfejs wiersza polecenia usługi Databricks w docelowym zasobie obliczeniowym na jeden z następujących sposobów:

  3. Ustaw następujące zmienne środowiskowe dla zasobu obliczeniowego w następujący sposób:

    • DATABRICKS_HOST, ustaw adres URL usługi Azure Databricks na obszar roboczy, na przykład https://adb-1234567890123456.7.azuredatabricks.net.
    • DATABRICKS_CLIENT_ID, ustaw wartość identyfikatora aplikacji jednostki usługi Azure Databricks.
    • DATABRICKS_CLIENT_SECRET, ustaw wartość klucza tajnego OAuth jednostki usługi Azure Databricks.

    Aby ustawić te zmienne środowiskowe, zapoznaj się z dokumentacją systemu operacyjnego docelowego zasobu obliczeniowego lub systemu ciągłej integracji/ciągłego wdrażania.

Opracowywanie pierwszego pakietu zasobów usługi Databricks

Najszybszym sposobem rozpoczęcia tworzenia pakietów jest użycie szablonu projektu pakietu. Utwórz swój pierwszy projekt pakietu przy użyciu polecenia init pakietu interfejsu wiersza polecenia usługi Databricks. To polecenie przedstawia wybór domyślnych szablonów pakietów udostępnianych przez usługę Databricks i zadaje serię pytań w celu zainicjowania zmiennych projektu.

databricks bundle init

Tworzenie pakietu to pierwszy krok w cyklu życia pakietu. Drugim krokiem jest opracowanie pakietu, który jest kluczowym elementem definiowania ustawień pakietu i zasobów w databricks.yml plikach konfiguracji zasobów i . Aby uzyskać informacje na temat konfiguracji pakietu, zobacz Konfiguracja pakietu zasobów usługi Databricks.

Napiwek

Przykłady konfiguracji pakietu można znaleźć w przykładach konfiguracji pakietu i repozytorium Przykłady pakietów w usłudze GitHub.

Następne kroki