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:
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ładhttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
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 poleceniedatabricks auth env --profile <profile-name>
.W przeglądarce internetowej wykonaj instrukcje na ekranie, aby zalogować się do obszaru roboczego usługi Azure Databricks.
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
, lubdatabricks bundle run
databricks 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 poziomuworkspace
(chociaż usługa Databricks zaleca użyciehost
mapowania ustawionego na adres URL obszaru roboczego usługi Azure Databricks zamiastprofile
mapowania, ponieważ sprawia, że pliki konfiguracji pakietu są bardziej przenośne). Zobacz pokrycieprofile
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 lubprofile
mapowania (lubhost
).
W przypadku uwierzytelniania OAuth M2M wykonaj następujące czynności:
Wykonaj instrukcje dotyczące konfigurowania uwierzytelniania OAuth M2M. Zobacz Uwierzytelnianie maszyny do maszyny (M2M) protokołu OAuth.
Zainstaluj interfejs wiersza polecenia usługi Databricks w docelowym zasobie obliczeniowym na jeden z następujących sposobów:
- Aby ręcznie zainstalować interfejs wiersza polecenia usługi Databricks w zasobie obliczeniowym w czasie rzeczywistym, zobacz Instalowanie lub aktualizowanie interfejsu wiersza polecenia usługi Databricks.
- Aby użyć funkcji GitHub Actions do automatycznego instalowania interfejsu wiersza polecenia usługi Databricks na maszynie wirtualnej usługi GitHub, zobacz setup-cli in GitHub (Konfigurowanie interfejsu wiersza polecenia w usłudze GitHub).
- Aby użyć innych systemów ciągłej integracji/ciągłego wdrażania do automatycznego instalowania interfejsu wiersza polecenia usługi Databricks na maszynie wirtualnej, zobacz dokumentację dostawcy systemu ciągłej integracji/ciągłego wdrażania i instalowanie lub aktualizowanie interfejsu wiersza polecenia usługi Databricks.
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ładhttps://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
- Utwórz pakiet, który wdraża notes w obszarze roboczym usługi Azure Databricks, a następnie uruchamia ten notes jako zadanie usługi Azure Databricks. Zobacz Tworzenie zadania w usłudze Azure Databricks przy użyciu pakietów zasobów usługi Databricks.
- Utwórz pakiet, który wdraża notes w obszarze roboczym usługi Azure Databricks, a następnie uruchamia ten notes jako potok Delta Live Tables. Zobacz Tworzenie potoku tabel delta live przy użyciu pakietów zasobów usługi Databricks.
- Utwórz pakiet, który wdraża i uruchamia stos MLOps. Zobacz Pakiety zasobów usługi Databricks dla stosów MLOps.
- Dodaj pakiet do przepływu pracy ciągłej integracji/ciągłego wdrażania w usłudze GitHub. Zobacz 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.
- Utwórz pakiet, który kompiluje, wdraża i wywołuje plik wheel języka Python. Zobacz Develop a Python wheel file using Databricks Asset Bundles (Tworzenie pliku wheel języka Python przy użyciu pakietów zasobów usługi Databricks).
- Utwórz szablon niestandardowy, którego ty i inni mogą użyć do utworzenia pakietu. Zobacz Szablony pakietu zasobów usługi Databricks.
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 deploy i 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. |