Scarica il pdf
Di seguito sono riportate le domande frequenti nelle interviste per matricole e sviluppatori esperti.
1) Cos'è Hadoop Map Reduce?
Per l'elaborazione di set di dati di grandi dimensioni in parallelo in un cluster Hadoop, viene utilizzato il framework Hadoop MapReduce. L'analisi dei dati utilizza una mappa in due fasi e riduce il processo.
2) Come funziona Hadoop MapReduce?
In MapReduce, durante la fase di mappatura, conta le parole in ogni documento, mentre in fase di riduzione aggrega i dati come da documento che copre l'intera collezione. Durante la fase di mappa, i dati di input vengono suddivisi in suddivisioni per l'analisi da attività di mappa in esecuzione in parallelo nel framework Hadoop.
3) Spiegare cosa sta mescolando in MapReduce?
Il processo mediante il quale il sistema esegue l'ordinamento e trasferisce gli output della mappa al riduttore come input è noto come shuffle
4) Spiegare cos'è la cache distribuita in MapReduce Framework?
La cache distribuita è una funzionalità importante fornita dal framework MapReduce. Quando si desidera condividere alcuni file su tutti i nodi in Hadoop Cluster, viene utilizzata la cache distribuita. I file possono essere file jar eseguibili o semplici file delle proprietà.
5) Spiega cos'è NameNode in Hadoop?
NameNode in Hadoop è il nodo in cui Hadoop memorizza tutte le informazioni sulla posizione del file in HDFS (Hadoop Distributed File System). In altre parole, NameNode è il fulcro di un file system HDFS. Mantiene la registrazione di tutti i file nel file system e tiene traccia dei dati del file nel cluster o su più macchine
6) Spiega cos'è JobTracker in Hadoop? Quali sono le azioni seguite da Hadoop?
In Hadoop per l'invio e il monitoraggio dei lavori MapReduce, viene utilizzato JobTracker. Il job tracker viene eseguito sul proprio processo JVM
Job Tracker esegue le seguenti azioni in Hadoop
- L'applicazione client invia i lavori al job tracker
- JobTracker comunica alla modalità Nome per determinare la posizione dei dati
- Vicino ai dati o con gli slot disponibili JobTracker individua i nodi TaskTracker
- Sui nodi TaskTracker scelti, invia il lavoro
- Quando un'attività fallisce, Job tracker avvisa e decide cosa fare.
- I nodi TaskTracker sono monitorati da JobTracker
7) Spiega cos'è il battito cardiaco in HDFS?
Heartbeat si riferisce a un segnale utilizzato tra un nodo dati e un nodo Nome e tra task tracker e job tracker, se il nodo Nome o job tracker non risponde al segnale, si considera che ci siano dei problemi con il nodo dati o l'attività tracker
8) Spiega cosa sono i combinatori e quando dovresti usare un combinatore in un lavoro MapReduce?
Per aumentare l'efficienza del programma MapReduce, vengono utilizzati i combinatori. La quantità di dati può essere ridotta con l'aiuto di combinatori che devono essere trasferiti ai riduttori. Se l'operazione eseguita è commutativa e associativa puoi utilizzare il tuo codice riduttore come combinatore. L'esecuzione del combinatore non è garantita in Hadoop
9) Cosa succede quando un nodo dati si guasta?
Quando un nodo dati si guasta
- Jobtracker e namenode rilevano l'errore
- Sul nodo guasto tutte le attività vengono riprogrammate
- Namenode replica i dati dell'utente su un altro nodo
10) Spiegare cos'è l'esecuzione speculativa?
In Hadoop durante l'esecuzione speculativa, viene avviato un certo numero di attività duplicate. Su un nodo slave diverso, è possibile eseguire più copie della stessa mappa o attività di riduzione utilizzando l'esecuzione speculativa. In parole semplici, se una particolare unità impiega molto tempo per completare un'attività, Hadoop creerà un'attività duplicata su un altro disco. Un disco che termina per primo l'attività viene conservato e i dischi che non terminano per primi vengono eliminati.
11) Spiegare quali sono i parametri di base di un Mapper?
I parametri di base di un Mapper sono
- LongWritable e Text
- Testo e IntWritable
12) Spiegare qual è la funzione del partizionatore MapReduce?
La funzione del partizionatore MapReduce è di assicurarsi che tutto il valore di una singola chiave vada allo stesso riduttore, il che alla fine aiuta la distribuzione uniforme dell'output della mappa sui riduttori
13) Spiega qual è la differenza tra un Input Split e un HDFS Block?
La divisione logica dei dati è nota come Split mentre una divisione fisica dei dati è nota come HDFS Block
14) Spiega cosa succede in formato testo?
Nel formato di input di testo, ogni riga nel file di testo è un record. Il valore è il contenuto della riga mentre la chiave è l'offset di byte della riga. Ad esempio, Key: longWritable, Value: text
15) Indicare quali sono i principali parametri di configurazione che l'utente deve specificare per eseguire MapReduce Job?
L'utente del framework MapReduce deve specificare
- Posizioni di input del lavoro nel file system distribuito
- Posizione di output del lavoro nel file system distribuito
- Formato di input
- Formato di output
- Classe contenente la funzione map
- Classe contenente la funzione di riduzione
- File JAR contenente le classi mappatore, riduttore e driver
16) Spiega cos'è WebDAV in Hadoop?
Per supportare la modifica e l'aggiornamento dei file WebDAV è un insieme di estensioni per HTTP. Sulla maggior parte dei sistemi operativi, le condivisioni WebDAV possono essere montate come file system, quindi è possibile accedere a HDFS come file system standard esponendo HDFS su WebDAV.
17) Spiega cos'è Sqoop in Hadoop?
Per trasferire i dati tra la gestione del database relazionale (RDBMS) e Hadoop HDFS viene utilizzato uno strumento noto come Sqoop. Utilizzando Sqoop i dati possono essere trasferiti da RDMS come MySQL o Oracle in HDFS, nonché esportare i dati dal file HDFS a RDBMS
18) Spiega come JobTracker pianifica un'attività?
Il task tracker invia messaggi heartbeat a Jobtracker di solito ogni pochi minuti per assicurarsi che JobTracker sia attivo e funzionante. Il messaggio informa inoltre JobTracker sul numero di slot disponibili, in modo che JobTracker possa rimanere aggiornato con cui il lavoro del cluster può essere delegato
19) Spiega cos'è Sequencefileinputformat?
Sequencefileinputformat viene utilizzato per leggere i file in sequenza. È un formato di file binario compresso specifico ottimizzato per il passaggio dei dati tra l'output di un lavoro MapReduce e l'input di un altro lavoro MapReduce.
20) Spiega cosa fa la classe conf.setMapper?
Conf.setMapperclass imposta la classe del mappatore e tutto il materiale relativo al lavoro di mappatura come la lettura dei dati e la generazione di una coppia chiave-valore dal mappatore
21) Spiega cos'è Hadoop?
È un framework software open source per l'archiviazione dei dati e l'esecuzione di applicazioni su cluster di hardware di base. Fornisce un'enorme potenza di elaborazione e un enorme spazio di archiviazione per qualsiasi tipo di dati.
22) Indica qual è la differenza tra un RDBMS e Hadoop?
RDBMS | Hadoop |
RDBMS è un sistema di gestione di database relazionali | Hadoop è una struttura piatta basata su nodi |
Viene utilizzato per l'elaborazione OLTP mentre Hadoop | Attualmente è utilizzato per analisi e per l'elaborazione di BIG DATA |
In RDBMS, il cluster di database utilizza gli stessi file di dati archiviati in una memoria condivisa | In Hadoop, i dati di archiviazione possono essere archiviati in modo indipendente in ogni nodo di elaborazione. |
È necessario preelaborare i dati prima di archiviarli | non è necessario preelaborare i dati prima di memorizzarli |
23) Citi i componenti principali di Hadoop?
I componenti principali di Hadoop includono,
- HDFS
- Riduci mappa
24) Cos'è NameNode in Hadoop?
NameNode in Hadoop è dove Hadoop memorizza tutte le informazioni sulla posizione del file in HDFS. È il nodo master su cui viene eseguito il job tracker e consiste di metadati.
25) Indica quali sono i componenti dei dati utilizzati da Hadoop?
I componenti dati utilizzati da Hadoop sono
- Maiale
- Alveare
26) Indica qual è il componente di archiviazione dei dati utilizzato da Hadoop?
Il componente di archiviazione dei dati utilizzato da Hadoop è HBase.
27) Indica quali sono i formati di input più comuni definiti in Hadoop?
I formati di input più comuni definiti in Hadoop sono;
- TextInputFormat
- KeyValueInputFormat
- SequenceFileInputFormat
28) In Hadoop cos'è InputSplit?
Divide i file di input in blocchi e assegna ogni divisione a un mapper per l'elaborazione.
29) Per un lavoro Hadoop, come scriverai un partizionatore personalizzato?
Scrivi un partizionatore personalizzato per un lavoro Hadoop, segui il seguente percorso
- Crea una nuova classe che estende Partitioner Class
- Sostituisci il metodo getPartition
- Nel wrapper che esegue MapReduce
- Aggiungi il partitioner personalizzato al lavoro utilizzando il metodo set Partitioner Class oppure - aggiungi il partitioner personalizzato al lavoro come file di configurazione
30) Per un lavoro in Hadoop, è possibile modificare il numero di mappatori da creare?
No, non è possibile modificare il numero di mappatori da creare. Il numero di mappatori è determinato dal numero di suddivisioni di input.
31) Spiega cos'è un file di sequenza in Hadoop?
Per memorizzare le coppie chiave / valore binarie, viene utilizzato il file di sequenza. A differenza del normale file compresso, il file di sequenza supporta la suddivisione anche quando i dati all'interno del file sono compressi.
32) Quando Namenode non funziona, cosa succede al job tracker?
Namenode è l'unico punto di errore in HDFS, quindi quando Namenode è inattivo il tuo cluster partirà.
33) Spiegare come viene eseguita l'indicizzazione in HDFS?
Hadoop ha un modo unico di indicizzazione. Una volta che i dati sono stati archiviati secondo la dimensione del blocco, HDFS continuerà a memorizzare l'ultima parte dei dati che dicono dove sarà la parte successiva dei dati.
34) Spiega che è possibile cercare file utilizzando i caratteri jolly?
Sì, è possibile cercare file utilizzando i caratteri jolly.
35) Elencare i tre file di configurazione di Hadoop?
I tre file di configurazione sono
- core-site.xml
- mapred-site.xml
- hdfs-site.xml
36) Spiega come puoi controllare se Namenode sta funzionando accanto usando il comando jps?
Oltre a usare il comando jps, per verificare se Namenode sta funzionando puoi anche usare
/etc/init.d/hadoop-0.20-namenode status.
37) Spiegare cosa è "mappa" e cosa è "riduttore" in Hadoop?
In Hadoop, una mappa è una fase della risoluzione delle query HDFS. Una mappa legge i dati da una posizione di input e restituisce una coppia di valori chiave in base al tipo di input.
In Hadoop, un riduttore raccoglie l'output generato dal mapper, lo elabora e crea un output finale proprio.
38) In Hadoop, quale file controlla la segnalazione in Hadoop?
In Hadoop, il file hadoop-metrics.properties controlla i rapporti.
39) Per utilizzare Hadoop elencare i requisiti di rete?
Per l'utilizzo di Hadoop, l'elenco dei requisiti di rete è:
- Connessione SSH senza password
- Secure Shell (SSH) per l'avvio dei processi del server
40) Indica cos'è la consapevolezza del rack?
La consapevolezza del rack è il modo in cui il namenode determina come posizionare i blocchi in base alle definizioni del rack.
41) Spiega cos'è un Task Tracker in Hadoop?
Un Task Tracker in Hadoop è un daemon del nodo slave nel cluster che accetta attività da JobTracker. Invia inoltre i messaggi heartbeat a JobTracker, ogni pochi minuti, per confermare che JobTracker è ancora attivo.
42) Indica quali daemon vengono eseguiti su un nodo master e sui nodi slave?
- I demoni eseguiti sul nodo principale sono "NameNode"
- I demoni eseguiti su ogni nodo slave sono "Task Tracker" e "Dati"
43) Spiega come puoi eseguire il debug del codice Hadoop?
I metodi popolari per il debug del codice Hadoop sono:
- Utilizzando l'interfaccia web fornita dal framework Hadoop
- Usando i contatori
44) Spiegare cosa sono i nodi di archiviazione e di calcolo?
- Il nodo di archiviazione è la macchina o il computer in cui risiede il file system per memorizzare i dati di elaborazione
- Il nodo di calcolo è il computer o la macchina in cui verrà eseguita la logica aziendale effettiva.
45) Menzione a cosa serve l'oggetto Context?
L'oggetto Context consente al mappatore di interagire con il resto di Hadoop
sistema. Include i dati di configurazione per il lavoro, nonché le interfacce che gli consentono di emettere output.
46) Indica qual è il passaggio successivo dopo Mapper o MapTask?
Il passaggio successivo dopo Mapper o MapTask è che l'output del Mapper viene ordinato e le partizioni verranno create per l'output.
47) Indica qual è il numero di partizionatori predefiniti in Hadoop?
In Hadoop, il partizionatore predefinito è un partizionatore "hash".
48) Spiega qual è lo scopo di RecordReader in Hadoop?
In Hadoop, RecordReader carica i dati dalla sua origine e li converte in coppie (chiave, valore) adatte alla lettura da parte del Mapper.
49) Spiegare come vengono partizionati i dati prima di essere inviati al riduttore se in Hadoop non è definito alcun partizionatore personalizzato?
Se in Hadoop non è definito alcun partitioner personalizzato, un partitioner predefinito calcola un valore hash per la chiave e assegna la partizione in base al risultato.
50) Spiega cosa succede quando Hadoop ha generato 50 attività per un lavoro e una delle attività non è riuscita?
Riavvia nuovamente l'attività su un altro TaskTracker se l'attività fallisce oltre il limite definito.
51) Indica qual è il modo migliore per copiare file tra cluster HDFS?
Il modo migliore per copiare file tra cluster HDFS è utilizzare più nodi e il comando distcp, in modo che il carico di lavoro sia condiviso.
52) Indica qual è la differenza tra HDFS e NAS?
I blocchi di dati HDFS sono distribuiti tra le unità locali di tutte le macchine in un cluster mentre i dati NAS sono archiviati su hardware dedicato.
53) Indichi in che modo Hadoop è diverso da altri strumenti di elaborazione dati?
In Hadoop, puoi aumentare o diminuire il numero di mappatori senza preoccuparti del volume di dati da elaborare.
54) Indica che lavoro fa la classe conf?
La classe Job conf separa diversi lavori in esecuzione sullo stesso cluster. Esegue le impostazioni a livello di lavoro come la dichiarazione di un lavoro in un ambiente reale.
55) Indica qual è il contratto delle API Hadoop MapReduce per una classe chiave e valore?
Per una classe chiave e valore, sono disponibili due contratti API MapReduce di Hadoop
- Il valore deve definire l'interfaccia org.apache.hadoop.io.Writable
- La chiave deve definire l'interfaccia org.apache.hadoop.io.WritableComparable
56) Indica quali sono le tre modalità in cui può essere eseguito Hadoop?
Le tre modalità in cui è possibile eseguire Hadoop sono
- Modalità pseudo distribuita
- Modalità autonoma (locale)
- Modalità completamente distribuita
57) Indica cosa fa il formato di immissione del testo?
Il formato di input di testo creerà un oggetto linea che è un numero esadecimale. Il valore è considerato come un testo a riga intera mentre la chiave è considerata come un oggetto riga. Il mapper riceverà il valore come parametro "text" mentre la chiave come parametro "longwriteable".
58) Indica quanti InputSplit sono creati da un framework Hadoop?
Hadoop farà 5 split
- 1 divisione per file da 64K
- 2 divisioni per file da 65 MB
- 2 suddivisioni per file da 127 MB
59) Indica cos'è la cache distribuita in Hadoop?
La cache distribuita in Hadoop è una funzionalità fornita dal framework MapReduce. Al momento dell'esecuzione del lavoro, viene utilizzato per memorizzare nella cache il file. Il Framework copia i file necessari sul nodo slave prima dell'esecuzione di qualsiasi attività su quel nodo.
60) Spiega in che modo Hadoop Classpath gioca un ruolo vitale nell'arresto o nell'avvio dei daemon Hadoop?
Classpath consisterà in un elenco di directory contenenti file jar per arrestare o avviare i demoni.