Udostępnij za pośrednictwem


Omówienie orkiestracji w usłudze Databricks

Usługa Azure Databricks zapewnia wbudowane środowisko organizowania obciążeń przetwarzania danych, dzięki czemu można koordynować i uruchamiać wiele zadań w ramach większego przepływu pracy. Można usprawnić, zoptymalizować i zaplanować wykonywanie częstych, powtarzalnych zadań, co ułatwia zarządzanie złożonymi przepływami pracy.

W tym artykule przedstawiono pojęcia i opcje związane z zarządzaniem obciążeniami produkcyjnymi przy użyciu zadań usługi Databricks.

Co to są zadania?

W usłudze Databricks zadanie jest używane do planowania i koordynowania działań w przepływie pracy na platformie Databricks. Typowe przepływy pracy przetwarzania danych obejmują przepływy pracy ETL, uruchamianie notesów i przepływów pracy uczenia maszynowego (ML), a także integrację z systemami zewnętrznymi, takimi jak dbt i Azure Data Factory (ADF).

Zadania składają się z co najmniej jednego zadania i obsługują niestandardową logikę przepływu sterowania, taką jak rozgałęzianie (instrukcje if/else) lub pętla (dla każdej instrukcji) przy użyciu interfejsu użytkownika tworzenia wizualizacji. Zadania mogą ładować lub przekształcać dane w przepływie pracy ETL albo kompilować i wdrażać modele uczenia maszynowego w kontrolowany i powtarzalny sposób w ramach potoków uczenia maszynowego.

Przykład: codzienne przetwarzanie danych i zadanie weryfikacji

W poniższym przykładzie przedstawiono zadanie w usłudze Azure Databricks.

Przykład przedstawiający zadanie w interfejsie usługi Azure Databricks z 4 zadaniami i wyzwalaczem do codziennego uruchamiania.

To przykładowe zadanie ma następujące cechy:

  1. Pierwsze zadanie pobiera dane przychodów.
  2. Drugie zadanie to if /else sprawdzanie wartości null.
  3. Jeśli nie, zostanie uruchomione zadanie przekształcania.
  4. W przeciwnym razie uruchamia zadanie w notatniku z walidacją jakości danych.
  5. Zaplanowano uruchamianie codziennie o godzinie 11:29.

Aby uzyskać krótkie wprowadzenie do tworzenia własnego zadania, zobacz Tworzenie pierwszego przepływu pracy przy użyciu zadania usługi Azure Databricks.

Typowe przypadki użycia

Od podstawowych zasad inżynierii danych po zaawansowaną integrację z uczeniem maszynowym i bezproblemową integracją narzędzi, te typowe przypadki użycia przedstawiają zakres możliwości, które napędzają nowoczesną analizę, automatyzację przepływu pracy i skalowalność infrastruktury.

Pojęcia dotyczące orkiestracji

Istnieją trzy główne pojęcia dotyczące używania orkiestracji w usłudze Azure Databricks: zadania, zadania i wyzwalacze.

Praca — Praca jest podstawowym zasobem do koordynowania, planowania i uruchamiania operacji. Zadania mogą się różnić złożonością, od uruchamiania pojedynczego notesu w usłudze Azure Databricks do setek zadań z logiką warunkową i zależnościami. Zadania w ramach pracy są wizualnie reprezentowane przez skierowany graf acykliczny (DAG). Można określić właściwości zadania, w tym:

  • Wyzwalacz — określa, kiedy należy uruchomić zadanie.
  • Parametry — parametry czasu wykonywania, które są automatycznie przekazywane do zadań w ramach pracy.
  • Powiadomienia — wiadomości e-mail lub webhooki wysyłane w przypadku, gdy zadanie kończy się niepowodzeniem lub trwa zbyt długo.
  • Git — ustawienia kontroli wersji dla zadań związanych z pracą.

Zadanie — zadanie jest określoną jednostką pracy w ramach projektu. Każde zadanie może wykonywać różne operacje, w tym:

  • Zadanie notatnikowe uruchamia notatnik Databricks. Należy określić ścieżkę do notesu i wszystkie wymagane przez niego parametry.
  • Zadanie potoku uruchamia potok. Możesz określić istniejący potok DLT, taki jak zmaterializowany widok lub tabela strumieniowa.
  • Zadania skryptu języka Python uruchamiają plik w języku Python. Należy podać ścieżkę do pliku i wszelkie niezbędne parametry.

Istnieje wiele typów zadań. Aby uzyskać pełną listę, zobacz Typy zadań. Zadania mogą mieć zależności od innych zadań i warunkowo uruchamiać inne zadania, co umożliwia tworzenie złożonych przepływów pracy z logiką warunkową i zależnościami.

Wyzwalacz — wyzwalacz to mechanizm, który inicjuje uruchamianie zadania na podstawie określonych warunków lub zdarzeń. Wyzwalacz może być oparty na czasie, takim jak uruchamianie zadania w zaplanowanym czasie (na przykład kiedykolwiek o godzinie 2:00) lub oparte na zdarzeniach, takie jak uruchamianie zadania po nadejściu nowych danych do magazynu w chmurze.

monitorowanie i obserwowanie

Zadania zapewniają wbudowane wsparcie dla monitorowania i obserwacji. Poniższe tematy zawierają omówienie tej pomocy technicznej. Aby uzyskać więcej informacji na temat monitorowania i orkiestracji zadań w Databricks, zapoznaj się z Monitorowanie i obserwowalność zadań.

Monitorowanie i obserwowanie zadań w interfejsie użytkownika — w interfejsie użytkownika usługi Azure Databricks można wyświetlać zadania, w tym szczegóły, takie jak właściciel zadania i wynik ostatniego uruchomienia oraz filtrować według właściwości zadania. Możesz wyświetlić historię przebiegów zadań i uzyskać szczegółowe informacje o każdym zadaniu w zadaniu.

Stan uruchomienia zadania i metryki — usługa Databricks zgłasza powodzenie uruchomienia zadania oraz rejestruje logi i metryki dla każdego zadania w ramach przebiegu zadania w celu diagnozowania problemów i analizy wydajności.

Powiadomienia i Alerty — możesz skonfigurować powiadomienia dotyczące zdarzeń związanych z zadaniami za pośrednictwem poczty e-mail, Slack, webhooków i wielu innych opcji.

zapytania niestandardowe za pośrednictwem tabel systemowych — usługa Azure Databricks udostępnia tabele systemowe, które rejestrują uruchomienia zadań i poszczególne czynności na koncie. Te tabele umożliwiają wykonywanie zapytań i analizowanie wydajności i kosztów zadań. Można tworzyć dashboardy, aby wizualizować metryki i trendy zadań, co ułatwia monitorowanie kondycji i wydajności przepływów pracy.

Ograniczenia

Istnieją następujące ograniczenia:

  • Obszar roboczy jest ograniczony do 2000 współbieżnych uruchomień zadań. Po zażądaniu uruchomienia zwracana jest odpowiedź 429 Too Many Requests, gdy natychmiastowe uruchomienie nie jest możliwe.
  • Liczba zadań, które można utworzyć w obszarze roboczym w ciągu godziny, jest ograniczona do 10000 (obejmuje "przesyłanie zadań"). Limit ten dotyczy również zadań utworzonych przez interfejs API REST oraz przepływy pracy w notatnikach.
  • Obszar roboczy może zawierać maksymalnie 12000 zapisanych zadań.
  • Zadanie może zawierać maksymalnie 100 zadań.

Czy mogę programowo zarządzać przepływami pracy?

Usługa Databricks ma narzędzia i interfejsy API, które umożliwiają programowe planowanie i organizowanie przepływów pracy, w tym:

Przykłady użycia narzędzi i interfejsów API do tworzenia zadań i zarządzania nimi można znaleźć w Automate job creation and management. Aby uzyskać dokumentację dotyczącą wszystkich dostępnych narzędzi deweloperskich, zobacz Lokalne narzędzia programistyczne.

Narzędzia zewnętrzne używają narzędzi i interfejsów API usługi Databricks do programowego planowania przepływów pracy. Zadania można zaplanować przy użyciu narzędzi, takich jak Azure Data Factory lub Apache AirFlow.

Orkiestracja przepływu pracy za pomocą platformy Apache AirFlow

Za pomocą platformy Apache Airflow można zarządzać przepływami pracy danych i planować je. Za pomocą funkcji Airflow definiujesz przepływ pracy w pliku języka Python, a aplikacja Airflow zarządza planowaniem i uruchamianiem przepływu pracy. Zobacz Orchestrate Azure Databricks jobs with Apache Airflow (Organizowanie zadań usługi Azure Databricks za pomocą platformy Apache Airflow).

Orkiestracja przepływu pracy za pomocą usługi Azure Data Factory

Azure Data Factory (ADF) to usługa integracji danych w chmurze, która umożliwia tworzenie usług magazynu, przenoszenia i przetwarzania danych do zautomatyzowanych potoków danych. Usługi ADF można użyć do organizowania zadania usługi Azure Databricks w ramach potoku usługi ADF.

Usługa ADF ma również wbudowaną obsługę uruchamiania notesów usługi Databricks, skryptów języka Python lub kodu spakowanego w plikach JARs w potoku usługi ADF.

Aby dowiedzieć się, jak uruchomić notes usługi Databricks w potoku usługi ADF, zobacz Uruchamianie notesu usługi Databricks przy użyciu działania notesu usługi Databricks w usłudze Azure Data Factory, a następnie Przekształcanie danych przez uruchomienie notesu usługi Databricks.

Aby dowiedzieć się, jak uruchomić skrypt Python w potoku usługi ADF, zobacz Przekształcanie danych przez uruchomienie aktywności Python w usłudze Azure Databricks.

Aby dowiedzieć się, jak uruchomić kod spakowany w pliku JAR w potoku usługi ADF, zobacz rozdział Przekształcanie danych przez uruchomienie działania JAR w usłudze Azure Databricks.