Apache Spark con Hadoop: perché è importante?

L'implementazione di Apache Spark con Hadoop su larga scala da parte delle migliori aziende indica il suo successo e il suo potenziale quando si tratta di elaborazione in tempo reale.



Hadoop, il framework di elaborazione dati che è diventato una piattaforma a sé stante, diventa ancora migliore quando ad esso sono collegati buoni componenti. Alcuni difetti di Hadoop, come il componente MapReduce di Hadoop, hanno la reputazione di essere lenti per l'analisi dei dati in tempo reale.



Entra in Apache Spark, un motore di elaborazione dati basato su Hadoop progettato per carichi di lavoro sia in batch che in streaming, ora nella sua versione 1.0 e dotato di funzionalità che esemplificano il tipo di lavoro che Hadoop viene spinto a includere. Spark viene eseguito sui cluster Hadoop esistenti per fornire funzionalità avanzate e aggiuntive.

Diamo un'occhiata alle funzionalità chiave di Spark e a come funziona insieme a Hadoop e .



Vantaggi principali di Apache Spark:

img2-R

Le fantastiche funzionalità di Spark:

  • Integrazione Hadoop - Spark può lavorare con i file archiviati in HDFS.
  • Shell interattiva di Spark - Spark è scritto in Scala e ha la sua versione dell'interprete Scala.
  • Spark's Analytic Suite - Spark viene fornito con strumenti per l'analisi interattiva delle query, l'elaborazione e l'analisi di grafici su larga scala e l'analisi in tempo reale.
  • Set di dati distribuiti resilienti (RDD) - Gli RDD sono oggetti distribuiti che possono essere memorizzati nella cache in memoria, attraverso un cluster di nodi di calcolo. Sono gli oggetti dati primari utilizzati in Spark.
  • Operatori distribuiti - Oltre a MapReduce, ci sono molti altri operatori che è possibile utilizzare su RDD.

Vantaggi dell'utilizzo di Apache Spark con Hadoop:

unire il codice sorgente c ++ di ordinamento
  • Apache Spark si inserisce nella comunità open source di Hadoop, basandosi sull'Hadoop Distributed File System (HDFS). Tuttavia, Spark non è legato al paradigma MapReduce in due fasi e promette prestazioni fino a 100 volte più veloci di Hadoop MapReduce per alcune applicazioni.



  • Adatto ad algoritmi di machine learning - Spark fornisce primitive per il cluster computing in memoria che consente ai programmi utente di caricare i dati nella memoria di un cluster e interrogarli ripetutamente.

  • Corri 100 volte più veloce - Spark, il software di analisi può anche velocizzare i lavori eseguiti sulla piattaforma di elaborazione dati Hadoop. Soprannominato il 'coltellino svizzero Hadoop', Apache Spark offre la capacità di creare lavori di analisi dei dati che possono essere eseguiti 100 volte più velocemente di quelli eseguiti sullo standard Apache Hadoop MapReduce. MapReduce è stato ampiamente criticato come un collo di bottiglia nei cluster Hadoop perché esegue lavori in modalità batch, il che significa che l'analisi in tempo reale dei dati non è possibile.

  • Alternativa a MapReduce - Spark fornisce un'alternativa a MapReduce. Esegue lavori in brevi sequenze di micro-batch distanti cinque secondi o meno. Fornisce inoltre maggiore stabilità rispetto ai framework Hadoop orientati al flusso in tempo reale come Twitter Storm. Il software può essere utilizzato per una varietà di lavori, come un'analisi continua di dati in tempo reale e, grazie a una libreria software, lavori più approfonditi dal punto di vista computazionale che coinvolgono l'apprendimento automatico e l'elaborazione di grafici.

  • Supporto per più lingue - Utilizzando Spark, gli sviluppatori possono scrivere lavori di analisi dei dati in Java, Scala o Python, utilizzando un set di oltre 80 operatori di alto livello.

  • Supporto per le biblioteche - Le librerie di Spark sono progettate per integrare i tipi di lavori di elaborazione esplorati in modo più aggressivo con le ultime distribuzioni di Hadoop supportate commercialmente. MLlib implementa una serie di algoritmi di machine learning comuni, come la classificazione bayesiana ingenua o il clustering Spark Streaming consente l'elaborazione ad alta velocità dei dati acquisiti da più sorgenti e GraphX ​​consente calcoli sui dati del grafico.

  • API stabile - Con la versione 1.0, Apache Spark offre un'API stabile (interfaccia di programmazione dell'applicazione), che gli sviluppatori possono utilizzare per interagire con Spark attraverso le proprie applicazioni. Ciò aiuta a utilizzare Storm più facilmente nella distribuzione basata su Hadoop.

  • Componente SQL SPARK - Componente Spark SQL per l'accesso ai dati strutturati, consente di interrogare i dati insieme ai dati non strutturati nel lavoro di analisi. Spark SQL, che al momento è solo in versione alpha, consente di eseguire query di tipo SQL sui dati archiviati in Apache Hive. L'estrazione di dati da Hadoop tramite query SQL è un'altra variante della funzionalità di query in tempo reale che si sviluppa intorno a Hadoop.

  • Compatibilità di Apache Spark con Hadoop [HDFS, HBASE e YARN] - Apache Spark è completamente compatibile con il Distributed File System (HDFS) di Hadoop, così come con altri componenti Hadoop come YARN (Yet Another Resource Negotiator) e il database distribuito HBase.

    java cosa sono le variabili di istanza

Adottatori del settore:

Le società IT come Cloudera, Pivotal, IBM, Intel e MapR hanno tutte ripiegato Spark nei loro stack Hadoop. Databricks, una società fondata da alcuni degli sviluppatori di Spark, offre supporto commerciale per il software. Sia Yahoo che la NASA, tra gli altri, utilizzano il software per le operazioni quotidiane sui dati.

Conclusione:

Ciò che Spark ha da offrire è destinato ad essere una grande attrazione sia per gli utenti che per i fornitori commerciali di Hadoop. Gli utenti che stanno cercando di implementare Hadoop e che hanno già costruito molti dei loro sistemi di analisi su Hadoop sono attratti dall'idea di poter utilizzare Hadoop come sistema di elaborazione in tempo reale.

print_r ()

Spark 1.0 fornisce loro un'altra varietà di funzionalità per supportare o creare elementi proprietari. In effetti, uno dei tre grandi fornitori di Hadoop, Cloudera, ha già fornito supporto commerciale per Spark tramite la sua offerta Cloudera Enterprise. Hortonworks offre anche Spark come componente della sua distribuzione Hadoop. L'implementazione di Spark su larga scala da parte delle migliori aziende indica il suo successo e il suo potenziale quando si tratta di elaborazione in tempo reale.

Hai domande per noi? Menzionateli nella sezione commenti e vi risponderemo.

Post correlati: