AWS oferuje mnóstwo narzędzi i usług do przetwarzania ogromnych ilości danych. Przez lata AWS zbudował wiele usług analitycznych. W zależności od środowiska technicznego, zawsze mogłeś wybrać jedno lub drugie narzędzie do przetwarzania danych w oparciu o przepływy pracy uczenia maszynowego. Jeśli chodzi o analityczne obciążenia robocze, Amazon EMR i AWS Glue to dwa popularne wybory do przetwarzania danych w skali. Przyglądamy się tym dwóm usługom zarządzanym i staramy się zrozumieć kluczowe różnice między nimi. A zatem, zacznijmy.

Czym jest Amazon EMR?

Amazon Elastic MapReduce (EMR) to oparta na chmurze usługa zarządzana do szybkiego i opłacalnego przetwarzania i analizowania dużych danych. EMR to wiodąca w branży platforma big data, która upraszcza analitykę dużych danych przy użyciu narzędzi takich jak Apache Spark, Apache Hadoop, Apache Hive, Apache HBase, Presto i tak dalej. Zaczęło się jako zarządzane środowisko dla aplikacji Apache Hadoop, ale z biegiem lat dodało wsparcie dla mnóstwa innych projektów na AWS. EMR został specjalnie zaprojektowany, aby zmniejszyć obciążenie związane z utrzymaniem, zapewniając zarówno moc obliczeniową, jak i infrastrukturę na żądanie do analizy tak dużych ilości danych. EMR w dużym stopniu wykorzystuje Amazon S3 do przechowywania zestawów danych do przetworzenia i wyników analizy oraz wykorzystuje Amazon EC2 do przetwarzania dużych danych w klastrze serwerów wirtualnych. Jest elastyczny, konfigurowalny i może działać zarówno dla krótkich, jak i długich instancji. EMR jest głównym pretendentem do przetwarzania danych w skali.

Co to jest AWS Glue?





AWS Glue to bezserwerowa, w pełni zarządzana usługa Extraction, Transformation, and Loading (ETL) dostarczana przez Amazon w ramach AWS, która pomaga w przeszukiwaniu, odkrywaniu i organizowaniu danych. Jest to usługa obliczeniowa typu pay-as-you-go, która zapewnia automatyczne wnioskowanie o schematach dla ustrukturyzowanych i półstrukturalnych zbiorów danych. Pozwala na wyodrębnienie danych i metadanych z wielu źródeł, takich jak bazy danych, i zbudowanie katalogu informacji, które mogą być dalej wykorzystane do przekształcenia danych do docelowego wymaganego stanu. Rozumie Twoje dane, sugeruje transformacje i generuje skrypty ETL, a na dodatek uruchamia je w pełni zarządzany sposób wewnątrz powłoki Pythona lub w pełni zarządzanym, bezserwerowym środowisku Spark. W oparciu o transformacje, które definiujesz na swoich danych, Glue może automatycznie generować skrypty Spark. Można je nie tylko dostosować, ale także wdrożyć własne skrypty. Glue jest zbudowany na Sparku i jest zintegrowany z S3, RDS, Redshift i dowolnym magazynem danych JDBC.

Różnica między EMR a Glue

Narzędzie

– Amazon EMR to zarządzana usługa w chmurze, która intensywnie wykorzystuje Amazon S3 do przechowywania zestawów danych do przetwarzania i wyników analizy, a także wykorzystuje Amazon EC2 do przetwarzania dużych danych w klastrze serwerów wirtualnych. Jest to w pełni zarządzane środowisko Hadoop, które zapewnia wsparcie dla wielu innych projektów na AWS, takich jak Apache Spark, Apache Hive, Apache HBase, Presto i tak dalej. Z drugiej strony AWS Glue jest bezserwerowym narzędziem ETL, które zapewnia automatyczne wnioskowanie o schematach dla twoich strukturalnych i półstrukturalnych zbiorów danych.

Wycena



– Struktura cenowa Amazon EMR jest prosta i przewidywalna. Jesteś obciążony na podstawie sekundowej, co oznacza, że płacisz za każdą sekundę, z której korzystasz, z minimalną minutą. Stawka godzinowa zależy od typu używanej instancji i zaczyna się od 0,011 USD za godzinę i idzie w górę do 0,27 USD za godzinę. Opłaty są jak ceny EC2 dodane do kosztów przetwarzania danych. Wycena AWS Glue opiera się na DPU (jednostki przetwarzania danych) i jesteś rozliczany przez sekundę dla crawlerów i zadań ETL. Zwykle kosztuje cię to około 0,44 USD za godzinę za DPU w przyrostach 1 sekundy, zaokrąglonych do najbliższej sekundy.

Elastyczność i skalowalność

– Amazon EMR to w pełni zarządzana platforma klastrowa, która upraszcza konfigurację i zarządzanie klastrem komponentów Apache Hadoop i MapReduce. Zapewnia prosty sposób skalowania działających obciążeń roboczych w zależności od wymagań dotyczących przetwarzania. Umożliwia zmianę rozmiaru klastra w sposób, jaki wydaje się odpowiedni, a dodatkowo skonfigurowanie jednej lub więcej grup instancji do przetwarzania. AWS Glue jest również elastyczny i łatwo skalowalny, ponieważ działa w pełni zarządzanym, bezserwerowym środowisku. Jest autorem wysoce skalowalnych zadań ETL do przetwarzania rozproszonego na skalowalnym środowisku Apache.



Use Case

– Amazon EMR to w pełni zarządzane środowisko, które zapewnia zarówno moc obliczeniową, jak i infrastrukturę na żądanie do szybkiej i efektywnej kosztowo analizy ogromnych ilości danych. Upraszcza uruchamianie frameworków big data, takich jak Apace Hadoop i Apache Spark na AWS w celu przetwarzania dużych danych w skali. Jest to często dobry zamiennik dla migracji on-premises Hadoop. AWS Glue to bezserwerowa platforma ETL, która pomaga indeksować, odkrywać i organizować posiadane dane oraz przygotowywać je do analityki. Idealnie nadaje się do nowych obciążeń roboczych.

Podsumowanie

W skrócie, Amazon EMR to w pełni zarządzane środowisko, które zapewnia zarówno moc obliczeniową, jak i infrastrukturę na żądanie, aby szybko i efektywnie kosztowo analizować ogromne ilości danych. Tak więc, gdy masz dostępną całą infrastrukturę, EMR jest najlepszą opcją dla Ciebie. AWS Glue, z drugiej strony, jest przydatny, gdy masz elastyczne wymagania, a ponieważ jest bez serwera, nie musisz konfigurować i zarządzać żadnymi zasobami obliczeniowymi. Glue po prostu pomaga indeksować, odkrywać i organizować dane, które posiadasz, i przygotować je do analityki.