Nozioni di base su Amazon EMR
Come utilizzare EMR
1. Scegli il modello di distribuzione EMR che preferisci
Amazon EMR permette di elaborare grandi quantità di dati utilizzando strumenti open source come Apache Spark, Hive, Flink, Trino e molti altri. Scegli il modello di distribuzione EMR che preferisci:
- EMR serverless: per eseguire le applicazioni senza gestire i cluster e scala automaticamente le risorse in base al carico di lavoro.
- EMR su EC2: per controllare la configurazione del cluster, inclusi i tipi di istanza e le AMI (Amazon Machine Image) personalizzate.
- EMR su EKS: per consolidare l'analisi con le altre applicazioni basate su Kubernetes su un cluster Amazon EKS condiviso.
2. Sviluppa la tua applicazione di elaborazione dei dati
Amazon EMR supporta un'ampia gamma di framework e linguaggi, permettendoti di creare qualsiasi cosa: dalle pipeline ETL standard alla preparazione di dati basati sull'IA generativa su larga scala.
Linguaggi: Amazon EMR utilizza Python (PySpark) per data science e machine learning, SQL (tramite Hive o Trino) per le query analitiche o Java e Scala per le applicazioni Spark ad alte prestazioni.
Framework: per creare ed eseguire applicazioni utilizzando Apache Spark per elaborare dati su larga scala, Apache Flink per gestire contenuti in streaming in tempo reale, Trino per eseguire query SQL rapire su più origini dati e Apache Hudi o Iceberg per gestire data lake transazionali.
3. Prepara e acquisisci dati
Per iniziare, i dati devono essere accessibili ad Amazon EMR. Sebbene Amazon S3 rappresenti il livello di archiviazione standard per le applicazioni EMR, sono disponibili diversi metodi ad alta velocità per spostare i dati dal tuo ambiente locale o da altri servizi AWS.
- Upload diretti: per un'elaborazione immediata dei dati, carica gli oggetti direttamente su Amazon S3 utilizzando la Console di gestione AWS, l'interfaccia a riga di comando (CLI, Command Line Interface) o gli SDK.
- Connettività ad alta velocità: utilizza AWS Direct Connect per bypassare la rete Internet pubblica e stabilire una connessione di rete privata e dedicata dal data center ad AWS. In questo modo avrai a disposizione una larghezza di banda stabile e una latenza ridotta per i trasferimenti su larga scala.
- Streaming in tempo reale: utilizza Amazon Data Firehose o il servizio Streaming gestito da Amazon per Apache Kafka (Amazon MSK) per inserire i dati direttamente nelle applicazioni EMR man mano che vengono generati, per un'analisi quasi immediata.
- Integrazioni Zero-ETL: analizza i dati da Amazon Aurora o Amazon Redshift utilizzando le funzionalità zero-ETL, che permettono a EMR di accedere ai dati operativi senza la necessità di costruire manualmente la pipeline.
- Accesso ibrido: se i dati risiedono in un ambiente Hadoop HDFS locale, puoi utilizzare il connettore S3 per leggerli direttamente in EMR o sincronizzare set di dati specifici per l'elaborazione basata su cloud.
4. Avvia e monitora
Amazon EMR offre un'esperienza di distribuzione semplificata, sia per operazioni una-tantum sia per pipeline produttive continue.
- Avvio tramite EMR Studio: apri il notebook di EMR Studio e collegalo a un'applicazione serverless o a un cluster EC2 esistente. Con un solo clic, puoi eseguire il codice Spark o Hive in un ambiente completamente gestito.
- Serverless: se utilizzi EMR serverless, puoi avviare operazioni tramite la console, la CLI o l'API. EMR gestisce automaticamente il provisioning delle risorse di calcolo e di memoria necessarie, aumentando verticalmente per gestire i picchi di carico e riducendosi verticalmente fino ad azzerare le risorse al termine dell'elaborazione.
- Avvio tramite SageMaker Unified Studio: tramite SageMaker Unified Studio puoi aprire un notebook serverless e collegarlo istantaneamente a un'applicazione EMR serverless o a un cluster EMR su EC2.
5. Monitora e ottimizza l'esecuzione
EMR offre strumenti di visibilità integrati per controllare le pipeline di dati e individuare eventuali colli di bottiglia, ottimizzando automaticamente i costi.
Monitora lo stato delle operazioni e dei cluster tramite la console di gestione EMR, AWS CLI o gli SDK. EMR offre anche un'integrazione nativa con Amazon CloudWatch per parametri, log e avvisi automatici in tempo reale.
Per analizzare i piani di esecuzione e i DAG (Directed Acyclic Graphs, grafi aciclici diretti), puoi accedere direttamente dalla console all'interfaccia utente di Spark o Tez, aggiornata in tempo reale e sempre disponibile, eseguire il debug delle operazioni al momento e anche dopo il completamento di un'operazione serverless.
È tutto pronto per avviare il tuo primo cluster?
Ulteriori informazioni
Formazione e assistenza
-
Hai bisogno di aiuto per la creazione di un proof of concept o per il tuning delle tue applicazioni EMR? AWS ha a disposizione un team di supporto globale specializzato in EMR. Per ulteriori informazioni sugli impegni a breve termine (2-6 settimane) per il supporto a pagamento, contattaci.
Il corso Big data su AWS è stato creato per spiegare, attraverso attività pratiche, come utilizzare Amazon Web Services con i carichi di lavoro di big data. AWS ti mostrerà come eseguire operazioni Amazon EMR per elaborare i dati tramite il vasto ecosistema di strumenti Hadoop, come Pig e Hive. Inoltre, AWS ti illustrerà come creare ambienti per i big data nel cloud utilizzando Amazon DynamoDB e Amazon Redshift, quali sono i vantaggi di Amazon Kinesis e come implementare le best practice di progettazione degli ambienti di big data per analisi, sicurezza ed efficacia dei costi. Per ulteriori informazioni sul corso Big data, fai clic qui.
Scale Unlimited offre formazione in loco personalizzata per le società che devono imparare rapidamente a utilizzare EMR e altre tecnologie per big data. Per ulteriori informazioni, fai clic qui.