Czego nie wiedziałeś o kleju AWS

Wzrost popularności Amazon Glue jest zauważalny, gdyż wiele przedsiębiorstw decyduje się na korzystanie z zarządzanych usług integracji danych.

Proces ETL, polegający na transferze danych z baz źródłowych do hurtowni danych, często bywa skomplikowany i trudny do wdrożenia dla wszystkich informacji firmowych. W odpowiedzi na te wyzwania, Amazon wprowadził usługę AWS Glue.

Specjaliści ETL i inżynierowie danych wykorzystują Glue do projektowania, nadzorowania i uruchamiania przepływów pracy ETL.

Czym jest AWS Glue?

AWS Glue to bezserwerowa usługa integrująca dane, która znacznie ułatwia proces wyszukiwania, przygotowywania, przenoszenia i łączenia danych z różnorodnych źródeł. Jest to szczególnie przydatne w kontekście uczenia maszynowego (ML) i analiz.

Usługa ta znacząco skraca czas potrzebny na przygotowanie danych do analiz. Automatycznie lokalizuje i kataloguje dane, generuje kod w językach Scala lub Python do ich transferu oraz umożliwia elastyczne planowanie obciążeń. Dzięki Apache Spark, Glue oferuje skalowalne środowisko do ładowania danych. Dodatkowo, AWS Glue zapewnia szczegółowy monitoring oraz modyfikację strumienia danych, upraszczając złożone operacje tworzenia aplikacji.

Umożliwia to szybką integrację dużej ilości istotnych danych, a także ich weryfikację i autoryzację.

Do czego służy AWS Glue?

Warto wiedzieć, w jakich sytuacjach Amazon Glue sprawdzi się najlepiej. Poniżej przedstawiono kilka przykładów zastosowań, które warto rozważyć:

  • Glue umożliwia wykonywanie zapytań bezserwerowych w jeziorach danych Amazon S3. Jest to doskonałe narzędzie na start, ponieważ zapewnia dostęp do wszystkich danych z jednego interfejsu, umożliwiając ich analizę bez konieczności przenoszenia.
  • Amazon Glue wspomaga zrozumienie posiadanych zasobów danych, ułatwiając przeszukiwanie różnych zbiorów danych AWS za pomocą Katalogu Danych. Pozwala również na zapis danych w różnych usługach AWS z zachowaniem spójnego widoku.
  • Glue jest pomocny w tworzeniu przepływów pracy ETL reagujących na zdarzenia. Za pomocą AWS Lambda można uruchamiać zadania Glue ETL z Amazon S3.
  • AWS Glue może również służyć do porządkowania, czyszczenia, weryfikowania i formatowania danych przed ich umieszczeniem w jeziorze danych lub hurtowni.

Jakie elementy wchodzą w skład AWS Glue?

Głównymi komponentami AWS Glue są:

  • Katalog Danych: przechowuje metadane i strukturę danych.
  • Baza Danych: stanowi klucz dostępu i tworzenia baz danych dla źródeł i miejsc docelowych.
  • Tabela: umożliwia tworzenie tabel w bazach danych, które mogą być wykorzystywane przez źródła i miejsca docelowe.
  • Przeszukiwacz i Klasyfikator: przeszukuje dane w źródle, wykorzystując wbudowane lub niestandardowe klasyfikatory. Tworzy lub wykorzystuje predefiniowane tabele metadanych w katalogu.
  • Zadanie: zawiera logikę biznesową do realizacji zadań ETL, napisaną w Apache Spark z użyciem Pythona lub Scali.
  • Wyzwalacz: inicjuje wykonanie zadań ETL na żądanie lub według harmonogramu.
  • Punkt Końcowy Programisty: to środowisko do testowania, rozwijania i debugowania skryptów zadań ETL.

Zalety korzystania z AWS Glue

Oto kluczowe korzyści wynikające z implementacji AWS Glue w przedsiębiorstwie:

  • AWS Glue automatycznie skanuje dostępne dane za pomocą mechanizmu przeszukiwania.
  • Przetworzone dane można przechowywać w różnych lokalizacjach, takich jak Amazon RDS, Amazon Redshift, czy Amazon S3.
  • Usługa ta działa w chmurze, co eliminuje potrzebę inwestowania w infrastrukturę lokalną.
  • Jako bezserwerowe ETL, jest to ekonomiczne rozwiązanie.
  • Usługa działa szybko, generując kod ETL w Pythonie lub Scali.

Najważniejsze funkcje AWS Glue

Amazon Glue posiada wszystkie niezbędne narzędzia do integracji danych, co przyspiesza proces uzyskiwania wglądu w informacje i podejmowania decyzji. Oto niektóre z kluczowych funkcji:

  • Interfejs „przeciągnij i upuść”: edytor zadań z funkcją „przeciągnij i upuść” pozwala na tworzenie procesów ETL, a usługa generuje kod potrzebny do wyodrębniania, transformowania i przesyłania danych.
  • Automatyczne wykrywanie schematu: Glue pozwala na tworzenie przeszukiwaczy, które łączą się z różnymi źródłami danych. Organizuje dane i wydobywa potrzebne informacje, które można wykorzystać do monitorowania procesów ETL.
  • Planowanie zadań: Glue może być uruchamiany na żądanie lub według zdefiniowanego harmonogramu. Harmonogramy umożliwiają budowanie złożonych potoków ETL z zależnościami między zadaniami.
  • Generowanie kodu: elastyczne widoki w Glue umożliwiają łatwe tworzenie zmaterializowanych widoków, które łączą i replikują dane z różnych źródeł bez pisania dedykowanego kodu.
  • Wbudowane uczenie maszynowe: Glue oferuje funkcję „Znajdź dopasowania”, która deduplikuje rekordy, które nie są idealnymi kopiami.
  • Punkty końcowe programisty: do aktywnego rozwijania kodu ETL, Glue udostępnia punkty końcowe programisty, pozwalające na modyfikację, debugowanie i testowanie kodu.
  • Glue DataBrew: to narzędzie do przygotowywania danych, które pomaga analitykom i naukowcom danych w ich czyszczeniu i normalizacji, dzięki interaktywnemu i wizualnemu interfejsowi.

Jak wygląda cennik AWS Glue?

AWS Glue rozlicza opłaty godzinowe, naliczane co sekundę, za przeszukiwanie danych (wykrywanie) oraz za zadania ETL (przetwarzanie i ładowanie danych). Miesięczna opłata dotyczy również dostępu i przechowywania metadanych w Katalogu Danych.

Ceny Amazon Glue zaczynają się od 0,44 USD. Dostępne są cztery plany cenowe:

  • Zadania ETL, punkty końcowe programowania i inne zadania ETL: 0,44 USD
  • Sesje interaktywne Crawlers: 0,44 USD
  • Zadania DataBrew: od 0,48 USD
  • Miesięczne przechowywanie i żądania do Katalogu Danych: 1,00 USD

AWS nie oferuje darmowego planu dla Glue. Koszt każdej godziny pracy wynosi 0,44 USD za DPU, co średnio daje 21 USD dziennie. Ceny mogą się różnić w zależności od lokalizacji.

Jak skonfigurować AWS Glue?

Katalog Danych umożliwia szybkie wyszukiwanie i przeszukiwanie zbiorów danych AWS bez potrzeby przenoszenia ich. Po skatalogowaniu dane są natychmiast dostępne do zapytań i wyszukiwania za pomocą Amazon Athena i Amazon EMR.

Ref: https://aws.amazon.com/glue/

  • Odkryj dane w Amazon Redshift, Amazon S3, Amazon RDS i bazach danych na Amazon EC2, przechowuj metadane i korzystaj z Katalogu Danych Glue.
  • Zarządzaj danymi za pomocą Katalogu Danych Glue, który pełni funkcję centralnego repozytorium metadanych.
  • Użyj AWS Glue ETL do odczytu i zapisu metadanych w Katalogu Danych.
  • Wykorzystaj Katalog Danych do ETL, analiz i innych zadań w Amazon Athena, Amazon Redshift, Amazon EMR i Amazon ETL.

Proces konfiguracji AWS Glue krok po kroku

Pierwszym krokiem jest zalogowanie się do konsoli zarządzania AWS i otwarcie konsoli uprawnień. Następnie kliknij „Utwórz rolę”, a w typie roli znajdź „Glue” i wybierz uprawnienia.

Wybierz rolę AWSGlueServiceRole dla ogólnych uprawnień AWS Glue Studio i AWS Glue, oraz zasadę zarządzaną przez AWS AmazonS3FullAccess dla dostępu do zasobów Amazon S3.

Wprowadź nazwę roli.

Kliknij „Utwórz rolę”.

Następnie utwórz zasobnik Amazon S3.

Stwórz folder w zasobniku S3.

Wybierz plik, który chcesz przesłać.

Prześlij wybrany plik do zasobnika.

Teraz, z konsoli zarządzania AWS otwórz usługę AWS Glue i utwórz bazę danych.

Po utworzeniu bazy danych w AWS Glue, utwórz robota indeksującego.

Jako źródło danych wybierz wcześniej utworzony zasobnik S3.

Wybierz rolę IAM dla AWS Glue, utworzoną na początku.

W danych wyjściowych wybierz wcześniej utworzoną bazę danych Glue.

Sprawdź konfigurację i utwórz robota.

Po utworzeniu robota, wybierz go i kliknij „Uruchom”. Po krótkim czasie status zmieni się na „gotowy”.

Po uruchomieniu przeszukiwacza, baza danych zostanie uzupełniona tabelą z danymi z pliku CSV.

Po kliknięciu „Wyświetl dane” nastąpi przekierowanie do Amazon Athena (edytor zapytań). Po uruchomieniu zapytania zobaczysz dane tabeli.

Od tego momentu możesz efektywnie wykorzystywać robota AWS Glue w dowolnym zadaniu ETL.

Czym jest AWS Glue DataBrew?

AWS Glue DataBrew umożliwia normalizację i czyszczenie danych bez konieczności pisania kodu. Dzięki DataBrew czas potrzebny na przygotowanie danych do uczenia maszynowego i analizy może zostać skrócony nawet o 80% w porównaniu z samodzielnie opracowywanymi metodami przygotowania danych.

Dostępnych jest ponad 250 gotowych przekształceń danych, które można wykorzystać do automatyzacji takich zadań, jak filtrowanie anomalii, korygowanie nieprawidłowych wartości i konwersja danych do standardowych formatów.

DataBrew ułatwia naukowcom danych, analitykom i inżynierom współpracę przy wydobywaniu wiedzy z nieprzetworzonych danych. Usługa nie wymaga serwera, co pozwala na eksplorację i transformację danych bez zarządzania infrastrukturą.

Funkcje DataBrew dla firm

Wizualne przygotowanie danych

DataBrew prezentuje dane w bardziej intuicyjnej formie, niż standardowe kolumnowe bazy danych. Wizualizacje pomagają w zrozumieniu relacji i hierarchii danych w załadowanych źródłach.

Ponad 250 automatyzacji przygotowania danych

Analitycy danych często muszą wykonywać powtarzalne, odseparowane procesy. AWS zmodelowało te procesy jako moduły językowe i niezależne od danych. Użytkownicy mają dostęp do gotowej biblioteki akcji.

Pochodzenie danych

Podobnie jak dzienniki audytów w sieciach IT, śledzenie pochodzenia danych pozwala monitorować transformacje danych w AWS DataBrew. Informacje te obejmują źródło danych, zastosowane przekształcenia, oraz dane wyjściowe.

Mapowanie danych

DataBrew umożliwia odnajdywanie pasujących pól w dwóch źródłach danych. Po ich identyfikacji, można je załadować do schematu.

Korzyści AWS Glue DataBrew

Oto kluczowe korzyści AWS Glue DataBrew:

  • Niższa bariera wejścia do procesu przygotowania danych
  • Automatyczne generowanie profili danych
  • Automatyzacja ponad 250 procesów przygotowania danych
  • Inteligentne sugestie

Alternatywy dla AWS Glue

Airflow

Airflow to narzędzie typu open source do zarządzania przepływami pracy, które jest popularne wśród deweloperów. Umożliwia tworzenie przepływów pracy za pomocą skierowanych grafów acyklicznych (DAG). Harmonogram w Airflow realizuje zadania w oparciu o zależności i konfiguracje.

Matillion

Matillion ETL to narzędzie ETL/ELT zaprojektowane specjalnie dla platform bazodanowych w chmurze, takich jak Amazon Redshift i Google BigQuery. Posiada interfejs oparty na przeglądarce i oferuje zaawansowane możliwości push-down ETL/ELT. Szybka konfiguracja pozwala na rozpoczęcie pracy w krótkim czasie.

Stitch

Stitch to usługa ETL typu open source, która łączy różne źródła danych i replikuje je do wybranych miejsc docelowych. Jest łatwa w użyciu, ponieważ nie wymaga wiedzy z zakresu kodowania, umożliwiając transfer danych między źródłami i miejscami docelowymi. Charakteryzuje się prostym interfejsem użytkownika i szybkością działania.

W przeciwieństwie do innych narzędzi ETL, Stitch nie oferuje gotowych pulpitów nawigacyjnych. Zamiast tego należy zintegrować dane z otwartymi hurtowniami danych, wybranymi jako miejsce docelowe. Nawigacja w zasobach może być nieco trudna.

Alteryx

Alteryx to platforma do automatyzacji analiz, która wspomaga przygotowanie i łączenie danych. Narzędzie typu „przeciągnij i upuść” nie wymaga wiedzy programistycznej, co ułatwia pracę. Alteryx oferuje również wsparcie społeczności, gdzie można uzyskać pomoc i porady od specjalistów.

Podsumowanie

Podsumowując, AWS Glue to oparte na chmurze rozwiązanie do pracy z potokami ETL. Proces interakcji z użytkownikiem obejmuje trzy etapy: najpierw używa się przeszukiwaczy danych do utworzenia katalogu danych, następnie tworzy się kod ETL potrzebny do potoku danych, a na koniec harmonogram ETL. Mam nadzieję, że ten artykuł dostarczył wyczerpujących informacji o Amazon Glue.

Warto również zapoznać się z poradami dotyczącymi zabezpieczania pamięci masowej AWS S3.