Co to jest ciągła integracja/ciągłe wdrażanie w usłudze Azure Databricks?
Ten artykuł stanowi wprowadzenie do ciągłej integracji/ciągłego wdrażania w usłudze Databricks. Ciągła integracja i ciągłe dostarczanie (CI/CD) odnosi się do procesu opracowywania i dostarczania oprogramowania w krótkim czasie, często używanych potoków automatyzacji. Ciągła integracja/ciągłe wdrażanie jest często spotykana w tworzeniu oprogramowania i staje się coraz bardziej niezbędna do inżynierii danych i nauki o danych. Automatyzując kompilowanie, testowanie i wdrażanie kodu, zespoły programistyczne mogą dostarczać wydania bardziej niezawodnie niż w przypadku ręcznych procesów nadal wspólnych dla zespołów inżynierii danych i nauki o danych.
Usługa Azure Databricks zaleca korzystanie z pakietów zasobów usługi Databricks dla ciągłej integracji/ciągłego wdrażania, co umożliwia opracowywanie i wdrażanie złożonych projektów danych, analiz i uczenia maszynowego dla platformy Azure Databricks. Pakiety umożliwiają łatwe zarządzanie wieloma konfiguracjami niestandardowymi i automatyzowanie kompilacji, testów i wdrożeń projektów w obszarach roboczych tworzenia, przemieszczania i produkcji usługi Azure 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?.
Co znajduje się w potoku ciągłej integracji/ciągłego wdrażania w usłudze Azure Databricks?
Za pomocą pakietów zasobów usługi Databricks można definiować implementację ciągłej integracji/ciągłego wdrażania usługi Azure Databricks i zarządzać nimi programowo, co zwykle obejmuje:
- Notesy: notesy usługi Azure Databricks są często kluczowym elementem przepływów pracy inżynierii danych i nauki o danych. Możesz użyć kontroli wersji notesów, a także zweryfikować i przetestować je w ramach potoku ciągłej integracji/ciągłego wdrażania. Możesz uruchamiać testy automatyczne względem notesów, aby sprawdzić, czy działają zgodnie z oczekiwaniami.
- Biblioteki: zarządzaj zależnościami biblioteki wymaganymi do uruchomienia wdrożonego kodu. Użyj kontroli wersji w bibliotekach i uwzględnij je w zautomatyzowanym testowaniu i walidacji.
- Przepływy pracy: Zadania usługi Databricks składają się z zadań, które umożliwiają planowanie i uruchamianie zautomatyzowanych zadań przy użyciu notesów lub zadań platformy Spark.
- Potoki danych: potoki danych można również uwzględnić w automatyzacji ciągłej integracji/ciągłego wdrażania, korzystając z tabel delta live, struktury w usłudze Databricks do deklarowania potoków danych.
- Infrastruktura: Konfiguracja infrastruktury obejmuje definicje i informacje o aprowizacji dla klastrów, obszarów roboczych i magazynu dla środowisk docelowych. Zmiany infrastruktury można zweryfikować i przetestować w ramach potoku ciągłej integracji/ciągłego wdrażania, zapewniając, że są spójne i wolne od błędów.
Procedura ciągłej integracji/ciągłego wdrażania w usłudze Azure Databricks
Typowy przepływ potoku ciągłej integracji/ciągłego wdrażania usługi Azure Databricks obejmuje następujące kroki:
- Przechowywanie: przechowywanie kodu i notesów 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. Zapoznaj się z technikami ciągłej integracji/ciągłego wdrażania przy użyciu folderów Git i folderów Git usługi Databricks (Repos) i ustawień pakietu Git.
- Kod: Tworzenie kodu i testów jednostkowych w notesie usługi Azure Databricks w obszarze roboczym lub lokalnie przy użyciu zewnętrznego środowiska IDE. Usługa Azure Databricks udostępnia rozszerzenie programu Visual Studio Code, które ułatwia opracowywanie i wdrażanie zmian w obszarach roboczych usługi Azure Databricks.
- Kompilacja: użyj ustawień pakietów zasobów usługi Databricks, aby automatycznie tworzyć określone artefakty podczas wdrożeń. Zobacz artefakty. Ponadto rozszerzenie Pylint o wtyczkę pylint usługi Databricks Labs pomaga wymusić standardy kodowania i wykrywać błędy w notesach usługi Databricks i kodzie aplikacji.
- Wdrażanie: wdrażanie zmian w obszarze roboczym usługi Azure Databricks przy użyciu pakietów zasobów usługi Databricks w połączeniu z narzędziami takimi jak Azure DevOps, Jenkins lub GitHub Actions. Zobacz Tryby wdrażania pakietu zasobów usługi Databricks.
- Testowanie: twórz i uruchamiaj testy automatyczne, aby zweryfikować zmiany kodu przy użyciu narzędzi, takich jak pytest. Aby przetestować integrację z interfejsami API obszaru roboczego, wtyczka pytest usługi Databricks Labs umożliwia tworzenie obiektów obszaru roboczego i czyszczenie ich po zakończeniu testów.
- Uruchom: użyj interfejsu wiersza polecenia usługi Databricks w połączeniu z pakietami zasobów usługi Databricks, aby zautomatyzować przebiegi w obszarach roboczych usługi Azure Databricks. Zobacz Uruchamianie zadania lub potoku.
- Monitorowanie: monitorowanie wydajności kodu i przepływów pracy w usłudze Azure Databricks przy użyciu narzędzi, takich jak Azure Monitor lub Datadog. Pomaga to zidentyfikować i rozwiązać wszelkie problemy występujące w środowisku produkcyjnym.
- Iteracja: tworzenie małych, częstych iteracji w celu ulepszania i aktualizowania projektu inżynierii danych lub nauki o danych. Małe zmiany są łatwiejsze do wycofania niż duże.
Pokrewne łącza
Aby uzyskać więcej informacji na temat zarządzania cyklem życia zasobów i danych usługi Azure Databricks, zobacz poniższą dokumentację dotyczącą narzędzi ciągłej integracji/ciągłego wdrażania i potoku danych.
Obszar | Użyj tych narzędzi, gdy chcesz... |
---|---|
Pakiety zasobów usługi Databricks | Programowe definiowanie, wdrażanie i uruchamianie zadań usługi Azure Databricks, potoków delta live tables i stosów MLOps przy użyciu najlepszych rozwiązań i przepływów pracy ciągłej integracji/ciągłego wdrażania. |
Dostawca narzędzia Terraform dla usługi Databricks | Aprowizuj infrastrukturę i zasoby usługi Databricks oraz zarządzaj nimi przy użyciu narzędzia Terraform. |
Przepływy pracy ciągłej integracji/ciągłego wdrażania z folderami Git i Databricks | Użyj folderów GitHub i Databricks Git do kontroli źródła i przepływów pracy ciągłej integracji/ciągłego wdrażania. |
Uwierzytelnianie za pomocą usługi Azure DevOps w usłudze Databricks | Uwierzytelnianie za pomocą usługi Azure DevOps. |
Uwierzytelnianie dostępu do folderów Git usługi Azure Databricks przy użyciu jednostki usługi Microsoft Entra | Użyj jednostki usługi MS Entra, aby uwierzytelnić dostęp do folderów Git usługi Databricks. |
Ciągła integracja i ciągłe dostarczanie w usłudze Azure Databricks przy użyciu usługi Azure DevOps | Opracowywanie potoku ciągłej integracji/ciągłego wdrażania dla usługi Azure Databricks korzystającej z usługi Azure DevOps. |
Ciągła integracja i ciągłe dostarczanie przy użyciu funkcji GitHub Actions | Opracuj przepływ pracy ciągłej integracji/ciągłego wdrażania w usłudze GitHub, który korzysta z funkcji GitHub Actions opracowanej dla usługi Azure Databricks. |
Ciągła integracja/ciągłe wdrażanie za pomocą usługi Jenkins w usłudze Azure Databricks | Opracowywanie potoku ciągłej integracji/ciągłego wdrażania dla usługi Azure Databricks, który korzysta z usługi Jenkins. |
Organizowanie zadań usługi Azure Databricks 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żywaj jednostek usługi zamiast użytkowników z systemami ciągłej integracji/ciągłego wdrażania. |