15+ Domande e risposte per l'intervista ad Apache Spark 2022

Pubblicato: 2021-01-08

Chiunque abbia familiarità con Apache Spark sa perché sta diventando uno degli strumenti per Big Data più preferiti oggi: consente un calcolo super veloce.

Il fatto che Spark supporti l'elaborazione rapida dei Big Data lo sta facendo diventare un successo con le aziende di tutto il mondo. Dai grandi nomi come Amazon, Alibaba, eBay e Yahoo, alle piccole aziende del settore, Spark ha guadagnato un enorme seguito di fan. Grazie a ciò, le aziende sono continuamente alla ricerca di professionisti qualificati per i Big Data con esperienza di dominio in Spark.

Per tutti coloro che desiderano ottenere lavori relativi a un profilo Big Data (Spark), è necessario prima superare con successo l'intervista Spark. Ecco qualcosa che può avvicinarti di più al tuo obiettivo: le 15 domande più frequenti nell'intervista ad Apache Spark!

  1. Cos'è Scintilla?

Spark è un framework di Big Data open source per il cluster computing che consente l'elaborazione in tempo reale. È un motore di elaborazione dati generico in grado di gestire diversi carichi di lavoro come batch, interattivo, iterativo e streaming. Spark esegue calcoli in memoria che aiutano ad aumentare la velocità di elaborazione dei dati. Può essere eseguito autonomamente, su Hadoop o nel cloud.

  1. Cos'è RDD?

RDD o Resilient Distributed Dataset è la struttura dati principale di Spark. È un'astrazione essenziale in Spark che rappresenta l'input di dati in un formato oggetto. RDD è una raccolta di oggetti immutabili di sola lettura in cui ogni nodo è partizionato in parti più piccole che possono essere calcolate su nodi diversi di un cluster per consentire l'elaborazione dei dati indipendente.

  1. Distinguere tra Apache Spark e Hadoop MapReduce.

I principali fattori di differenziazione tra Apache Spark e Hadoop MapReduce sono:

  • Spark è più facile da programmare e non richiede alcuna astrazione. MapReduce è scritto in Java ed è difficile da programmare. Ha bisogno di astrazioni.
  • Spark ha una modalità interattiva, mentre MapReduce ne è priva. Tuttavia, strumenti come Pig e Hive semplificano il lavoro con MapReduce.
  • Spark consente l'elaborazione batch, lo streaming e l'apprendimento automatico all'interno dello stesso cluster. MapReduce è più adatto per l'elaborazione batch.
  • Spark può modificare i dati in tempo reale tramite Spark Streaming. Non esiste una tale disposizione in tempo reale in MapReduce: puoi elaborare solo un batch di dati archiviati.
  • Spark facilita i calcoli a bassa latenza memorizzando nella cache i risultati parziali in memoria. Ciò richiede più spazio di memoria. Al contrario, MapReduce è orientato al disco che consente l'archiviazione permanente.
  • Poiché Spark può eseguire attività di elaborazione in memoria, può elaborare i dati molto più velocemente di MapReduce.
  1. Qual è il vettore sparso?

Un vettore sparso comprende due array paralleli, uno per gli indici e l'altro per i valori. Vengono utilizzati per memorizzare voci diverse da zero per risparmiare spazio in memoria.

  1. Che cos'è il partizionamento in Spark?

Il partizionamento viene utilizzato per creare unità di dati più piccole e logiche per accelerare l'elaborazione dei dati. In Spark, tutto è un RDD partizionato. Le partizioni mettono in parallelo l'elaborazione dei dati distribuiti con un traffico di rete minimo per l'invio dei dati ai vari esecutori nel sistema.

  1. Definire la trasformazione e l'azione.

Sia la trasformazione che l'azione sono operazioni eseguite all'interno di un RDD.

Quando la funzione di trasformazione viene applicata a un RDD, crea un altro RDD. Due esempi di trasformazione sono map() e filer() – mentre map() applica la funzione ad esso trasferita su ciascun elemento di RDD e crea un altro RDD, filter() crea un nuovo RDD selezionando i componenti dall'attuale RDD che trasferiscono il argomento della funzione. Viene attivato solo quando si verifica un'Azione.

Un'azione recupera i dati da RDD alla macchina locale. Attiva l'esecuzione utilizzando un grafico di derivazione per caricare i dati nell'RDD originale, eseguire tutte le trasformazioni intermedie e restituire i risultati finali al programma Driver o scriverli nel file system.

  1. Che cos'è un grafico di lignaggio?

In Spark, gli RDD sono co-dipendenti l'uno dall'altro. La rappresentazione grafica di queste dipendenze tra gli RDD è chiamata grafo di lignaggio. Con le informazioni dal grafico del lignaggio, ogni RDD può essere calcolato su richiesta: se mai un pezzo di un RDD persistente viene perso, i dati persi possono essere recuperati utilizzando le informazioni del grafico del lignaggio.

  1. Qual è lo scopo di SparkCore?

SparkCore è il motore di base di Spark. Svolge una serie di funzioni vitali come la tolleranza agli errori, la gestione della memoria, il monitoraggio dei lavori, la pianificazione dei lavori e l'interazione con i sistemi di storage.

  1. Assegna un nome alle principali librerie dell'ecosistema Spark.

Le principali biblioteche dell'ecosistema Spark sono:

  • Spark Streaming – Viene utilizzato per abilitare lo streaming di dati in tempo reale.
  • Spark MLib- È la libreria di Machine Learning di Spark che utilizza algoritmi di apprendimento comunemente usati come classificazione, regressione, clustering, ecc.
  • Spark SQL: aiuta a eseguire query di tipo SQL sui dati Spark applicando strumenti di visualizzazione o business intelligence standard.
  • Spark GraphX ​​– È un'API Spark per l'elaborazione di grafici per sviluppare e trasformare grafici interattivi.
  1. Cos'è YARN? È necessario installare Spark su tutti i nodi di un cluster YARN?

Yarn è una piattaforma centrale di gestione delle risorse in Spark. Consente la distribuzione di operazioni scalabili nel cluster Spark. Mentre Spark è lo strumento di elaborazione dei dati, YARN è il gestore di contenitori distribuito. Proprio come Hadoop MapReduce può essere eseguito su YARN, anche Spark può essere eseguito su YARN.

Non è necessario installare Spark su tutti i nodi di un cluster YARN perché Spark può essere eseguito su YARN: viene eseguito indipendentemente dalla sua installazione. Include anche diverse configurazioni per l'esecuzione su YARN come master, coda, modalità di distribuzione, memoria del driver, memoria dell'esecutore e core dell'esecutore.

  1. Cos'è il Catalyst Framework?

Il framework Catalyst è un framework di ottimizzazione unico in Spark SQL. Lo scopo principale di un framework catalizzatore è consentire a Spark di trasformare automaticamente le query SQL aggiungendo nuove ottimizzazioni per sviluppare un sistema di elaborazione più veloce.

  1. Quali sono i diversi tipi di gestori di cluster in Spark?

Il framework Spark comprende tre tipi di gestori di cluster:

  1. Autonomo: il gestore principale utilizzato per configurare un cluster.
  2. Apache Mesos – Il gestore di cluster generalizzato e integrato di Spark che può eseguire Hadoop MapReduce e anche altre applicazioni.
  3. Yarn: il gestore del cluster per la gestione della gestione delle risorse in Hadoop.
  1. Che cos'è un nodo di lavoro?

Il nodo di lavoro è il "nodo slave" del nodo master. Si riferisce a qualsiasi nodo in grado di eseguire il codice dell'applicazione in un cluster. Pertanto, il nodo master assegna il lavoro ai nodi di lavoro che eseguono le attività assegnate. I nodi di lavoro elaborano i dati archiviati all'interno e quindi segnalano al nodo master.

  1. Cos'è un esecutore Spark?

Uno Spark Executor è un processo che esegue calcoli e archivia i dati nel nodo di lavoro. Ogni volta che SparkContext si connette a un cluster manager, acquisisce un Executor sui nodi all'interno di un cluster. Questi esecutori eseguono le attività finali che vengono loro assegnate da SparkContext.

  1. Cos'è una lima per parquet?

Il file Parquet è un file in formato colonnare che consente a Spark SQL di leggere e scrivere operazioni. L'utilizzo del file parquet (formato colonnare) ha molti vantaggi:

  1. Il formato di archiviazione delle colonne consuma meno spazio.
  2. Il formato di archiviazione delle colonne tiene sotto controllo le operazioni di I/O.
  3. Ti consente di accedere facilmente a colonne specifiche.
  4. Segue la codifica specifica del tipo e fornisce dati riepilogati meglio.

Ecco, ti abbiamo facilitato in Spark. Questi 15 concetti fondamentali in Spark ti aiuteranno a iniziare con Spark.

Se sei interessato a saperne di più sui Big Data, dai un'occhiata al nostro PG Diploma in Software Development Specialization nel programma Big Data, progettato per professionisti che lavorano e fornisce oltre 7 casi di studio e progetti, copre 14 linguaggi e strumenti di programmazione, pratiche pratiche workshop, oltre 400 ore di apprendimento rigoroso e assistenza all'inserimento lavorativo con le migliori aziende.

Controlla i nostri altri corsi di ingegneria del software su upGrad.

Migliora le tue competenze e preparati per il futuro

Oltre 400 ore di apprendimento. 14 Lingue e strumenti. Stato Alumni IIITB.
Programma di certificazione avanzato in Big Data da IIIT Bangalore