Apache Spark in Amazon EMR
Perché scegliere Apache Spark su EMR?
Amazon EMR permette di creare data lake aperti e transazionali con Apache Spark e Apache Iceberg. Il runtime ottimizzato per le prestazioni è compatibile al 100% a livello API con Spark, eseguendo carichi di lavoro fino a 4,5 volte più velocemente rispetto ad altre soluzioni open source analoghe, e offre prestazioni di scrittura con Iceberg 2,7 volte più veloci.
EMR supporta Apache Iceberg v3 e Spark 4.0 (anteprima), permettendo di utilizzare funzionalità come transazioni ACID ed evoluzione dello schema insieme a caratteristiche come il tipo di dato VARIANT o i dati semistrutturati su larga scala e la conformità allo standard ANSI SQL per garantire l'integrità dei dati. Amazon EMR offre velocità, affidabilità e integrità dei dati per il controllo granulare di EC2, la scalabilità con container di EKS (Elastic Kubernetes Service) o la gestione semplificata di EMR serverless.
Funzionalità e vantaggi
Il runtime Apache Spark ottimizzato per le prestazioni di Amazon EMR accelera i carichi di lavoro dei data lake eseguendo operazioni fino a 4,5 volte più velocemente rispetto ad altre soluzioni open source analoghe e continuando a essere compatibile al 100% a livello di API. Questa ottimizzazione si estende alle operazioni di Apache Iceberg, con prestazioni di scrittura 2,7 volte più veloci per data lake transazionali che richiedono velocità e affidabilità.
Con il supporto per Apache Iceberg v3 e Spark 4.0 (anteprima), EMR garantisce funzionalità avanzate tra cui transazioni ACID, evoluzione dello schema, tipo di dati VARIANT per l'elaborazione di dati semistrutturati e conformità allo standard ANSI SQL.
Il runtime Amazon EMR per Spark ottimizza i piani di query per eseguirli interamente in memoria, massimizzando l'utilizzo dell'hardware. EMR semplifica la gestione dei dati intermedi per ridurre il tempo necessario per ottenere risultati con carichi di lavoro relativi al machine learning più intensi in termini di risorse, permettendo un'iterazione più veloce.
Modernizza il flusso di lavoro con SageMaker Unified Studio ed EMR Studio, che forniscono ambienti integrati per SQL, Python e Scala. Utilizza Amazon Q Developer per generare un codice PySpark ottimizzato e risolvere i problemi relativi ai piani di esecuzione complessi (DAG) in tempo reale. A differenza di Spark standard, EMR fornisce un'interfaccia utente Spark persistente, che permette di analizzare ed eseguire il debug dei log delle operazioni anche dopo la chiusura delle applicazioni serverless o dei cluster temporanei. Questa persistenza è fondamentale per le attività di auditing e l'ottimizzazione continua delle prestazioni negli ambienti di produzione.
EMR serverless elimina la complessità operativa offrendo un'esperienza notebook immediatamente disponibile. Non è più necessario scalare o gestire i cluster, oppure effettuarne il provisioning. Collega l'ambiente di sviluppo che preferisci, come Amazon SageMaker Unified Studio o JupyterLab, a un'applicazione EMR serverless e inizia a eseguire le query. Il runtime EMR per Spark garantisce che il codice interattivo offra le stesse prestazioni di livello aziendale in termini di velocità delle pipeline di produzione. Amazon EMR fornisce un ambiente ottimizzato ad alte prestazioni per accelerare i flussi di lavoro di data science più importanti, sia in caso di rilevamento ad-hoc su petabyte di dati S3 sia in caso di attività di ingegneria delle caratteristiche complesse.
L'agente di aggiornamento Apache Spark identifica automaticamente le modifiche delle API e le variazioni comportamentali nelle applicazioni PySpark e Scala. Gli ingegneri possono avviare gli aggiornamenti direttamente da SageMaker Unified Studio o dall'IDE di loro scelta servendosi della compatibilità MCP (Model Context Protocol). Durante il processo di aggiornamento, l'agente analizza il codice esistente e suggerisce modifiche specifiche: in questo modo, gli ingegneri possono esaminarlo e approvarlo prima dell'implementazione. L'agente convalida la correttezza funzionale tramite convalide della qualità dei dati. L'agente attualmente supporta gli aggiornamenti di Spark delle versioni da 2.4 a 3.5 e mantiene l'accuratezza nell'elaborazione dati durante l'intero processo di aggiornamento.
Casi d'uso
Acquisisci ed elabora dati in tempo reale da Amazon Kinesis, Apache Kafka o altri flussi di dati con Spark Streaming in EMR. Esegui analisi di flussi con tolleranza ai guasti e salvataggio dei risultati in S3 o HDFS su cluster.
Apache Spark in EMR include MLlib, che offre una serie di algoritmi scalabili di machine learning; in alternativa, potrai impiegare librerie personalizzate. Salvando i set di dati in memoria durante i processi, Spark ottiene prestazioni di alto livello per le query iterative, comuni nei carichi di lavoro di machine learning. Puoi migliorare le funzionalità di Amazon SageMaker collegando l'istanza del notebook a un cluster Apache Spark in esecuzione in Amazon EMR, con Amazon SageMaker Spark per formare facilmente modelli di addestramento e di hosting.
Utilizza Spark SQL per query interattive a bassa latenza con SQL o HiveQL. Spark in EMR sfrutta EMRFS per offrire accesso ad hoc ai set di dati in S3. Sarà inoltre possibile utilizzare EMR Studio, notebook EMR, notebook Zeppelin o gli strumenti di business intelligence tramite connessioni ODBC e JDBC.
Testimonianze dei clienti
Yelp
Il team di Yelp che si occupa di individuare i destinatari delle inserzioni crea modelli predittivi per determinare le probabilità che un utente interagisca con un'inserzione. Utilizzando Apache Spark in Amazon EMR per elaborare grandi quantità di dati e addestrare modelli di machine learning, Yelp ha aumentato i guadagni e la frequenza di clic delle proprie inserzioni.
The Washington Post
Il Washington post utilizza Apache Spark in Amazon EMR per creare modelli che ottimizzano il motore di raccomandazione del sito Web e migliorare il coinvolgimento e la soddisfazione dei lettori. Il quotidiano sfrutta la connettività efficiente di Amazon EMR con Amazon S3 per aggiornare i modelli quasi in tempo reale.
Krux
Krux impiega diversi carichi di lavoro di machine learning e generiche attività di elaborazione tramite Apache Spark per la propria piattaforma di gestione dei dati in cui l'utente cerca approfondimenti. Per risparmiare sui costi, Krux utilizza cluster Amazon EMR temporanei con capacità spot di Amazon EC2, nonché Amazon S3 con EMRFS come livello di dati per Apache Spark.
GumGum
GumGum, una piattaforma pubblicitaria di annunci illustrati e pop-up, utilizza Spark in Amazon EMR per eseguire previsioni di inventario, elaborare log di clickstream e completare analisi puntuali di dati non strutturati in Amazon S3. I miglioramenti apportati alle prestazioni da Spark ha consentito a GumGum di risparmiare tempo e denaro nei propri flussi di lavoro.
Hearst Corporation
Hearst Corporation è una grande società che opera in modo diversificato nel settore multimediale e dell'informazione con clienti che visualizzano i suoi contenuti in oltre 200 siti Web di proprietà. Grazie ad Apache Spark Streaming in Amazon EMR, la redazione di Hearst è in grado di monitorare in tempo reale la popolarità di specifici articoli e temi.
CrowdStrike
CrowdStrike fornisce protezione dagli attacchi informatici per endpoint. Utilizza Amazon EMR con Spark per elaborare centinaia di terabyte di dati di eventi e riassumerli in descrizioni comportamentali di alto livello sugli host. A partire da quei dati, CrowdStrike è in grado di analizzarne l'evento e identificare la presenza di attività pericolose.