Passa al contenuto principale

Apache Spark e Hadoop: collaborazione

Data Intelligence Platforms

Pubblicato: January 21, 2014

Soluzioni3 min di lettura

Spesso ci viene chiesto come Apache Spark si inserisce nell'ecosistema Hadoop e come sia possibile eseguire Spark su un cluster Hadoop esistente. Questo blog si propone di rispondere a queste domande.

Innanzitutto, Spark è progettato per potenziare, non sostituire, lo stack Hadoop. Fin dall'inizio, Spark è stato progettato per leggere e scrivere dati da e verso HDFS, così come altri sistemi di archiviazione, come HBase e S3 di Amazon. In questo modo, gli utenti di Hadoop possono arricchire le loro capacità di elaborazione combinando Spark con Hadoop MapReduce, HBase e altri framework per big data.

In secondo luogo, ci siamo costantemente concentrati sul rendere il più semplice possibile per ogni utente Hadoop sfruttare le funzionalità di Spark. Indipendentemente dal fatto che si utilizzi Hadoop 1.x o Hadoop 2.0 (YARN) e che si disponga o meno dei privilegi amministrativi per configurare il cluster Hadoop, esiste un modo per eseguire Spark! In particolare, esistono tre modi per implementare Spark in un cluster Hadoop: standalone, YARN e SIMR.

Distribuzione standalone: con la distribuzione standalone è possibile allocare staticamente le risorse su tutte o su un sottoinsieme di macchine in un cluster Hadoop ed eseguire Spark parallelamente a Hadoop MR. L'utente può quindi eseguire job Spark arbitrari sui propri dati HDFS. La sua semplicità la rende l'implementazione preferita per molti utenti di Hadoop 1.x.

Implementazionedi Hadoop Yarn: gli utenti di Hadoop che hanno già implementato o pianificano di implementare Hadoop Yarn possono semplicemente eseguire Spark su YARN senza alcuna preinstallazione o accesso amministrativo. Ciò consente agli utenti di integrare facilmente Spark nel proprio stack Hadoop e di sfruttare tutta la potenza di Spark, così come di altri componenti eseguiti su Spark.

Spark In MapReduce (SIMR): per gli utenti Hadoop che non utilizzano ancora YARN, un'altra opzione, oltre all'implementazione standalone, è quella di utilizzare SIMR per avviare i job Spark all'interno di MapReduce. Con SIMR, gli utenti possono iniziare a sperimentare con Spark e a utilizzare la sua shell pochi minuti dopo averlo scaricato! Questo abbassa notevolmente la barriera per la distribuzione e consente praticamente a chiunque di sperimentare con Spark.

Interoperabilità con altri sistemi

Spark interopera non solo con Hadoop, ma anche con altre popolari tecnologie per i big data.

  • Apache Hive: tramite Shark, Spark consente agli utenti di Apache Hive di eseguire le loro query non modificate molto più velocemente. Hive è una popolare soluzione di data warehouse in esecuzione su Hadoop, mentre Shark è un sistema che consente al framework Hive di essere eseguito su Spark anziché su Hadoop. Di conseguenza, Shark può accelerare le query di Hive fino a 100x quando i dati di input rientrano nella memoria e fino a 10x quando i dati di input sono archiviati su disco.
  • AWS EC2: gli utenti possono eseguire facilmente Spark (e Shark) su EC2 di Amazon utilizzando gli script forniti con Spark o le versioni ospitate di Spark e Shark su Elastic MapReduce di Amazon.
  • Apache Mesos: Spark viene eseguito su Mesos, un sistema di gestione di cluster che fornisce un isolamento efficiente delle risorse tra applicazioni distribuite, incluse MPI e Hadoop. Mesos consente la condivisione a grana fine, che permette a un Job di Spark di sfruttare dinamicamente le risorse inattive nel cluster durante la sua esecuzione. Questo porta a notevoli miglioramenti delle prestazioni, specialmente per i job di Spark a lunga esecuzione.

 

(Questo post sul blog è stato tradotto utilizzando strumenti basati sull'intelligenza artificiale) Post originale

Non perdere mai un post di Databricks

Iscriviti al nostro blog e ricevi gli ultimi post direttamente nella tua casella di posta elettronica.

Cosa succederà adesso?

Apache Iceberg V3 features

Código aberto

June 2, 2025/6 min de leitura

Iceberg v3: Movendo o Ecossistema em Direção à Unificação

PySpark UDF Unified Profiling

Código aberto

June 9, 2025/5 min de leitura

Plotagem Nativa PySpark