1. Wprowadzenie
Google Cloud Dataflow
Ostatnia aktualizacja: 26 maja 2020 r.
Czym jest Dataflow?
Dataflow to usługa zarządzana, która umożliwia wykonywanie różnych wzorców przetwarzania danych. Dokumentacja na tej stronie pokazuje, jak za pomocą Dataflow wdrożyć potoki przetwarzania wsadowego i strumieniowego danych, w tym wskazówki dotyczące korzystania z funkcji usługi.
Apache Beam SDK to model programowania typu open source, który umożliwia tworzenie zarówno potoków wsadowych, jak i strumieniowych. Możesz tworzyć potoki w programie Apache Beam, a następnie uruchamiać je w usłudze Dataflow. Dokumentacja Apache Beam zawiera szczegółowe informacje i materiały referencyjne dotyczące modelu programowania Apache Beam, pakietów SDK i innych programów uruchamiających.
Szybkie strumieniowanie danych
Dataflow umożliwia szybkie i łatwe tworzenie strumieniowych potoków danych z mniejszymi opóźnieniami.
Uprość działanie i zarządzanie
Dzięki temu zespoły mogą skupić się na programowaniu, a nie na zarządzaniu klastrami serwerów, ponieważ bezserwerowe podejście Dataflow eliminuje konieczność wykonywania zadań związanych z inżynierią danych.
Obniżenie całkowitego kosztu posiadania
Autoskalowanie zasobów w połączeniu z możliwościami przetwarzania wsadowego zoptymalizowanymi pod kątem kosztów sprawia, że Dataflow oferuje praktycznie nieograniczoną moc obliczeniową do zarządzania sezonowymi i nagłymi zbiorami zadań bez nadmiernych wydatków.
Najważniejsze funkcje
Zautomatyzowane zarządzanie zasobami i dynamiczne równoważenie pracy
Dataflow automatyzuje udostępnianie zasobów przetwarzania i zarządzanie nimi, aby zminimalizować czas oczekiwania i zmaksymalizować wykorzystanie, dzięki czemu nie musisz uruchamiać ręcznie instancji ani ich rezerwować. Partycjonowanie pracy jest również zautomatyzowane i optymalizowane pod kątem dynamicznego równoważenia zaległości. Nie musisz już szukać skrótów klawiszowych. lub wstępnie przetwarzać dane wejściowe.
Autoskalowanie w poziomie
Poziome autoskalowanie zasobów instancji roboczych w celu uzyskania optymalnej przepustowości poprawia ogólną stosunek ceny do wydajności.
Elastyczne planowanie zasobów w przypadku przetwarzania wsadowego
W przypadku przetwarzania z elastycznością w zakresie planowania zadań, np. zadań z dnia na dzień, elastyczne planowanie zasobów (FlexRS) oferuje niższą cenę za przetwarzanie wsadowe. Elastyczne zadania są umieszczane w kolejce z gwarancją, że zostaną pobrane do wykonania w ciągu 6 godzin.
W ramach tego programu
W tym ćwiczeniu w Codelabs zaczniesz korzystać z Dataflow SQL, przesyłając instrukcję SQL za pomocą interfejsu użytkownika Dataflow SQL. Potem poznasz uruchomiony potok za pomocą interfejsu monitorowania Dataflow.
Czego się nauczysz
- Jak przesłać instrukcję SQL jako zadanie Dataflow w interfejsie użytkownika Dataflow SQL.
- Jak przejść do potoku Dataflow.
- Poznaj wykres Dataflow utworzony przez instrukcję SQL.
- Zapoznaj się z informacjami o monitorowaniu pochodzącymi z wykresu.
Czego potrzebujesz
- Projekt Google Cloud Platform z włączonymi płatnościami.
- Usługi Google Cloud Dataflow i Google Cloud PubSub zostały włączone.
2. Przygotowanie
Sprawdź, czy masz włączone interfejsy Dataflow API i Cloud Pub/Sub API. Możesz to sprawdzić w interfejsie API Strona Usługi.
3. Uzyskiwanie dostępu do interfejsu użytkownika Dataflow SQL
Interfejs użytkownika Dataflow SQL to ustawienie interfejsu internetowego BigQuery służące do tworzenia zadań Dataflow SQL. Dostęp do interfejsu użytkownika Dataflow SQL możesz uzyskać z interfejsu internetowego BigQuery.
- Otwórz interfejs internetowy BigQuery.
- Przejdź na mechanizm Cloud Dataflow.
- Kliknij menu Więcej i wybierz Ustawienia zapytania.
- W menu Ustawienia zapytania wybierz Mechanizm Dataflow.
- Jeśli interfejsy API Dataflow i Data Catalog nie są włączone, w wyświetlonym komunikacie kliknij Włącz interfejsy API.
- Kliknij Zapisz.
Dostęp do interfejsu użytkownika Dataflow SQL możesz też uzyskać z interfejsu monitorowania Dataflow.
- Otwórz interfejs monitorowania Dataflow.
- Kliknij Utwórz zadanie z SQL.
4. Uruchamianie zadania Dataflow za pomocą zapytania SQL
Zapisywanie zapytań SQL Dataflow
Zapytania SQL Dataflow używają składni zapytań SQL Dataflow. Składnia zapytań SQL Dataflow jest podobna do standardowej wersji SQL w BigQuery. Możesz używać rozszerzeń strumieniowego przesyłania danych Dataflow SQL, aby agregować dane ze stale aktualizowanych źródeł Dataflow, takich jak Pub/Sub. Na przykład poniższe zapytanie zlicza pasażerów w strumieniu Pub/Sub przejazdów taksówką co minutę:
SELECT
TUMBLE_START('INTERVAL 1 MINUTE') as period_start,
SUM(passenger_count) AS pickup_count
FROM pubsub.topic.`pubsub-public-data`.`taxirides-realtime`
WHERE
ride_status = "pickup"
GROUP BY
TUMBLE(event_timestamp, 'INTERVAL 1 MINUTE')
Uruchamianie zapytań Dataflow SQL
Gdy uruchamiasz zapytanie SQL Dataflow, Dataflow przekształca je w potok Apache Beam i go wykonuje.
Zapytanie SQL Dataflow możesz uruchomić za pomocą konsoli Cloud lub narzędzia wiersza poleceń gcloud.
Aby uruchomić zapytanie SQL Dataflow, użyj interfejsu użytkownika Dataflow SQL.
- Otwórz interfejs użytkownika Dataflow SQL.
- Wpisz powyższe zapytanie SQL Dataflow w edytorze zapytań.
- Kliknij Utwórz zadanie Cloud Dataflow, aby otworzyć panel z opcjami zadania.
- (Opcjonalnie) Kliknij Pokaż parametry opcjonalne i przejrzyj listę.
- W sekcji Miejsce docelowe panelu jako typ wyjściowy wybierz BigQuery.
- Wybierz identyfikator zbioru danych i utwórz tabelę o nazwie „passengers_per_min”
- Kliknij Utwórz.
Więcej informacji o wykonywaniu zapytań na danych i zapisywaniu wyników zapytań Dataflow SQL znajdziesz w artykule Korzystanie z Dataflow SQL.
5. Badanie zadania w interfejsie monitorowania Dataflow
Po wykonaniu potoku przy użyciu usługi zarządzanej przez Dataflow możesz wyświetlić to zadanie i inne zadania za pomocą internetowego interfejsu użytkownika do monitorowania Dataflow. Interfejs monitorowania umożliwia wyświetlanie zadań Dataflow i interakcję z nimi.
Do interfejsu monitorowania Dataflow możesz uzyskać dostęp za pomocą konsoli Google Cloud. W interfejsie monitorowania możesz zobaczyć:
- Lista wszystkich aktualnie uruchomionych zadań Dataflow oraz zadań, które były wcześniej uruchomione w ciągu ostatnich 30 dni.
- Graficzne przedstawienie każdego potoku.
- Szczegółowe informacje o stanie, wykonaniu i wersji pakietu SDK zadania.
- Linki do informacji o usługach Google Cloud uruchamiających potok, takich jak Compute Engine czy Cloud Storage.
- Wszelkie błędy lub ostrzeżenia występujące podczas wykonywania zadania.
Wykresy monitorowania zadań możesz wyświetlać w interfejsie monitorowania Dataflow. Te wykresy wyświetlają wskaźniki dotyczące czasu trwania zadania potoku i zawierają te informacje:
- Widoczność na poziomie kroku ułatwiająca identyfikację kroków, które mogą powodować opóźnienie potoku.
- Dane statystyczne, które mogą wskazywać na nietypowe zachowanie.
- wskaźniki wejścia-wyjścia, które mogą pomóc w zidentyfikowaniu wąskich gardeł w źródłach i ujściach.
Uzyskiwanie dostępu do interfejsu monitorowania Dataflow
Aby uzyskać dostęp do interfejsu monitorowania Dataflow, wykonaj te czynności:
- Otwórz konsolę Cloud:
- wybrać projekt Google Cloud;
- Kliknij menu w lewym górnym rogu.
- Przejdź do sekcji Big Data i kliknij Dataflow.
Pojawi się lista zadań Dataflow wraz z ich stanem.
Lista zadań Dataflow w konsoli Cloud z zadaniami o stanach Uruchomiono, Niepowodzenie i Powodzenie.
Zadanie może mieć następujące stany:
- –: interfejs monitorowania nie otrzymał jeszcze stanu z usługi Dataflow.
- Uruchomione: zadanie jest obecnie uruchomione.
- Nie rozpoczęto: zadanie zostanie utworzone, ale system potrzebuje czasu na przygotowanie przed uruchomieniem.
- Queued (W kolejce): zadanie FlexRS znajduje się w kolejce.
- Anuluję... zadanie jest anulowane.
- Anulowano: zadanie, które zostało anulowane przez użytkownika.
- Opróżniam... zadanie jest opróżniane.
- Opróżniono: użytkownik opróżnił zadanie.
- Aktualizuję... zadanie jest aktualizowane.
- Zaktualizowane: użytkownik zaktualizował zadanie.
- Succeeded (Ukończone): zadanie zostało ukończone.
- Niepowodzenie: zadanie nie zostało ukończone.
Szukaj zadania, używając „dfsql” w polu stanowiska i kliknij jego nazwę.
Strona z informacjami o ofercie pracy zawierająca:
- Wykres zadania: wizualna reprezentacja potoku
- Wskaźniki zadania: wskaźniki dotyczące wykonania zadania
- Panel z informacjami o zadaniu: opisowe informacje o potoku
- Logi zadań: logi generowane przez usługę Dataflow na poziomie zadania
- Logi instancji roboczej: logi generowane przez usługę Dataflow na poziomie instancji roboczej
- Raportowanie błędów zadań: wykresy pokazujące, gdzie na wybranej osi czasu wystąpiły błędy, oraz liczbę wszystkich rejestrowanych błędów.
- Wybór czasu: narzędzie umożliwiające dostosowanie przedziału czasu dla danych
Na stronie Szczegóły oferty pracy możesz przełączać widok ofert pracy z kartami Oferta pracy i Wskaźniki oferty.
- Kliknij kartę DANE ZADANIA i przeglądaj wykresy.
6. Zatrzymywanie zadania Dataflow SQL
Aby zatrzymać zadania Dataflow SQL, użyj polecenia Anuluj. Zatrzymywanie zadania Dataflow SQL z opróżnianiem nie jest obsługiwane.