Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zadania Lakeflow to automatyzacja przepływu pracy dla Azure Databricks, zapewniając orkiestrację zadań związanych z przetwarzaniem danych, umożliwiając koordynowanie i uruchamianie wielu zadań jako część większego przepływu pracy. Możesz zoptymalizować i zaplanować wykonywanie częstych, powtarzalnych zadań i zarządzać 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ń Lakeflow Jobs.
Co to są zadania?
W usłudze Databricks zadanie służy do planowania i organizowania zadań w usłudze Databricks w przepływie pracy. 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 integrowanie 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 pokazano zadanie w Azure Databricks.
To przykładowe zadanie ma następujące cechy:
- Pierwsze zadanie pobiera dane przychodów.
- Drugie zadanie to if /else sprawdzanie wartości null.
- Jeśli nie, zostanie uruchomione zadanie przekształcania.
- W przeciwnym razie uruchamia zadanie w notatniku z walidacją jakości danych.
- Zaplanowano uruchamianie w tym samym czasie każdego dnia.
Aby uzyskać krótkie wprowadzenie do tworzenia własnego zadania, zobacz Utwórz swój pierwszy przepływ pracy z Zadaniami Lakeflow.
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 zadań Lakeflow do orkiestracji w Azure Databricks: zadania, zadania i wyzwalacze.
Praca — Praca jest podstawowym zasobem do koordynowania, planowania i uruchamiania operacji. Zadania mogą się różnić stopniem złożoności, obejmując pojedyncze zadanie uruchamiające notebook 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 rury danych uruchamia rurę danych. Możesz określić istniejące potoki deklaratywne Lakeflow Spark, takie jak zmaterializowany widok lub tabela przesyłania strumieniowego.
- Zadania skryptu Python uruchamiają plik 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 zadań i orkiestracji, zobacz Monitorowanie i obserwowanie zadań Lakeflow.
Monitorowanie i obserwowalność zadań w interfejsie użytkownika — W interfejsie użytkownika Azure Databricks można wyświetlać zadania i ich szczegóły, takie jak właściciel zadania oraz wynik ostatniego uruchomienia, a także 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 przez tabele systemowe — Azure Databricks udostępnia tabele systemowe, które rejestrują uruchomienia zadań i podzadania 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 zachowanych zadań.
- Zadanie może zawierać maksymalnie 1000 zadań.
- Gdy zadania używają wartości dynamicznych w parametrach, parametry zadania są ograniczone do 10 000 znaków.
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:
- Interfejs wiersza polecenia usługi Databricks
- Pakiety automatyzacji deklaratywnej
- rozszerzenie Databricks dla Visual Studio Code
- Zestawy SDK usługi Databricks
- Jobs API REST
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 Python, a aplikacja Airflow zarządza planowaniem i uruchamianiem przepływu pracy. Zobacz Orkiestruj zadania Lakeflow za pomocą Apache Airflow.
Orkiestracja przepływu pracy z Azure Data Factory
Azure Data Factory (ADF) to usługa integracji danych w chmurze, która umożliwia tworzenie magazynu danych, przenoszenia i przetwarzania usług do zautomatyzowanych potoków danych. Za pomocą usługi ADF można zorganizować zadanie 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 Python lub kodu spakowanego w pliki JAR w potoku usługi ADF.
Aby dowiedzieć się, jak uruchomić notatnik Databricks w potoku ADF, zobacz Uruchom notatnik Databricks za pomocą działania notatnika w Azure Data Factory a następnie Przekształć dane, uruchamiając notatnik Databricks.
Aby dowiedzieć się, jak uruchomić skrypt Python w potoku usługi ADF, zobacz Transformowanie danych, uruchamiając działanie Python w Azure Databricks.
Aby dowiedzieć się, jak uruchomić kod spakowany w pliku JAR w potoku ADF, zobacz Przetwarzanie danych wykonywane przez zadanie JAR w Azure Databricks.