Cosa sono i core e gli esecutori in spark?

Chiesto da: Dancho Lazaga | Ultimo aggiornamento: 12 aprile 2020
Categoria: tecnologia e informatica archiviazione e stoccaggio dei dati
3.9/5 (1.774 Visualizzazioni . 34 Voti)
Core : un core è un'unità di calcolo di base della CPU e una CPU può avere uno o più core per eseguire attività in un determinato momento. Più core abbiamo, più lavoro possiamo fare. In spark , controlla il numero di attività parallele che un executor può eseguire.

Oltre a questo, cosa sono gli esecutori in spark?

Gli esecutori sono processi dei nodi di lavoro incaricati di eseguire singole attività in un determinato lavoro Spark . Vengono avviati all'inizio di un'applicazione Spark e in genere vengono eseguiti per l'intera durata di un'applicazione. Una volta eseguita l'attività, inviano i risultati al conducente.

Inoltre, cos'è un nucleo scintilla? Spark Core è l'unità fondamentale dell'intero progetto Spark . Fornisce tutti i tipi di funzionalità come l'invio di attività, la pianificazione e le operazioni di input-output, ecc. Spark utilizza una struttura di dati speciale nota come RDD (Resilient Distributed Dataset). È la sede dell'API che definisce e manipola gli RDD.

Quindi, come si sceglie il numero di esecutori in spark?

Numero di executor disponibili = (totale core/num-core-per- executor ) = 150/5 = 30. Lasciando 1 executor per ApplicationManager => --num- executor = 29. Numero di executor per nodo = 30/10 = 3 Memoria per esecutore = 64 GB/3 = 21 GB.

A cosa serve la memoria dell'esecutore del filato scintillante?

Il valore della scintilla . filato . esecutore . Proprietà memoryOverhead viene aggiunto alla memoria esecutore per determinare la richiesta di memoria piena di filato per ciascun esecutore.

30 risposte alle domande correlate trovate

Qual è la memoria dell'executor spark predefinita?

In Spark, le esecutore - controlli bandiera memoria le dimensioni esecutore mucchio (analogamente per filati e Slurm), il valore di default è 512 per esecutore.

Che cos'è la memoria executor in spark?

Ogni applicazione spark avrà un executor su ogni nodo di lavoro. La memoria dell'executor è fondamentalmente una misura di quanta memoria del nodo di lavoro utilizzerà l'applicazione.

Cosa succede quando l'executor fallisce in spark?

Fallimento del nodo dei lavoratori - Il nodo che gestisce il codice dell'applicazione sul cluster Spark è il nodo dei lavoratori Spark. Qualsiasi nodo di lavoro che esegue l' executor può fallire , con conseguente perdita di memoria. Se alcuni ricevitori erano in esecuzione su nodi falliti , i loro dati del buffer andranno persi.

Come si regola un lavoro scintilla?

Le sezioni seguenti descrivono le ottimizzazioni e i consigli comuni dei processi Spark.
  1. Scegli l'astrazione dei dati.
  2. Usa il formato dati ottimale.
  3. Seleziona lo spazio di archiviazione predefinito.
  4. Usa la cache.
  5. Usa la memoria in modo efficiente.
  6. Ottimizza la serializzazione dei dati.
  7. Usa il secchio.
  8. Ottimizza join e shuffle.

Come posso impostare la memoria del driver e dell'esecutore in spark?

Puoi farlo in uno dei seguenti modi:
  1. impostandolo nel file delle proprietà (il valore predefinito è $SPARK_HOME/conf/spark-defaults.conf ), spark.driver.memory 5g.
  2. o fornendo l'impostazione di configurazione in fase di esecuzione $ ./bin/spark-shell --driver-memory 5g.

Che cosa sono NUM esecutori in spark?

Il --num - executors definisce il numero di executor , che in realtà definisce il numero totale di applicazioni che verranno eseguite. È possibile specificare le - -cores esecutore, che definisce il numero di core CPU sono disponibili per ogni esecutore / applicazione.

Come posso eseguire spark in modalità locale?

In modalità locale , i lavori spark vengono eseguiti su una singola macchina e vengono eseguiti in parallelo utilizzando il multi-threading: questo limita il parallelismo (al massimo) al numero di core nella macchina. Per eseguire i lavori in modalità locale , è necessario prima prenotare una macchina tramite SLURM in modalità interattiva e accedere ad essa.

Che cos'è la partizione RDD?

Resilient Distributed Datasets ( RDD ) è una raccolta distribuita semplice e immutabile di oggetti. Ogni RDD è suddiviso in più partizioni che possono essere calcolate su diversi nodi del cluster. In Spark, ogni funzione viene eseguita solo su RDD .

Come funziona la coalescenza in spark?

coalesce utilizza le partizioni esistenti per ridurre al minimo la quantità di dati che vengono mescolati. repartition crea nuove partizioni ed esegue uno shuffle completo. coalesce si traduce in partizioni con diverse quantità di dati (a volte partizioni che hanno dimensioni molto diverse) e la ripartizione si traduce in partizioni di dimensioni approssimativamente uguali.

Cosa sono le fasi Spark?

In Apache Spark , uno stage è un'unità fisica di esecuzione. Possiamo dire che è un passo in un piano di esecuzione fisica. È un insieme di attività parallele: un'attività per partizione. In altre parole, ogni lavoro viene diviso in insiemi più piccoli di compiti, è ciò che chiami fasi . Poiché lo stage può funzionare solo sulle partizioni di un singolo RDD.

Che cosa sono le istanze di spark executor?

esecutore . istanze è semplicemente una richiesta. Spark ApplicationMaster per la tua applicazione invierà una richiesta a YARN ResourceManager per numero di contenitori = spark . esecutore . istanze .

Che cos'è la serializzazione spark?

Alcuni fatti su Spark .
Serializzare un oggetto significa convertire il suo stato in un flusso di byte in modo che il flusso di byte possa essere ripristinato in una copia dell'oggetto. Un oggetto Java è serializzabile se la sua classe o una qualsiasi delle sue superclassi implementa java. io. Interfaccia serializzabile o sua sottointerfaccia, java.

In che modo Spark calcola il numero di attività?

2. Cosa determina il numero di attività da eseguire? quindi quando viene calcolato rdd3, spark genererà un'attività per partizione di rdd1 e con l'implementazione dell'azione ogni attività eseguirà sia il filtro che la mappa per riga per ottenere rdd3. Il numero di partizioni determina il numero di attività .

Come funziona il cluster di scintille?

Apache Spark è un motore di calcolo distribuito open source per scopi generici utilizzato per l'elaborazione e l'analisi di una grande quantità di dati. Proprio come Hadoop MapReduce, funziona anche con il sistema per distribuire i dati all'interno del cluster ed elaborare i dati in parallelo. Ogni esecutore è un processo Java separato.

Che cos'è il contesto della scintilla?

Uno SparkContext è un client dell'ambiente di esecuzione di Spark e funge da master dell'applicazione Spark . SparkContext configura servizi interni e stabilisce una connessione a un ambiente di esecuzione Spark .

Quali sono i componenti della scintilla?

Di seguito sono riportati 6 componenti in Apache Spark Ecosystem che abilitano Apache Spark-Spark Core , Spark SQL, Spark Streaming, Spark MLlib, Spark GraphX ​​e SparkR.

Qual è il driver della scintilla?

Lo spark driver è il programma che dichiara le trasformazioni e le azioni sugli RDD dei dati e sottopone tali richieste al master. In pratica, il driver è il programma che crea lo SparkContext, connettendosi a un determinato Spark Master.