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

Pakiety zasobów usługi Databricks (DAB) to nowe narzędzie do usprawniania opracowywania złożonych projektów danych, analiz i uczenia maszynowego dla platformy Databricks. Pakiety ułatwiają zarządzanie złożonymi projektami podczas aktywnego opracowywania, zapewniając możliwości ciągłej integracji/ciągłego wdrażania w przepływie pracy tworzenia oprogramowania za pomocą jednej zwięzłej i deklaratywnej składni YAML. Korzystając z pakietów do automatyzowania testów, wdrożeń i zarządzania konfiguracją projektu, można zmniejszyć błędy podczas promowania najlepszych rozwiązań dotyczących oprogramowania w całej organizacji jako projektów szablonów.

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

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 omówimy użycie interfejsu 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 Konfiguracje 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. Możesz sprawdzić, czy interfejs wiersza polecenia usługi Databricks jest zainstalowany, a bieżąca wersja, której używasz, uruchamiając następujące polecenie:

databricks --version

Uwaga

Wymagany jest interfejs wiersza polecenia usługi Databricks w wersji 0.218.0 lub nowszej. Aby zainstalować interfejs wiersza polecenia usługi Databricks, zobacz Instalowanie lub aktualizowanie interfejsu wiersza polecenia usługi Databricks.

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.2 (lub nowszej), ta funkcja powinna być domyślnie włączona.

Uwierzytelnianie

Usługa Azure Databricks udostępnia kilka metod uwierzytelniania. Usługa Databricks zaleca użycie jednej z następujących metod do 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 klawisz 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 Przepływ pracy tworzenia 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 maszyny do maszyny (M2M) protokołu OAuth.

  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. Utwórz swój pierwszy projekt pakietu przy użyciu polecenia interfejsu wiersza polecenia bundle init usługi Databricks bez żadnych opcji. Przedstawia to wybór domyślnych szablonów pakietów udostępnianych przez usługę Databricks i zadaje szereg pytań w celu zainicjowania zmiennych projektu.

databricks bundle init

Organizacje mogą również tworzyć niestandardowe szablony pakietów w celu zdefiniowania własnych standardów. Te standardy mogą obejmować uprawnienia domyślne, jednostki usługi i niestandardową konfigurację ciągłej integracji/ciągłego wdrażania. Zobacz Szablony pakietu zasobów usługi Databricks.

Po zainicjowaniu projektu użyj bundle validate polecenia , aby zweryfikować pakiet przed wdrożeniem go w obszarach roboczych.

databricks bundle validate

Zazwyczaj pakiet jest tworzony na lokalnej maszynie deweloperów przy użyciu środowiska IDE i interfejsu wiersza polecenia usługi Databricks w wersji 0.218.0 lub nowszej. Te narzędzia umożliwiają tworzenie, weryfikowanie, wdrażanie i uruchamianie pakietu. Zobacz Przepływ pracy tworzenia pakietów zasobów usługi Databricks.

Pakiet można edytować w obszarze roboczym usługi Azure Databricks po dodaniu pakietu do usługi Git przy użyciu integracji folderu Git usługi Databricks. Nie można jednak przetestować ani wdrożyć pakietu z obszaru roboczego. Zamiast tego możesz użyć lokalnego środowiska IDE do testowania i ciągłej integracji/ciągłego wdrażania na potrzeby wdrożenia.

Następne kroki

Typowe zadania

Skorzystaj z poniższych artykułów, aby wykonać typowe zadania dotyczące pakietów zasobów usługi Databricks.

Artykuł Użyj tego artykułu, gdy chcesz...
Przepływ pracy tworzenia pakietów zasobów usługi Databricks Dowiedz się więcej o pracy umożliwiającej tworzenie, weryfikowanie, wdrażanie i uruchamianie pakietu przez utworzenie databricks.yml pliku oraz użycie interfejsu wiersza polecenia usługi Databricks do uruchamiania poleceń databricks bundle validate, databricks bundle deployi databricks bundle run.
Konfiguracje pakietu zasobów usługi Databricks Utwórz plik pakietu databricks.yml i inne powiązane pliki konfiguracji pakietu zgodne ze składnią YAML dla konfiguracji pakietów.
Uwierzytelnianie pakietów zasobów usługi Databricks Konfigurowanie projektu pakietu na potrzeby uwierzytelniania usługi Azure Databricks.
Opracowywanie zadania w usłudze Azure Databricks przy użyciu pakietów zasobów usługi Databricks Tworzenie, wdrażanie i uruchamianie pakietu dla zadania usługi Azure Databricks.
Tworzenie potoku delta live tables przy użyciu pakietów zasobów usługi Databricks Tworzenie, wdrażanie i uruchamianie pakietu dla potoku delta live tables.
Pakiety zasobów usługi Databricks dla stosów MLOps Tworzenie, wdrażanie i uruchamianie pakietu dla stosu MLOps.
Zależności biblioteki pakietów zasobów usługi Databricks Zainstaluj biblioteki, które muszą być uruchamiane w dowolnych powiązanych klastrach usługi Azure Databricks.
Tryby wdrażania pakietu zasobów usługi Databricks Użyj trybów wdrażania pakietu, takich jak development i production , aby automatycznie włączać lub wyłączać typowe zachowania wdrażania, takie jak wstrzymanie lub usuwanie powiązanych harmonogramów i wyzwalaczy.
Szablony pakietu zasobów usługi Databricks Użyj szablonu, aby tworzyć określone rodzaje pakietów szybciej, łatwiej i z bardziej spójnymi i powtarzalnymi wynikami.
Ustawianie uprawnień dla zasobów w pakietach zasobów usługi Databricks Stosowanie poziomów szczegółowych uprawnień dostępu do użytkowników, grup i jednostek usługi dla określonych zasobów pakietu.
Dynamiczne definiowanie ustawień artefaktu w pakietach zasobów usługi Databricks Łączenie lub zastępowanie określonych ustawień artefaktów w pakiecie.
Uruchamianie przepływu pracy ciągłej integracji/ciągłego wdrażania za pomocą pakietu zasobów usługi Databricks i funkcji GitHub Actions Wdróż lub uruchom pakiet w odpowiedzi na określone zdarzenie przepływu pracy usługi GitHub, takie jak żądanie ściągnięcia lub scalanie.
Zastępowanie ustawień klastra w pakietach zasobów usługi Databricks Łączenie lub zastępowanie określonych ustawień klastrów w pakiecie.
Dodawanie zadań do zadań w pakietach zasobów usługi Databricks Dodaj zadanie do zadania w pakiecie.
Zastępowanie ustawień zadań podrzędnych w pakietach zasobów usługi Databricks Łączenie lub zastępowanie określonych ustawień zadań w pakiecie.
Tworzenie pliku wheel języka Python przy użyciu pakietów zasobów usługi Databricks Kompilowanie, wdrażanie i wywoływanie plików wheel języka Python w pakiecie.

Więcej zasobów