Introduzione all'architettura Apache Spark

Questo articolo definisce i concetti di Apache Spark Architecture e dei suoi componenti. È considerato un'elaborazione dei dati di livello massimo su Apache Software Foundation. Spark è in definitiva considerata un'altra possibilità per Hadoop e Map Reduce.

Spark è un'architettura open source con componenti ben definiti che aiutano ad analizzare una grande mole di dati e funzionano per il calcolo distribuito. Spark è scritto in Scala con funzionalità abilitate come API, R e ha arricchito un set di librerie che semplifica l'elaborazione dei dati. Apache Spark ha il suo calcolo del cluster individuale per un'accessibilità più rapida e viene eseguito su piattaforme diverse.

Apache Spark ha una vasta gamma di funzioni come il processo in-memory più veloce, si adatta a più linguaggi di programmazione, ha migliorato le tecniche di memorizzazione nella cache e supporta query SQL, Machine learning. Funziona su piattaforme come i sistemi operativi Microsoft Windows e Linux. La loro distribuzione afferma che potrebbero essere eseguiti anche su una singola macchina e modalità cluster.

Apache Spark Architecture

La scintilla di Architecture of Apache ha componenti liberamente accoppiati. Spark considera il processo master / worker nell'architettura e tutte le attività funzionano in cima al file system distribuito di Hadoop. Apache spark utilizza Hadoop per i processi di elaborazione e archiviazione dei dati. Sono considerati un motore di elaborazione dei dati in memoria e rendono le loro applicazioni in esecuzione sui cluster Hadoop più veloci di una memoria. L'elaborazione in memoria impedisce l'errore di I / O del disco. Spark consente al lavoro eterogeneo di lavorare con gli stessi dati. Spark divide i suoi dati in partizioni, la dimensione delle partizioni divise dipende dalla data origine dati.

Di seguito sono riportate le due principali implementazioni di Apache Spark Architecture:

1. Resilient Distributed Dataset (RDD)

È responsabile della fornitura dell'API per il controllo della memorizzazione nella cache e del partizionamento. È un set di strumenti importante per il calcolo dei dati. Aiuta a ricalcolare gli elementi in caso di guasti e sono considerati dati immutabili e funge da interfaccia. Trasformazioni e azioni sono le due operazioni eseguite da RDD.

2. Grafico aciclico diretto (DAG)

Forma una connessione in sequenza da un nodo all'altro. Il driver converte il programma in DAG per ogni lavoro. L'ecosistema Apache Spark ha vari componenti come API core, Spark SQL, Streaming ed elaborazione in tempo reale, MLIB e Graph X. Alcune terminologie da apprendere qui sono la shell Spark che aiuta a leggere grandi volumi di dati, il contesto Spark - annulla, esegui un lavoro, attività (un'opera), lavoro (calcolo)

Componenti di Apache Spark Architecture

I quattro componenti principali di Spark sono riportati di seguito ed è necessario capirli per il quadro completo.

  1. Spark Driver
  2. esecutori
  3. Gestione cluster
  4. Nodi di lavoro

Il diagramma seguente mostra l'architettura e i componenti di spark:

Fig: Modalità autonoma di Apache Spark Architecture

Il flusso di esecuzione inizia come segue:

1. Spark Driver

La responsabilità del conducente è di coordinare i compiti e i lavoratori per la gestione. È un processo JVM dell'applicazione ed è considerato un nodo principale. Un driver divide la scintilla in attività e pianificazioni da eseguire sugli esecutori nei cluster. Nel diagramma, i programmi del driver invocano l'applicazione principale e creano un contesto spark (funge da gateway) monitorano collettivamente il lavoro che lavora all'interno del cluster dato e si connettono a un cluster Spark Tutte le funzionalità e i comandi vengono eseguiti attraverso il contesto spark.

Il contesto Spark è una voce per ogni sessione. Il driver Spark ha più componenti per eseguire i lavori nei cluster. I cluster di scintille si collegano a diversi tipi di gestori di cluster e contemporaneamente il contesto acquisisce i nodi di lavoro per eseguire e archiviare i dati. Nel cluster, quando eseguiamo il processo, il loro lavoro viene suddiviso in fasi con fasi di guadagno in attività pianificate.

2. Esecutore

È responsabile dell'esecuzione di un lavoro e memorizza i dati in una cache. Nella fase iniziale, gli esecutori si registrano con i driver. Questo esecutore ha una serie di intervalli di tempo per eseguire contemporaneamente l'applicazione. Gli esecutori eseguono il processo di lettura / scrittura su fonti esterne. L'esecutore esegue il lavoro quando ha caricato i dati e questi sono stati rimossi in modalità inattiva. L'esecutore è abilitato dall'allocazione dinamica e sono costantemente inclusi ed esclusi a seconda della durata. Durante l'esecuzione delle attività, gli esecutori sono monitorati da un programma del driver. Gli esecutori eseguono l'attività degli utenti nel processo java.

3. Gestione cluster

Aiuta a gestire i cluster che hanno un padrone e un numero di schiavi. Esistono due tipi di gestori di cluster come YARN e autonomi, entrambi gestiti da Resource Manager e Node. il lavoro in cluster su autonomo richiede Spark Master e nodo di lavoro come ruoli. La responsabilità del gestore cluster è di allocare risorse ed eseguire l'attività,

4. Nodi di lavoro

Sono i nodi slave; la responsabilità principale è quella di eseguire i compiti e il loro output viene restituito al contesto spark. Comunicano con il nodo principale sulla disponibilità delle risorse. Il contesto Spark lo esegue e genera problemi nei nodi di lavoro. A ciascun nodo worker è stato assegnato un utente spark per il monitoraggio. Effettuano il calcolo in modo molto semplice aumentando i nodi di lavoro (da 1 a n di lavoratori) in modo che tutte le attività vengano eseguite in parallelo dividendo il lavoro in partizioni su più sistemi. L'altra attività elemento è considerata un'unità di lavoro e assegnata a un esecutore, per ogni scintilla di partizione esegue un'attività.

Conclusione

Pertanto, comprendendo Apache Spark Architecture, significa come implementare i big data in modo semplice. In definitiva, abbiamo imparato la loro accessibilità e i ruoli dei loro componenti, il che è molto vantaggioso per il cluster computing e la tecnologia dei big data. Spark calcola i risultati desiderati in modo più semplice e preferisce l'elaborazione in batch.

Le caratteristiche distintive di Spark come set di dati e frame di dati aiutano a ottimizzare il codice degli utenti. Una funzionalità importante come il motore SQL promuove la velocità di esecuzione e rende questo software versatile. Pertanto, abbiamo visto le applicazioni spark eseguite in locale o distribuite in un cluster. Apache Spark è considerato un ottimo complemento in una vasta gamma di settori come i big data. Per riassumere, spark aiuta a risolvere compiti di calcolo elevati.

Articoli consigliati

Questa è una guida per Apache Spark Architecture. Qui discutiamo l'introduzione di Apache Spark Architecture insieme ai componenti e al diagramma a blocchi di Apache Spark. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più–

  1. Comandi Spark Shell
  2. Apache Hadoop Ecosystem
  3. Architettura dei big data
  4. Che cos'è Apache

Categoria: