AWS Athena: Tot ce trebuie să știți
Publicat: 2022-05-02AWS Athena este un serviciu de interogare flexibil și rentabil pentru datele stocate în AWS S3.
AWS este unul dintre cei mai mari furnizori de cloud din lume. Oferă o multitudine de servicii pentru stocarea în cloud și nevoile de calcul. AWS S3 este unul dintre cele mai populare servicii de pe platforma AWS. Oferă durabilitate și disponibilitate de neegalat a datelor, fiind, de asemenea, una dintre cele mai ieftine opțiuni de stocare în cloud.

Având în vedere multitudinea de caracteristici și stocarea teoretică infinită, este posibil să aveți terabytes sau petabytes de date în găleți S3. Analizarea unor astfel de date este aproape imposibilă dacă ar fi să deschidem fiecare fișier și să citim petaocteți de date manual. Aici intervine serviciul AWS Athena.
Cu cuvinte simple, AWS Athena este folosit ca serviciu de analiză a datelor prin simpla accesare a datelor disponibile în compartimentul S3 folosind interogări SQL. Deci, dacă înțelegeți chiar și elementele de bază ale SQL, puteți începe să lucrați la analiza datelor S3 cu AWS Athena.
Să înțelegem asta cu un exemplu scurt. Să presupunem că ați configurat una dintre compartimentele dvs. ca grupă de jurnal de acces pentru toți echilibratorii pe care îi aveți în mai multe conturi din organizația dvs. Cum ați interoga ani de date de jurnal și cum ați obține informații semnificative importante din aceste fișiere jurnal? Răspunsul este AWS Athena.
Caracteristicile AWS Athena
- Instrument bazat pe SQL: AWS Athena este un serviciu bazat pe SQL foarte simplu de utilizat. Pur și simplu indicați Athena către una dintre compartimentele dvs., definiți schema datelor și apoi începeți să utilizați interogările SQL din compartimentul dvs.
- Fără server: nu trebuie să mențineți o infrastructură pentru rularea AWS Athena. Athena nu are server și este optimizat pentru a utiliza mai multe resurse de calcul automat, conform cerințelor dumneavoastră.
- Rapid și optimizat: Athena a fost optimizat pentru a utiliza un număr eficient de resurse pentru a vă oferi rezultatele interogării cât mai curând posibil. Funcționează excelent cu analize mici și complexe ale datelor S3.
- Eficient din punct de vedere al costurilor: Athena este un serviciu cu plata pe măsură ce utilizați. Aceasta înseamnă că nu există un cost de bază pentru utilizarea AWS Athena; plătiți doar pentru interogările pe care le executați în Serviciul Athena.
- Durabilitatea și disponibilitatea datelor: deoarece Athena se bazează pe datele din compartimentele dvs. S3, puteți fi siguri că datele sunt foarte disponibile și durabile.
- Suport: Athena acceptă mai multe formate de fișiere, cum ar fi JSON, CSV, Avro, ORC și multe altele.
- Securitate: Athena folosește funcții de securitate precum IAM, politici de grup și ACL-uri, ceea ce îl face extrem de sigur.
- Athena Backend: Athena folosește open-source Presto ca backend. Presto este un motor SQL distribuit pentru interogare și analiza volumului de lucru de date mari.
Prețul și optimizarea AWS Athena
Când utilizați AWS Athena, vi se va percepe o taxă de 5 USD pe teraoctet scanat când utilizați AWS Athena. Acest preț poate varia ușor pentru unele dintre regiunile AWS.
- Interogări eficiente : dacă sunteți familiarizat cu SQL, trebuie să știți că pot exista mai multe modalități de a obține anumite rezultate din date folosind SQL. Pentru a optimiza Athena, puteți utiliza interogări eficiente care ar trebui să dureze mai puțin timp pentru a rula interogările dvs.
- Transformarea datelor: dacă doriți să vă optimizați în continuare interogările, vă puteți comprima, partiționa sau converti datele într-un set de date mai mic, reducând și mai mult timpul de rulare a interogărilor. Utilizând transformarea datelor, vă puteți optimiza interogarea cu până la 90%.
- Alăturarea tabelelor virtuale: alăturarea tabelelor este o caracteristică foarte importantă a SQL. Deși poate părea o operațiune simplă, poate fi o operațiune foarte complexă. Se recomandă să păstrați tabelele mai mari în stânga și tabelele cu mai puține date în dreapta.
Diferența dintre AWS Athena și Redshift Spectrum
Redshift Spectrum este un alt serviciu care poate fi utilizat pentru a rula interogări pe compartimente AWS S3. Atât Redshift Spectrum, cât și Athena sunt fără server, pot rula interogări complexe pe S3 și au un preț de 5% pe Terrabyte de date procesate, deci care este diferența?

Performanţă
AWS Athena utilizează resurse de calcul dintr-un grup de resurse furnizate de AWS. În schimb, spectrul Redshift utilizează resursele alocate în funcție de dimensiunea clusterului Redshift. Acest lucru vă permite să aveți mai mult control asupra resurselor utilizate de serviciul Redshift Spectrum și, dacă doriți o performanță îmbunătățită, puteți oricând să creșteți dimensiunea clusterului dvs. Redshift.
Încărcarea datelor pentru prelucrare
Ambele servicii folosesc tabele virtuale pentru a rula interogări SQL pe datele dumneavoastră. Tabelele virtuale sunt realizate folosind Glue Data Catalog pentru gestionarea schemelor. Athena poate folosi direct datele din schema Glue Data Catalog, în timp ce atunci când utilizați Redshift Spectrum, va trebui să configurați tabele externe din Schema Glue Data Catalog.
Acestea sunt principalele diferențe dintre cele două servicii, deci atunci când alegeți între spectrul Redshift și Athena. Ar trebui să utilizați Redshift Spectrum dacă doriți să interogați datele în S3 împreună cu datele stocate în depozitul de date Redshift sau dacă sunteți dispus să plătiți costuri mai mari pentru a vă îmbunătăți performanța interogărilor în S3. Athena poate fi utilă atunci când toate datele dvs. sunt doar în compartimentele S3.
Diferența dintre AWS Athena și S3 Select
Selectarea S3 este un alt serviciu fără server de la AWS pentru a interoga datele în S3 folosind SQL. Cu toate acestea, principala diferență dintre S3 Select și Athena este că puteți utiliza doar interogările SQL SELECT atunci când utilizați S3 Select, în timp ce Athena poate fi folosit pentru toate tipurile de interogări SQL. O altă limitare a S3 select este că puteți efectua operația SELECT numai pe un singur obiect la un moment dat.
Deci, dacă cerința dvs. este doar să extrageți date sau un subset de date dintr-un obiect S3, ar trebui să utilizați S3 Select. Pentru interogări și operațiuni complexe, cum ar fi JOIN sau pentru a procesa datele într-un întreg compartiment S3, ar trebui să utilizați AWS Athena.
Avantajele utilizării AWS Athena
- Athena elimină nevoia de a dezvolta un instrument complex și costisitor de analiză a datelor pentru datele dvs.
- Athena este fără server, ceea ce îl face un serviciu destul de ușor de utilizat. Nu este nevoie să întrețineți infrastructura.
- AWS a optimizat Athena pentru a putea prelua rezultatele interogării în câteva secunde după ce rulați interogarea Athena.
- Deoarece Athena este fără server, nu trebuie să plătiți pentru serviciul Athena. Plătiți doar pentru interogările pe care alegeți să le executați. Chiar dacă ar fi să anulați o interogare, veți fi taxat doar pentru datele procesate și nu pentru întreaga interogare.
- Athena poate fi integrat cu ușurință cu alte servicii AWS. Una dintre cele mai importante și valoroase integrări pentru AWS Athena este cu serviciul AWS Glue. AWS Glue este un serviciu ETL care poate fi folosit pentru a transforma datele într-o formă mai eficientă și mai lizibilă, care poate fi apoi analizată cu AWS Athena.
- Athena vă permite să executați mai multe interogări simultan.
Limitări ale AWS Athena
- Dimensiunea rândului: dimensiunea rândului dintr-un tabel virtual AWS Athena nu trebuie să depășească 32 de megaocteți. Această limită poate fi mărită în cazuri foarte limitate pentru fișierele CSV și JSON până la 100 de megaocteți, dar este foarte recomandat să limitați dimensiunea rândului la 32 de megaocteți pentru a evita erorile nedorite.
- Fișiere ascunse: fișierele cu nume care încep cu liniuță de subliniere (_) sau punct (.) sunt tratate ca fiind ascunse de către Serviciul Athena. Aceasta poate fi folosită ca o caracteristică pentru a evita procesarea fișierelor nedorite.
- Athena nu poate procesa date în S3 Glacier sau S3 Glacier Deep Archive. Aceste clase de stocare sunt doar pentru opțiunile de arhivare a datelor și au un timp de recuperare de la minute la ore, așa că se înțelege dacă AWS Athena nu poate prelua date din aceste clase.
- Athena nu acceptă proceduri stocate .
- Athena versiunea 1 nu acceptă interogări parametrizate . Acest lucru este acceptat în versiunea 2 Athena.
- Declarații precum MERGE, UPDATE, CREATE TABLE LIKE,
DESCRIBE INPUT
șiDESCRIBE OUTPUT
nu sunt acceptate.
Concluzie
În acest articol, am discutat despre instrumentul de analiză a datelor de la AWS AWS Athena, caracteristicile sale, avantajele și unele limitări. Athena este unul dintre cele mai puternice instrumente pentru procesarea și analiza datelor din compartimentele S3. Chiar și limitările serviciului sunt destul de simple și pot fi rezolvate dacă este necesar.
De asemenea, puteți consulta câteva dintre cele mai bune practici pentru a securiza stocarea AWS S3.