Elasticità

Amazon EMR consente di allocare tutta la capacità necessaria in modo semplice e veloce, aggiungendo e rimuovendo capacità in modo automatico o manuale. Questo risulta particolarmente utile quando non è possibile prevedere i requisiti di elaborazione oppure quando variano nel tempo. Ad esempio, se il picco di elaborazione si verifica di notte, potrebbero occorrere solo 100 istanze durante il giorno e 500 istanze nelle ore notturne. Oppure potrebbe essere necessario disporre di grandi quantità di risorse per un breve intervallo di tempo. Con Amazon EMR è possibile allestire centinaia o migliaia di istanze, ricalibrandone le risorse in base ai requisiti di elaborazione, e terminarle appena l'attività per cui erano necessarie si conclude, in modo da non pagare per capacità non utilizzata.

elastic

Sono due le opzioni che consentono di aggiungere o rimuovere capacità:

Distribuzione di più cluster: quando occorre un volume maggiore di risorse, è possibile avviare un nuovo cluster, terminandolo quando non è più necessario. Non è previsto alcun limite al numero di cluster che è possibile avviare. È possibile utilizzare diversi cluster quando sono presenti più utenti o più applicazioni. Ad esempio, è possibile memorizzare i dati di input in Amazon S3 e avviare un cluster per ogni applicazione che deve elaborare tali dati. Un cluster può essere ottimizzato per la CPU, un secondo cluster può essere ottimizzato per lo storage, ecc.

Ridimensionamento di un cluster in esecuzione: con Amazon EMR è semplice ricalibrare automaticamente o ridimensionare manualmente un cluster in esecuzione. Potrebbe essere necessario aumentare le risorse per aggiungere temporaneamente potenza di elaborazione al cluster, oppure ridurle per risparmiare sulla capacità inattiva. Ad esempio, alcuni clienti aggiungono centinaia di istanze ai loro cluster quando è prevista l'elaborazione di batch, rimuovendo poi le istanze non necessarie al termine dell'attività. Al momento dell'aggiunta di istanze al cluster, EMR utilizza la capacità allocata appena risulta disponibile. In fase di ridimensionamento, EMR sceglie in maniera proattiva i nodi inattivi per ridurre l'impatto sulle attività in esecuzione.

Costi ridotti

Amazon EMR è progettato per ridurre i costi derivanti dall'elaborazione di grandi quantità di dati. Questo grazie a tariffe al secondo ridotte, elasticità, integrazione con le istanze Spot e riservate di Amazon EC2 e integrazione con Amazon S3.

Tariffe al secondo ridotte: le tariffe di Amazon EMR sono calcolate al secondo con un addebito minimo di un minuto e partono da 0,015 USD per ora di utilizzo di un'istanza di piccole dimensioni (131,40 USD all'anno). Per ulteriori informazioni, consulta la sezione Prezzi.

Integrazione con le istanze Spot di EC2: le istanze Spot di Amazon EC2 consentono di stabilire il prezzo che si è disposti a pagare per la capacità richiesta. È sufficiente specificare la tariffa oraria massima che si è disposti a pagare per un dato tipo di istanza. Finché l'offerta supera il prezzo Spot, sarà possibile utilizzare le istanze acquistate, spesso ad un prezzo molto inferiore rispetto alla corrispondente tariffa on demand. Il prezzo Spot varia in base alla domanda e all'offerta delle istanze, ma non sarà mai addebitata una cifra superiore a quella specificata. Con Amazon EMR è semplice utilizzare le istanze Spot per risparmiare tempo e denaro. I cluster di Amazon EMR includono "nodi principali" e "nodi di task" (solo i primi in esecuzione in HDFS); i nodi di task sono la scelta ottimale per le istanze Spot, perché se le istanze vengono interrotte a causa dell'aumento del prezzo Spot, non perderai i dati salvati in HDFS. Scopri di più su nodi principali e nodi di task.

Integrazione con le istanze riservate di Amazon EC2: con le istanze riservate di Amazon EC2 viene mantenuta l'elasticità di elaborazione e i relativi vantaggi, riducendo però i costi e consentendo di prenotare la capacità. Con le istanze riservate, si paga una tariffa ridotta una-tantum, ottenendo un notevole sconto sulla tariffa al secondo per quell'istanza. Con Amazon EMR è semplice utilizzare istanze riservate per risparmiare fino al 65% rispetto al prezzo delle istanze on demand.

Elasticità: poiché ricalibrare automaticamente le risorse di un cluster è semplice in Amazon EMR, non occorre più acquisire capacità in eccesso. Ad esempio, non occorre calcolare la quantità di dati che uno o più cluster dovranno gestire tra 6 mesi, né quando potranno verificarsi eventuali picchi di elaborazione. Con Amazon EMR non è più necessario acquisire risorse in previsione di picchi di domanda, perché è possibile aggiungere e rimuovere capacità in qualsiasi momento.

Integrazione con Amazon S3: il file system EMR o EMRFS (EMR File System) consente ai cluster EMR di utilizzare Amazon S3 come object store per Hadoop in modo efficiente e sicuro. Sarà quindi possibile memorizzare i dati in Amazon S3 e utilizzare diversi cluster di Amazon EMR per elaborare lo stesso set di dati. Ogni cluster può essere ottimizzato per un determinato carico di lavoro per ottenere la massima efficienza, mentre in genere vengono assegnati a un singolo cluster svariati carichi di lavoro con requisiti diversi. Ad esempio, puoi prevedere un cluster ottimizzato per le operazioni I/O e un altro ottimizzato per la CPU, ognuno dei quali elabora lo stesso set di dati contenuto in Amazon S3. Inoltre, memorizzando i dati in entrata e in uscita in Amazon S3, puoi arrestare i cluster quando non sono più necessari.

EMRFS consente prestazioni elevate in lettura e in scrittura su Amazon S3, supporta la crittografia lato server e lato client tramite AWS Key Management Service (KMS) e chiavi gestite dall'utente, e offre una vista opzionale che consente di controllare la consistenza della verifica dopo scrittura e a livello di elenco per gli oggetti monitorati nei relativi metadati. Infine, i cluster di Amazon EMR possono usare sia EMRFS sia HDFS, così non sarà necessario scegliere tra storage su cluster o in Amazon S3.

Integrazione con il catalogo dati di AWS Glue: è possibile utilizzare il catalogo dati AWS Glue come repository di metadati gestito per memorizzare i metadati di tabelle esterne per Apache Spark e Apache Hive. Inoltre, offre rilevamento automatico di schemi e storico delle versioni degli schemi. In questo modo è più semplice conservare i metadati delle tabelle esterne in Amazon S3 al di fuori del cluster.

Datastore flessibili

Con Amazon EMR, è possibile impiegare più di un datastore, ad esempio Amazon S3, HDFS (Hadoop Distributed File System) e Amazon DynamoDB.

DetailsPage_EMR-Diagram

Amazon S3: Amazon S3 è un servizio di storage altamente durevole, scalabile, sicuro, veloce ed economico. Con il file system EMR o EMRFS (EMR File System), Amazon EMR è in grado di utilizzare Amazon S3 come object store per Hadoop in modo efficiente e sicuro. Amazon EMR migliora molte funzionalità di Hadoop, consentendo ad esempio di elaborare in modo ottimale grandi quantità di dati memorizzati in Amazon S3. Inoltre, EMRFS facilita il controllo della consistenza della verifica dopo scrittura e a livello di elenco per gli oggetti in Amazon S3. EMRFS supporta la crittografia lato server o lato client per l'elaborazione di oggetti crittografati di Amazon S3, ed è possibile utilizzare AWS Key Management Service (KMS) oppure un fornitore di chiavi personalizzate.

Quando viene avviato un cluster, Amazon EMR inoltra i dati da Amazon S3 a tutte le istanze al suo interno e avvia immediatamente l'elaborazione. Uno dei vantaggi di memorizzare i dati in Amazon S3 ed elaborarli con Amazon EMR è che puoi usare diversi cluster per elaborare gli stessi dati. Ad esempio, puoi disporre di un cluster di sviluppo in Hive, ottimizzato per la memoria, e un cluster di produzione in Pig, ottimizzato per la CPU, che usano entrambi lo stesso set di dati di input.

HDFS (Hadoop Distributed File System): HDFS è il file system di Hadoop. L'attuale topologia di Amazon EMR prevede il raggruppamento delle istanze in 3 gruppi logici: Master Group, che esegue il servizio YARN Resource Manager e HDFS Name Node; Core Group, che esegue HDFS DataNode Daemon e il servizio YARN Node Manager; Task Group, che esegue il servizio YARN Node Manager. Amazon EMR installa HDFS sullo storage associato alle istanze nel Core Group.

Ogni istanza EC2 viene fornita con una quantità fissa di storage, nota come "instance store", associata a un'istanza. È inoltre possibile personalizzare lo storage su un'istanza aggiungendo volumi di Amazon EBS. Amazon EMR consente di aggiungere volumi di tipo General Purpose (SSD), Provisioned (SSD) e Magnetic. Al momento dell'arresto di un cluster EMR, i dati sui volumi EBS collegati non vengono conservati. EMR cancellerà automaticamente i dati.

È anche possibile configurare la crittografia completa per HDFS utilizzando una configurazione di sicurezza di Amazon EMR, oppure creare zone di crittografia HDFS con Key Management Server di Hadoop.

Amazon DynamoDB: Amazon DynamoDB è un servizio di database NoSQL rapido e completamente gestito. Amazon EMR si integra con Amazon DynamoDB, consentendo di elaborare i dati memorizzati in Amazon DynamoDB in modo rapido ed efficiente e di trasferire dati tra Amazon DynamoDB, Amazon S3 e HDFS in Amazon EMR.

Altri datastore AWS: gli utenti di Amazon EMR usano anche Amazon Relational Database Service (un servizio Web che semplifica configurazione, funzionamento e scalabilità di database relazionali nel cloud), Amazon Glacier (un servizio di storage dai costi estremamente contenuti che fornisce storage durevole per l'archiviazione e il backup dei dati) e Amazon Redshift (un servizio di data warehousing rapido e gestito, con dimensioni nell'ordine dei petabyte). AWS Data Pipeline è un servizio Web che consente di elaborare e trasferire dati tra più servizi di elaborazione e storage AWS (tra cui Amazon EMR) e origini dati locali, a specifici intervalli di tempo e con la massima affidabilità.

Compatibilità con le più comuni app open source

Con le release in versioni multiple in Amazon EMR, è possibile selezionare e usare i progetti open source più recenti in un cluster EMR, incluse le applicazioni negli ecosistemi Apache Spark e Hadoop. Il software viene installato e configurato da Amazon EMR, perciò sarà possibile tralasciare le attività di allestimento dell'infrastruttura e l'amministrazione e concentrare la propria attenzione sul valore dei dati.

emr-5.16.0

Strumenti per Hadoop

Amazon EMR supporta diversi strumenti affidabili per Hadoop, ad esempio Hive, Pig, HBase e Impala. Inoltre, può eseguire framework di elaborazione distribuiti (oltre ad Hadoop MapReduce) quali Spark e Presto, tramite operazioni di bootstrap. È anche possibile utilizzare Hue e Zeppelin come interfaccia grafica per interagire con le applicazioni nel cluster.

hadoop-apps

Spark è un motore dell'ecosistema Hadoop che velocizza l'elaborazione di set di dati di grandi dimensioni. Impiega set di dati resilienti o RDD (Resilient Distributed Dataset) in memoria con tolleranza ai guasti e grafi aciclici diretti o DAG (Directed Acyclic Graphs) per definire le trasformazioni dei dati. Spark include inoltre Spark SQL, Spark Streaming, MLlib e GraphX. Scopri di più su Spark e su come utilizzarlo in Amazon EMR.

Hive è un pacchetto open source di data warehouse e analisi eseguibile con Hadoop. Hive funziona con Hive QL, un linguaggio basato su SQL che consente di creare strutture, riepiloghi e query di dati. Hive QL ha più funzioni di SQL, supporta le funzioni di mappatura/riduzione e permette l'uso di tipi di dati estensibili complessi definiti dall'utente quali JSON e Thrift. Grazie a questa funzionalità, è possibile elaborare origini dati complesse e non strutturate quali documenti di testo e file di log. Hive consente l'utilizzo di estensioni utente tramite funzioni definite dall'utente scritte in Java. Amazon EMR migliora molte funzionalità di Hive, come l'integrazione diretta con Amazon DynamoDB e Amazon S3. Ad esempio, con Amazon EMR è possibile caricare automaticamente partizioni di tabelle da Amazon S3, scrivere nelle tabelle in Amazon S3 senza impiegare file temporanei e accedere alle risorse in Amazon S3, quali script, operazioni di mappatura o riduzione e librerie aggiuntive. Scopri di più su Hive e Amazon EMR.

Pig è un pacchetto open source di analisi eseguibile con Hadoop. Pig funziona con Pig Latin, una sintassi SQL-like che consente di creare strutture, riepiloghi e query di dati. Oltre alle operazioni SQL-like, Pig Latin supporta le funzioni di mappatura/riduzione e permette l'uso di tipi di dati estensibili complessi definiti dall'utente. Grazie a questa funzionalità, è possibile elaborare origini dati complesse e non strutturate quali documenti di testo e file di log. Pig consente l'utilizzo di estensioni utente tramite funzioni personalizzate scritte in Java. Amazon EMR migliora molte funzionalità di Pig, consentendo ad esempio di impiegare diversi file system (in genere Pig può accedere a un solo file system remoto), caricare JAR e script dei clienti da Amazon S3 (ad es. "REGISTER s3:///my-bucket/piggybank.jar") e sfruttare le funzioni aggiuntive per l'elaborazione di parametri String e DateTime. Scopri di più su Pig e Amazon EMR.

HBase è un database open source non relazionale distribuito, creato sul modello di BigTable di Google. È stato sviluppato nell'ambito del progetto Hadoop di Apache Software Foundation e viene eseguito con il file system distribuito Hadoop (HDFS) per fornire funzionalità di tipo BigTable per Hadoop. HBase fornisce un modo efficiente e con tolleranza ai guasti di memorizzare grandi quantità di dati a bassa densità utilizzando storage e compressione basati su colonne. Inoltre, HBase offre consultazione rapida dei dati, perché li memorizza nella memoria cache. HBase è ottimizzato per operazioni di scrittura sequenziali ed è particolarmente efficiente per aggiornamenti, eliminazioni ed inserimenti in batch. HBase è ottimizzato per Hadoop, condividendone il file system e fungendo da input e output diretto per i relativi processi. Inoltre, HBase si integra con Apache Hive, consentendo query SQL-like su tabelle HBase, unioni con tabelle basate su Hive e supporto per JDBC (Java Database Connectivity). Con Amazon EMR, è possibile impiegare Amazon S3 come datastore per Apache HBase, riducendo i costi e la complessità operativa. Se HDFS viene utilizzato come datastore, è possibile effettuare il backup di HBase in Amazon S3 ed eseguirne il ripristino da un backup precedente. Scopri di più su HBase e Amazon EMR.

Phoenix consente l'uso di funzionalità SQL a bassa latenza con proprietà ACID sui dati memorizzati in Apache HBase. Creare indici secondari per ottenere migliori prestazioni è semplice, così come creare visualizzazioni diverse sulla stessa tabella HBase. Scopri di più su Phoenix e Amazon EMR.

Impala è uno strumento open source dell'ecosistema Hadoop per la creazione di query interattive ad hoc usando la sintassi SQL. Invece di impiegare MapReduce, sfrutta un motore a elaborazione parallela o MPP (Massively Parallel Processing) simile a quello che si trova nei comuni sistemi di gestione dei database relazionali o RDBMS (Relational Database Management System). Scopri di più su Impala e Amazon EMR.

Hue è un'interfaccia utente open source per Hadoop che semplifica l'esecuzione e lo sviluppo di query in Hive, la gestione dei file in HDFS, l'esecuzione e lo sviluppo di script in Pig e la gestione delle tabelle. Hue in Amazon EMR si integra inoltre con Amazon S3, in modo da inoltrarvi le query in modo diretto e trasferire file tra HDFS e Amazon S3 con la massima semplicità. Scopri di più su Hue e Amazon EMR.

Presto è un motore di query SQL open source distribuito per l'analisi di dati ad hoc a bassa latenza. Supporta lo standard SQL ANSI, incluse query complesse, aggregazioni, join e funzioni finestra. Presto è in grado di elaborare dati da una moltitudine di sorgenti, incluso il file system distribuito Hadoop (HDFS) e Amazon S3. Scopri di più su Presto e su come utilizzarlo in Amazon EMR.

Zeppelin è un'interfaccia grafica open source che crea notebook interattivi e collaborativi per la visualizzazione di dati mediante Spark. Per manipolare i dati e visualizzare rapidamente i risultati, è possibile usare Scala, Python, SQL (tramite Spark SQL) o HiveQL. I notebook di Zeppelin possono essere condivisi tra diversi utenti, mentre le visualizzazioni possono essere pubblicate in pannelli di controllo esterni. Scopri di più su Zeppelin e Amazon EMR.

Oozie è un sistema di pianificazione dei flussi di lavoro per Hadoop con cui è possibile creare grafi aciclici diretti o DAG (Directed Acyclic Graphs) di azioni. Inoltre consente di attivare i flussi di lavoro di Hadoop in base ad azioni o tempi predefiniti. Scopri di più su Oozie e Amazon EMR.

Tez è un framework di esecuzione per Hadoop YARN che offre prestazioni elevate tramite piani di query e gestione risorse ottimizzati. Tez può essere impiegato con Apache Hive e Apache Pig invece che con Hadoop MapReduce, ed è possibile visualizzare i piani di esecuzione tramite l'interfaccia. Scopri di più su Tez e Amazon EMR.

Flink Supporta semantica di eventi temporali per eventi di esaurimento, semantica di elaborazione singola, controlli di congestione e API ottimizzate per la scrittura con applicazioni in streaming e in batch. Scopri di più su Flink e Amazon EMR.

Altre applicazioni: Amazon EMR supporta inoltre una serie di strumenti e applicazioni molto comuni quali R, Apache MXNet (apprendimento profondo), Mahout (apprendimento automatico), Ganglia (monitoraggio), Accumulo (database NoSQL protetti), Sqoop (connettore di database relazionali), HCatalog (gestione di tabelle e storage) e molti altri. Il team di Amazon EMR conserva un repository open source di operazioni di bootstrap che può essere usato per installare software aggiuntivi, configurare il cluster o semplicemente da prendere da esempio per scrivere le proprie operazioni di bootstrap. 

Funzionalità aggiuntive

Personalizzazione del cluster: è possibile scegliere quali tipi di istanza EC2 usare in un cluster (standard, memoria extra, CPU extra, I/O extra, ecc.) È possibile accedere in root a qualsiasi istanza, personalizzando il cluster secondo esigenze specifiche. Scopri di più sui tipi di istanze Amazon EC2 supportati.

Debug delle applicazioni: quando si sceglie di eseguire il debug di un cluster, Amazon EMR archivia i file di log in Amazon S3 e li indicizza. È poi possibile esplorare i log e visualizzare la cronologia delle attività in un secondo momento tramite un'interfaccia grafica intuitiva. Scopri di più sul debug di processi di Amazon EMR.

Monitoraggio del cluster: è possibile usare Amazon CloudWatch per monitorare 23 parametri personalizzati di Amazon EMR, ad esempio il numero medio di attività di mappatura e riduzione. Sarà anche possibile assegnare allarmi ai parametri. Scopri di più sul monitoraggio di cluster Amazon EMR.

Risposta ad eventi: è possibile usare i tipi di evento correlati ad Amazon EMR in Amazon CloudWatch Events per rispondere a modifiche di stato di cluster Amazon EMR. Utilizzando regole semplici e rapide da impostare, sarà possibile creare corrispondenze tra eventi e instradarli in argomenti Amazon SNS, funzioni AWS Lambda, code Amazon SQS e non solo. Scopri di più sugli eventi di cluster Amazon EMR.

Pianificazione di flussi di lavoro ricorrenti: con AWS Data Pipeline, è possibile pianificare i flussi di lavoro ricorrenti che si avvalgono di Amazon EMR. AWS Data Pipeline è un servizio Web che consente di elaborare e trasferire dati tra più servizi di elaborazione e storage AWS e origini dati locali, a specifici intervalli di tempo e con la massima affidabilità. Scopri di più su Amazon EMR e Data Pipeline.

Cascading: Cascading è una libreria Java open source che API di query, un sistema di pianificazione per query e un sistema di pianificazione di processi per la creazione e l'esecuzione di applicazioni Hadoop MapReduce. Le applicazioni sviluppate con Cascading sono compilate e predisposte per l'installazione automatica in file JAR compatibili con Hadoop simili a quelli di applicazioni Hadoop native. Scopri di più su Cascading e Amazon EMR.

Apprendimento profondo: è possibile usare i framework di apprendimento profondo più noti, ad esempio Apache MXNet, per definire, addestrare e distribuire reti neurali profonde. Sarà possibile avvalersi di questi framework su cluster Amazon EMR con istanze GPU. Scopri di più su MXNet per Amazon EMR.

Controllo degli accessi di rete al cluster: è possibile avviare un cluster in un cloud privato virtuale di Amazon VPC, una sezione logicamente isolata del cloud AWS. Sarà possibile disporre del completo controllo sul proprio ambiente virtuale di rete, incluse la selezione dell'intervallo di indirizzi IP, la creazione di sottoreti e la configurazione di tabelle di routing e di gateway di rete. Scopri di più su Amazon EMR e Amazon VPC.

Gestione di utenti, autorizzazioni e crittografia: è possibile utilizzare gli strumenti di AWS Identity and Access Management (IAM), tra cui ruoli e utenti IAM, per tenere sotto controllo accessi e autorizzazioni. Ad esempio, è possibile autorizzare un determinato utente ad accedere in lettura ma non in scrittura ai cluster. Inoltre, è possibile usare le configurazioni di sicurezza di Amazon EMR per impostare le opzioni di crittografia su dati inattivi o in transito, con supporto per la crittografia di Amazon S3 e l'autenticazione di Kerberos. Scopri di più su controllo degli accessi al cluster e opzioni di crittografia di Amazon EMR.

Installazione di software aggiuntivo: è possibile utilizzare le operazioni di bootstrap o un'AMI di Amazon Linux per installare software aggiuntivo sul cluster. Le operazioni bootstrap sono script eseguiti sui nodi del cluster in cui Amazon EMR avvia il cluster stesso. Vengono eseguiti prima dell'avvio di Hadoop e prima che il nodo avvii l'elaborazione dei dati. Inoltre, è possibile precaricare e utilizzare software su AMI Amazon Linux personalizzate. Scopri di più su operazioni di bootstrap di Amazon EMR e AMI Amazon Linux personalizzate.

Copia efficiente dei dati: è possibile trasferire elevati volumi di dati tra Amazon S3 e HDFS oppure tra i bucket di Amazon S3 utilizzando S3DistCp, un'estensione dello strumento open source Distcp di Amazon EMR, che utilizza MapReduce. Scopri di più su S3DistCp.

Hadoop Streaming: Streaming è un'utilità inclusa in Hadoop che consente di sviluppare file eseguibili di MapReduce in sintassi diverse da Java. Streaming viene implementata sotto forma di file JAR. Scopri di più su Hadoop Streaming con Amazon EMR.

JAR personalizzati: è possibile scrivere un programma in Java, compilarlo secondo la versione di Hadoop in uso e caricarlo in Amazon S3. È possibile inviare processi di Hadoop al cluster mediante l'interfaccia JobClient di Hadoop. Scopri di più sull'elaborazione di JAR personalizzati con Amazon EMR.

Strumenti di terze parti

Amazon EMR può essere usato con un'ampia gamma di strumenti software di terze parti:

Trasferimento dati
Monitoraggio
Ottimizzazione delle prestazioni
IDE grafico
Distribuzioni Hadoop
Business intelligence e visualizzazione
Business Intelligence
Esplorazione dati
Tableau_logo
Business intelligence e visualizzazione
logo-talend-400
IDE grafico
200x100_Jaspersoft_Logo
Business intelligence e visualizzazione

Ulteriori informazioni sui prezzi di Amazon EMR

Visita la pagina dei prezzi
Tutto pronto per cominciare?
Inizia a usare Amazon EMR
Hai altre domande?
Contattaci