Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ciągła integracja i ciągłe dostarczanie (CI/CD) odnosi się do procesu opracowywania i dostarczania oprogramowania w krótkich, częstych cyklach poprzez wykorzystanie potoków automatyzacji. CI/CD jest powszechne w tworzeniu oprogramowania i staje się coraz bardziej niezbędne w inżynierii danych i data science. Automatyzując kompilowanie, testowanie i wdrażanie kodu, zespoły deweloperów dostarczają wydania bardziej niezawodnie niż w przypadku procesów ręcznych.
Usługa Databricks udostępnia narzędzia do tworzenia potoków ciągłej integracji/ciągłego wdrażania, które wspierają podejścia mogące się nieco różnić w poszczególnych organizacjach ze względu na unikatowe aspekty cyklu życia oprogramowania w każdej z nich. Ta strona zawiera informacje o dostępnych narzędziach dla potoków CI/CD na Databricksie. Aby uzyskać szczegółowe informacje na temat zaleceń dotyczących ciągłej integracji/ciągłego wdrażania i najlepszych rozwiązań, zobacz Najlepsze rozwiązania i zalecane przepływy pracy ciągłej integracji/ciągłego wdrażania w usłudze Databricks.
Aby zapoznać się z omówieniem ciągłej integracji/ciągłego wdrażania dla projektów uczenia maszynowego w usłudze Azure Databricks, zobacz Jak usługa Databricks obsługuje ciągłą integrację/ciągłe wdrażanie na potrzeby uczenia maszynowego?.
Przepływ wysokiego poziomu
Typowy przepływ potoku CI/CD usługi Azure Databricks to:
-
Wersja: zapisz kod i notesy usługi Azure Databricks w systemie kontroli wersji, na przykład Git. Umożliwia to śledzenie zmian w czasie i współpracę z innymi członkami zespołu.
- Użytkownicy indywidualni używają folderu Git do tworzenia i testowania zmian przed zatwierdzeniem ich w repozytorium Git. Zobacz CI/CD z folderami Git w Databricks.
- Opcjonalnie skonfiguruj ustawienia pakietu Git.
-
Kod: tworzenie kodu i testów jednostkowych w notesie usługi Azure Databricks w obszarze roboczym lub lokalnie przy użyciu środowiska IDE.
- Użyj Edytora Potoków Lakeflow, aby opracowywać potoki w obszarze roboczym.
- Użyj rozszerzenia Databricks Visual Studio Code , aby opracowywać i wdrażać lokalne zmiany w obszarach roboczych usługi Azure Databricks.
-
Kompilacja: Użyj ustawień pakietów zasobów Databricks, aby automatycznie tworzyć określone artefakty podczas wdrażania.
- Skonfiguruj mapowanie artefaktów konfiguracji pakietu.
- Pylint rozszerzony o wtyczkę pylint od Databricks Labs pomaga wymusić standardy kodowania i wykrywać błędy w notesach Databricks i kodzie aplikacji.
-
Wdrażanie: wdróż zmiany w obszarze roboczym usługi Azure Databricks przy użyciu pakietów zasobów usługi Databricks z narzędziami takimi jak Azure DevOps, GitHub Actions lub Jenkins.
- Konfigurowanie wdrożeń przy użyciu pakietu trybów wdrażania.
- Aby uzyskać szczegółowe informacje na temat korzystania z usług Azure DevOps i Databricks, zobacz Ciągła integracja i ciągłe dostarczanie w usłudze Azure Databricks przy użyciu usługi Azure DevOps.
- Aby zapoznać się z przykładami funkcji GitHub Actions usługi Databricks, zobacz GitHub Actions.
-
Testowanie: twórz i uruchamiaj testy automatyczne, aby zweryfikować zmiany kodu.
- Użyj narzędzi, takich jak pytest , aby przetestować integracje.
-
Uruchom: użyj interfejsu wiersza polecenia Databricks z pakietami zasobów Databricks, aby zautomatyzować uruchomienia w obszarach roboczych Azure Databricks.
- Uruchom zasoby pakietu za pomocą databricks bundle run.
- Monitorowanie: monitoruj wydajność obciążeń kodu i produkcji w usłudze Azure Databricks przy użyciu narzędzi, takich jak monitorowanie zadań. Pomaga to zidentyfikować i rozwiązać wszelkie problemy występujące w środowisku produkcyjnym.
Dostępne narzędzia
Następujące narzędzia wspierają podstawowe zasady CI/CD: wersjonowanie wszystkich plików, ujednolicenie zarządzania zasobami, definiowanie infrastruktury jako kodu, izolowanie środowisk, automatyzację testowania oraz monitorowanie i automatyzację wycofywania.
| Obszar | Użyj tych narzędzi, gdy chcesz... |
|---|---|
| Pakiety zasobów Databricks | Programatyczne definiowanie, wdrażanie i uruchamianie zasobów, w tym zadań Lakeflow, deklaratywnych potoków Lakeflow Spark i stosów MLOps przy użyciu najlepszych praktyk CI/CD. |
| Dostawca Terraform Databricks | Aprowizuj obszary robocze i infrastrukturę usługi Databricks oraz zarządzaj nimi przy użyciu narzędzia Terraform. |
| Ciągła integracja i ciągłe dostarczanie w usłudze Azure Databricks przy użyciu usługi Azure DevOps | Opracuj potok ciągłej integracji/ciągłego wdrażania dla usługi Azure Databricks korzystającej z usługi Azure DevOps. |
| Uwierzytelnianie za pomocą usługi Azure DevOps w usłudze Azure Databricks | Uwierzytelnianie za pomocą usługi Azure DevOps. |
| Funkcja GitHub Actions | Dołącz akcję GitHub opracowaną dla Azure Databricks w przepływie CI/CD. |
| CI/CD za pomocą Jenkins na Azure Databricks | Opracowanie potoku ciągłej integracji/ciągłego wdrażania dla Azure Databricks, który korzysta z Jenkins. |
| Organizowanie zadań lakeflow za pomocą platformy Apache Airflow | Zarządzanie potokiem danych korzystającym z platformy Apache Airflow i planowanie go. |
| Jednostki usługi dla ciągłej integracji/ciągłego wdrażania | Użyj tożsamości usługi zamiast użytkowników z ciągłą integracją/ciągłym wdrażaniem. |
| Uwierzytelnianie dostępu do usługi Azure Databricks przy użyciu federacji tokenów OAuth | Użyj federacji tożsamości roboczej dla uwierzytelniania CI/CD, co eliminuje konieczność używania tajemnic Databricks, dzięki czemu jest to najbezpieczniejszy sposób uwierzytelniania w Databricks. |
Pakiety zasobów Databricks
Pakiety zasobów Databricks są zalecanym podejściem do CI/CD w środowiskach Databricks. Użyj pakietów zasobów usługi Databricks, aby opisać zasoby usługi Databricks, takie jak zadania i potoki jako pliki źródłowe, i powiązać je razem z innymi zasobami, aby zapewnić kompleksową definicję projektu możliwego do wdrożenia. Te pakiety plików mogą być kontrolowane przez źródło i można użyć zewnętrznej automatyzacji ciągłej integracji/ciągłego wdrażania, takiej jak Github Actions, do wyzwalania wdrożeń.
Pakiety obejmują wiele funkcji, takich jak szablony niestandardowe w celu wymuszania spójności i najlepszych rozwiązań w całej organizacji, oraz kompleksowa obsługa wdrażania plików kodu i konfiguracji dla wielu zasobów usługi Databricks. Tworzenie pakietu wymaga znajomości składni konfiguracji pakietu.
Aby uzyskać zalecenia dotyczące używania pakietów w ciągłej integracji/ciągłego wdrażania, zobacz Najlepsze rozwiązania i zalecane przepływy pracy ciągłej integracji/ciągłego wdrażania w usłudze Databricks.
Inne narzędzia do kontroli źródła
Alternatywą dla zastosowania pełnej integracji/ciągłego wdrażania z pakietami zasobów usługi Databricks są opcje oferowane przez tę usługę, które dotyczą jedynie zarządzania wersjami i wdrażania plików kodu oraz notesów.
Folder Git: foldery Git mogą służyć do odzwierciedlenia stanu zdalnego repozytorium Git. Możesz utworzyć folder git dla środowiska produkcyjnego, aby zarządzać plikami źródłowymi i notesami źródłowymi. Następnie ręcznie ściągnij folder Git do najnowszego stanu lub skorzystaj z zewnętrznych narzędzi CI/CD, takich jak GitHub Actions, aby ściągnąć folder Git podczas scalania. Użyj tej metody, jeśli nie masz dostępu do zewnętrznych potoków ciągłej integracji/ciągłego wdrażania.
Takie podejście działa w przypadku zewnętrznych koordynatorów, takich jak Airflow, ale należy pamiętać, że tylko pliki kodu, takie jak notesy i wersje robocze pulpitów nawigacyjnych, są w kontroli źródła. Konfiguracje zadań lub potoków, które uruchamiają zasoby w folderze Git i konfiguracjach do publikowania pulpitów nawigacyjnych, nie są w kontroli źródła.
Usługa Git z zadaniami: usługa Git z zadaniami umożliwia skonfigurowanie niektórych typów zadań w celu używania zdalnego repozytorium Git jako źródła plików kodu. Po rozpoczęciu uruchamiania zadania usługa Databricks tworzy migawkę repozytorium i uruchamia wszystkie zadania względem tej wersji. Takie podejście obsługuje tylko ograniczone zadania podrzędne, a tylko pliki kodu (notesy i inne pliki) są kontrolowane przez źródło. Konfiguracje zadań, takie jak sekwencje zadań, ustawienia obliczeniowe i harmonogramy, nie są kontrolowane przez źródło, co sprawia, że takie podejście jest mniej odpowiednie dla wdrożeń obejmujących wiele środowisk i między obszarami roboczymi.