AWS Athena: wszystko, co musisz wiedzieć
Opublikowany: 2022-05-02AWS Athena to elastyczna, ekonomiczna usługa zapytań o dane przechowywane w AWS S3.
AWS to jeden z największych dostawców chmury na świecie. Oferuje wiele usług w zakresie przechowywania w chmurze i potrzeb obliczeniowych. AWS S3 to jedna z najpopularniejszych usług na platformie AWS. Oferuje niezrównaną trwałość i dostępność danych, będąc jednocześnie jedną z najtańszych opcji przechowywania w chmurze.

Biorąc pod uwagę mnogość funkcji i teoretycznie nieskończoną pamięć masową, możliwe jest przechowywanie terabajtów lub petabajtów danych w zasobnikach S3. Analiza takich danych jest prawie niemożliwa, gdybyśmy mieli otwierać każdy plik i ręcznie czytać petabajty danych. Tu właśnie pojawia się usługa AWS Athena.
Krótko mówiąc, AWS Athena jest używana jako usługa analizy danych, po prostu uzyskując dostęp do danych dostępnych w zasobniku S3 za pomocą zapytań SQL. Jeśli więc rozumiesz nawet podstawy SQL, możesz rozpocząć pracę nad analizą danych S3 za pomocą AWS Athena.
Zrozummy to na krótkim przykładzie. Załóżmy, że skonfigurowałeś jeden ze swoich zasobników jako zasobnik dziennika dostępu dla wszystkich systemów równoważenia, które masz na wielu kontach w Twojej organizacji. W jaki sposób można by sprawdzić lata danych dziennika i uzyskać ważne, znaczące informacje z tych plików dziennika? Odpowiedzią jest AWS Athena.
Funkcje AWS Atena
- Narzędzie oparte na SQL: AWS Athena to bardzo prosta w użyciu usługa oparta na SQL. Po prostu wskazujesz Athena jeden ze swoich zasobników, definiujesz schemat swoich danych, a następnie zaczynasz używać zapytań SQL w swoim zasobniku.
- Bezserwerowe: nie musisz utrzymywać infrastruktury do uruchamiania AWS Athena. Athena jest bezserwerowa i jest zoptymalizowana pod kątem automatycznego korzystania z wielu zasobów obliczeniowych zgodnie z Twoimi wymaganiami.
- Szybkość i optymalizacja: Athena została zoptymalizowana pod kątem wykorzystania wydajnej liczby zasobów, aby jak najszybciej dostarczyć wyniki zapytania. Świetnie sprawdza się przy małych i złożonych analizach danych S3.
- Opłacalność: Athena jest usługą płatną zgodnie z rzeczywistym użyciem. Oznacza to, że korzystanie z AWS Athena nie wiąże się z kosztami podstawowymi; płacisz tylko za zapytania, które uruchamiasz w Usłudze Athena.
- Trwałość i dostępność danych: Ponieważ Athena opiera się na danych w Twoich zasobnikach S3, możesz mieć pewność, że dane są wysoce dostępne i trwałe.
- Wsparcie: Athena obsługuje kilka formatów plików, takich jak JSON, CSV, Avro, ORC i inne.
- Bezpieczeństwo: Athena wykorzystuje funkcje zabezpieczeń, takie jak uprawnienia, zasady zasobników i listy ACL, dzięki czemu jest bardzo bezpieczna.
- Athena Backend: Athena używa oprogramowania Presto o otwartym kodzie źródłowym jako backendu. Presto to rozproszony silnik SQL do wykonywania zapytań i analizowania obciążeń Big Data.
Cennik i optymalizacja AWS Athena
Korzystając z AWS Athena, zostaniesz obciążony opłatą w wysokości 5 $ za zeskanowany terabajt podczas korzystania z AWS Athena. Cena ta może się nieznacznie różnić w niektórych regionach AWS.
- Wydajne zapytania : jeśli znasz SQL, musisz wiedzieć, że może istnieć więcej niż jeden sposób uzyskania określonych wyników z danych przy użyciu SQL. Aby zoptymalizować Athenę, możesz użyć wydajnych zapytań, których wykonanie powinno zająć mniej czasu.
- Transformacja danych: Jeśli chcesz jeszcze bardziej zoptymalizować zapytania, możesz skompresować, podzielić lub przekonwertować dane na mniejszy zestaw danych, co dodatkowo skróci czas wykonywania zapytania. Korzystając z transformacji danych, możesz zoptymalizować zapytanie nawet o 90%.
- Łączenie wirtualnych tabel: Łączenie tabel jest bardzo ważną cechą SQL. Chociaż może się to wydawać prostą operacją, może to być bardzo złożona operacja. Zaleca się trzymanie większych tabel po lewej stronie i tabel z mniejszą ilością danych po prawej stronie.
Różnica między AWS Athena a Redshift Spectrum
Redshift Spectrum to kolejna usługa, której można używać do uruchamiania zapytań w zasobnikach AWS S3. Zarówno Redshift Spectrum, jak i Athena są bezserwerowe, mogą uruchamiać złożone zapytania na S3 i są wyceniane na 5% za przetworzony terrabajt danych, więc jaka jest różnica?

Wydajność
AWS Athena wykorzystuje zasoby obliczeniowe z puli zasobów udostępnianych przez AWS. Natomiast widmo przesunięcia ku czerwieni wykorzystuje zasoby przydzielone zgodnie z rozmiarem klastra przesunięcia ku czerwieni. Dzięki temu masz większą kontrolę nad zasobami używanymi przez usługę Redshift Spectrum, a jeśli chcesz zwiększyć wydajność, zawsze możesz zwiększyć rozmiar klastra Redshift.
Ładowanie danych do przetwarzania
Obie usługi używają wirtualnych tabel do uruchamiania zapytań SQL na Twoich danych. Tabele wirtualne są tworzone przy użyciu Katalogu danych kleju do zarządzania schematami. Athena może bezpośrednio korzystać z danych ze schematu Katalogu danych kleju, podczas gdy przy użyciu widma Redshift, będziesz musiał skonfigurować tabele zewnętrzne ze schematu Katalogu danych kleju.
To są główne różnice między tymi dwiema usługami, więc przy wyborze między widmem Redshift a Atheną. Powinieneś użyć Redshift Spectrum, jeśli chcesz wysyłać zapytania do danych w S3 razem z danymi przechowywanymi w hurtowni danych Redshift lub jeśli chcesz zapłacić wyższe koszty, aby poprawić wydajność zapytań w S3. Athena może być przydatna, gdy wszystkie Twoje dane znajdują się tylko w zasobnikach S3.
Różnica między AWS Athena i S3 Select
S3 select to kolejna bezserwerowa usługa AWS, która umożliwia wykonywanie zapytań o dane w S3 przy użyciu SQL. Jednak główna różnica między S3 Select i Athena polega na tym, że podczas korzystania z S3 Select możesz używać tylko zapytań SQL SELECT, podczas gdy Athena może być używana do wszystkich rodzajów zapytań SQL. Innym ograniczeniem wyboru S3 jest to, że w danym momencie można wykonać operację WYBIERZ tylko na jednym obiekcie.
Tak więc, jeśli Twoim wymaganiem jest tylko ściąganie danych lub podzbioru danych z obiektu S3, powinieneś użyć S3 Select. W przypadku złożonych zapytań i operacji, takich jak JOIN lub przetwarzania danych w całym zasobniku S3, powinieneś użyć AWS Athena.
Zalety korzystania z AWS Athena
- Athena eliminuje potrzebę opracowywania złożonego i kosztownego narzędzia do analizy danych dla Twoich danych.
- Athena jest bezserwerowa, co czyni ją dość łatwą w użyciu usługą. Nie musisz utrzymywać infrastruktury.
- AWS zoptymalizował Athena, aby móc pobrać wyniki zapytania w ciągu kilku sekund od uruchomienia zapytania Athena.
- Ponieważ Athena jest bezserwerowa, nie musisz płacić za usługę Athena. Płacisz tylko za zapytania, które zdecydujesz się uruchomić. Nawet jeśli zrezygnujesz z zapytania, zostaniesz obciążony tylko za przetworzone dane, a nie za całe zapytanie.
- Athena może być łatwo zintegrowana z innymi usługami AWS. Jedną z najważniejszych i najcenniejszych integracji AWS Athena jest usługa AWS Glue. AWS Glue to usługa ETL, która może służyć do przekształcania danych w bardziej wydajną i czytelną formę, którą można następnie analizować za pomocą AWS Athena.
- Athena umożliwia jednoczesne uruchamianie wielu zapytań.
Ograniczenia AWS Athena
- Rozmiar wiersza: rozmiar wiersza w wirtualnej tabeli AWS Athena nie powinien przekraczać 32 megabajtów. Ten limit można zwiększyć w bardzo ograniczonych przypadkach dla plików CSV i JSON do maksymalnie 100 megabajtów, ale zdecydowanie zaleca się ograniczenie rozmiaru wiersza do 32 megabajtów, aby uniknąć niepożądanych błędów.
- Ukryte pliki: Pliki, których nazwy zaczynają się od podkreślenia (_) lub kropki (.) są traktowane przez usługę Athena jako ukryte. Może to służyć jako funkcja zapobiegająca przetwarzaniu niechcianych plików.
- Athena nie może przetwarzać danych w S3 Glacier lub S3 Glacier Deep Archive. Te klasy pamięci służą tylko do archiwizacji danych i mają czas pobierania od minut do godzin, więc zrozumiałe jest, że AWS Athena nie może pobrać danych z tych klas.
- Athena nie obsługuje procedur składowanych .
- Athena w wersji 1 nie obsługuje zapytań parametrycznych . Jest to obsługiwane w wersji Athena 2.
- Instrukcje takie jak MERGE, UPDATE, CREATE TABLE LIKE,
DESCRIBE INPUT
iDESCRIBE OUTPUT
nie są obsługiwane.
Wniosek
W tym artykule omówiliśmy narzędzie do analizy danych z AWS the AWS Athena, jego cechy, zalety i pewne ograniczenia. Athena to jedno z najpotężniejszych narzędzi do przetwarzania i analizowania danych w zasobnikach S3. Nawet ograniczenia usługi są dość proste i w razie potrzeby można je obejść.
Możesz również zapoznać się z najlepszymi praktykami dotyczącymi zabezpieczania magazynu AWS S3.