baixar PDF
A seguir estão as perguntas mais frequentes em entrevistas para caloiros e desenvolvedores bem experientes.
1) O que é Hadoop Map Reduce?
Para processar grandes conjuntos de dados em paralelo em um cluster Hadoop, a estrutura Hadoop MapReduce é usada. A análise de dados usa um mapa de duas etapas e processo de redução.
2) Como o Hadoop MapReduce funciona?
No MapReduce, durante a fase de mapa, ele conta as palavras em cada documento, enquanto na fase de redução agrega os dados de acordo com o documento que abrange toda a coleção. Durante a fase de mapa, os dados de entrada são divididos em divisões para análise por tarefas de mapa executadas em paralelo na estrutura do Hadoop.
3) Explique o que está embaralhando no MapReduce?
O processo pelo qual o sistema realiza a classificação e transfere as saídas do mapa para o redutor como entradas é conhecido como embaralhamento
4) Explique o que é Cache distribuído no MapReduce Framework?
Cache distribuído é um recurso importante fornecido pela estrutura MapReduce. Quando você deseja compartilhar alguns arquivos em todos os nós do Hadoop Cluster, o Cache Distribuído é usado. Os arquivos podem ser arquivos jar executáveis ou arquivo de propriedades simples.
5) Explique o que é NameNode no Hadoop?
NameNode no Hadoop é o nó, onde o Hadoop armazena todas as informações de localização do arquivo no HDFS (Hadoop Distributed File System). Em outras palavras, NameNode é a peça central de um sistema de arquivos HDFS. Ele mantém o registro de todos os arquivos no sistema de arquivos e rastreia os dados do arquivo no cluster ou em várias máquinas
6) Explique o que é JobTracker no Hadoop? Quais são as ações seguidas pelo Hadoop?
No Hadoop, para enviar e rastrear trabalhos MapReduce, JobTracker é usado. Rastreador de trabalho executado em seu próprio processo JVM
O Job Tracker executa as seguintes ações no Hadoop
- O aplicativo do cliente envia trabalhos para o rastreador de trabalhos
- JobTracker se comunica com o modo Nome para determinar a localização dos dados
- Perto dos dados ou com slots disponíveis, o JobTracker localiza nós do TaskTracker
- Em nós TaskTracker escolhidos, ele envia o trabalho
- Quando uma tarefa falha, o rastreador de tarefas notifica e decide o que fazer em seguida.
- Os nós TaskTracker são monitorados por JobTracker
7) Explique o que é pulsação no HDFS?
Heartbeat é referido a um sinal usado entre um nó de dados e o nó de Nome, e entre o rastreador de tarefa e o rastreador de trabalho, se o nó Nome ou rastreador de trabalho não responder ao sinal, então considera-se que há alguns problemas com o nó de dados ou tarefa rastreador
8) Explique o que são combinadores e quando você deve usar um combinador em um trabalho MapReduce?
Para aumentar a eficiência do programa MapReduce, combinadores são usados. A quantidade de dados pode ser reduzida com a ajuda de combinadores que precisam ser transferidos para os redutores. Se a operação realizada for comutativa e associativa, você pode usar seu código redutor como um combinador. A execução do combinador não é garantida no Hadoop
9) O que acontece quando um nó de dados falha?
Quando um nó de dados falha
- Jobtracker e namenode detectam a falha
- No nó com falha, todas as tarefas são reprogramadas
- Namenode replica os dados do usuário para outro nó
10) Explique o que é execução especulativa?
No Hadoop durante a execução especulativa, um certo número de tarefas duplicadas é iniciado. Em um nó escravo diferente, várias cópias do mesmo mapa ou tarefa de redução podem ser executadas usando a Execução Especulativa. Em palavras simples, se uma determinada unidade está demorando muito para concluir uma tarefa, o Hadoop criará uma tarefa duplicada em outro disco. Um disco que termina a tarefa primeiro é retido e os discos que não terminam primeiro são eliminados.
11) Explique quais são os parâmetros básicos de um Mapeador?
Os parâmetros básicos de um mapeador são
- LongWritable e Text
- Texto e IntWritable
12) Explique qual é a função do particionador MapReduce?
A função do particionador MapReduce é garantir que todo o valor de uma única chave vá para o mesmo redutor, eventualmente o que ajuda a distribuição uniforme da saída do mapa sobre os redutores
13) Explique qual é a diferença entre uma divisão de entrada e um bloco HDFS?
A divisão lógica dos dados é conhecida como Split, enquanto uma divisão física dos dados é conhecida como HDFS Block
14) Explique o que acontece no formato de texto?
No formato de entrada de texto, cada linha do arquivo de texto é um registro. Value é o conteúdo da linha, enquanto Key é o deslocamento de byte da linha. Por exemplo, Key: longWritable, Value: text
15) Mencione quais são os principais parâmetros de configuração que o usuário precisa especificar para executar o MapReduce Job?
O usuário da estrutura MapReduce precisa especificar
- Locais de entrada do trabalho no sistema de arquivos distribuído
- Local de saída do trabalho no sistema de arquivos distribuído
- Formato de entrada
- Formato de saída
- Classe contendo a função de mapa
- Classe contendo a função de redução
- Arquivo JAR contendo as classes de mapeador, redutor e driver
16) Explique o que é WebDAV no Hadoop?
Para oferecer suporte à edição e atualização de arquivos, o WebDAV é um conjunto de extensões para HTTP. Na maioria dos sistemas operacionais, os compartilhamentos WebDAV podem ser montados como sistemas de arquivos, portanto, é possível acessar o HDFS como um sistema de arquivos padrão expondo o HDFS sobre WebDAV.
17) Explique o que é Sqoop no Hadoop?
Para transferir os dados entre o gerenciamento de banco de dados relacional (RDBMS) e o Hadoop HDFS, uma ferramenta é usada conhecida como Sqoop. Usando o Sqoop, os dados podem ser transferidos de RDMS como MySQL ou Oracle para HDFS, bem como exportar dados de arquivo HDFS para RDBMS
18) Explique como o JobTracker agenda uma tarefa?
O rastreador de tarefas envia mensagens de pulsação para o Jobtracker geralmente a cada poucos minutos para garantir que o JobTracker esteja ativo e funcionando. A mensagem também informa ao JobTracker sobre o número de slots disponíveis, para que o JobTracker possa se manter atualizado de onde o trabalho do cluster pode ser delegado
19) Explique o que é Sequencefileinputformat?
Sequencefileinputformat é usado para ler arquivos em sequência. É um formato de arquivo binário compactado específico que é otimizado para passar dados entre a saída de um trabalho MapReduce para a entrada de algum outro trabalho MapReduce.
20) Explique o que a classe conf.setMapper faz?
Conf.setMapperclass define a classe do mapeador e todas as coisas relacionadas ao trabalho do mapa, como leitura de dados e geração de um par de valor-chave fora do mapeador
21) Explique o que é Hadoop?
É uma estrutura de software de código aberto para armazenamento de dados e execução de aplicativos em clusters de hardware comum. Ele fornece um enorme poder de processamento e armazenamento massivo para qualquer tipo de dados.
22) Mencione qual é a diferença entre um RDBMS e Hadoop?
RDBMS | Hadoop |
RDBMS é um sistema de gerenciamento de banco de dados relacional | Hadoop é uma estrutura plana baseada em nó |
É usado para processamento de OLTP, enquanto o Hadoop | Atualmente é usado para análise e processamento de BIG DATA |
No RDBMS, o cluster de banco de dados usa os mesmos arquivos de dados armazenados em um armazenamento compartilhado | No Hadoop, os dados de armazenamento podem ser armazenados independentemente em cada nó de processamento. |
Você precisa pré-processar os dados antes de armazená-los | você não precisa pré-processar os dados antes de armazená-los |
23) Mencionar os componentes principais do Hadoop?
Os componentes principais do Hadoop incluem,
- HDFS
- MapReduce
24) O que é NameNode no Hadoop?
NameNode no Hadoop é onde o Hadoop armazena todas as informações de localização do arquivo no HDFS. É o nó mestre no qual o rastreador de trabalho é executado e consiste em metadados.
25) Mencione quais são os componentes de dados usados pelo Hadoop?
Os componentes de dados usados pelo Hadoop são
- Porco
- Colmeia
26) Mencione qual é o componente de armazenamento de dados usado pelo Hadoop?
O componente de armazenamento de dados usado pelo Hadoop é o HBase.
27) Mencione quais são os formatos de entrada mais comuns definidos no Hadoop?
Os formatos de entrada mais comuns definidos no Hadoop são;
- TextInputFormat
- KeyValueInputFormat
- SequenceFileInputFormat
28) No Hadoop, o que é InputSplit?
Ele divide os arquivos de entrada em pedaços e atribui cada divisão a um mapeador para processamento.
29) Para um trabalho Hadoop, como você escreverá um particionador personalizado?
Você escreve um particionador personalizado para um trabalho do Hadoop e segue o seguinte caminho
- Crie uma nova classe que estenda a classe do particionador
- Substituir o método getPartition
- No wrapper que executa o MapReduce
- Adicione o particionador personalizado ao trabalho usando o conjunto de métodos Classe do Particionador ou - adicione o particionador personalizado ao trabalho como um arquivo de configuração
30) Para um trabalho no Hadoop, é possível alterar o número de mapeadores a serem criados?
Não, não é possível alterar o número de mapeadores a serem criados. O número de mapeadores é determinado pelo número de divisões de entrada.
31) Explique o que é um arquivo de sequência no Hadoop?
Para armazenar pares de chave / valor binários, o arquivo de sequência é usado. Ao contrário do arquivo compactado regular, o arquivo de sequência oferece suporte à divisão, mesmo quando os dados dentro do arquivo são compactados.
32) Quando o Namenode está desativado, o que acontece com o rastreador de trabalho?
Namenode é o único ponto de falha no HDFS, portanto, quando o Namenode estiver inativo, seu cluster será acionado.
33) Explique como é feita a indexação no HDFS?
O Hadoop possui uma forma única de indexação. Uma vez que os dados são armazenados de acordo com o tamanho do bloco, o HDFS continuará armazenando a última parte dos dados que dizem onde a próxima parte dos dados estará.
34) Explique que é possível pesquisar arquivos usando curingas?
Sim, é possível pesquisar arquivos usando curingas.
35) Listar os três arquivos de configuração do Hadoop?
Os três arquivos de configuração são
- core-site.xml
- mapred-site.xml
- hdfs-site.xml
36) Explique como você pode verificar se o Namenode está funcionando ao lado do comando jps?
Além de usar o comando jps, para verificar se o Namenode está funcionando, você também pode usar
/etc/init.d/hadoop-0.20-namenode status.
37) Explique o que é “mapa” e o que é “redutor” no Hadoop?
No Hadoop, um mapa é uma fase na resolução de consultas HDFS. Um mapa lê dados de um local de entrada e produz um par de valores-chave de acordo com o tipo de entrada.
No Hadoop, um redutor coleta a saída gerada pelo mapeador, a processa e cria uma saída final própria.
38) No Hadoop, qual arquivo controla os relatórios no Hadoop?
No Hadoop, o arquivo hadoop-metrics.properties controla os relatórios.
39) Para usar o Hadoop, liste os requisitos de rede?
Para usar o Hadoop, a lista de requisitos de rede são:
- Conexão SSH sem senha
- Secure Shell (SSH) para iniciar processos de servidor
40) Mencione o que é reconhecimento de rack?
Reconhecimento de rack é a maneira pela qual o namenode determina como colocar blocos com base nas definições de rack.
41) Explique o que é um Task Tracker no Hadoop?
Um Task Tracker no Hadoop é um daemon de nó escravo no cluster que aceita tarefas de um JobTracker. Ele também envia as mensagens de pulsação para o JobTracker, a cada poucos minutos, para confirmar se o JobTracker ainda está ativo.
42) Mencione quais daemons são executados em um nó mestre e em nós escravos?
- Daemons executados no nó mestre são "NameNode"
- Daemons executados em cada nó Slave são “Task Tracker” e “Data”
43) Explique como você pode depurar o código Hadoop?
Os métodos populares para depurar código Hadoop são:
- Usando a interface da web fornecida pela estrutura Hadoop
- Usando contadores
44) Explique o que são nós de armazenamento e computação?
- O nó de armazenamento é a máquina ou computador onde reside o seu sistema de arquivos para armazenar os dados de processamento
- O nó de computação é o computador ou máquina onde sua lógica de negócios real será executada.
45) Mencione qual é o uso do Context Object?
O Context Object permite que o mapeador interaja com o resto do Hadoop
sistema. Inclui dados de configuração para o trabalho, bem como interfaces que permitem emitir saída.
46) Mencione qual é a próxima etapa após o Mapper ou MapTask?
A próxima etapa após Mapper ou MapTask é que a saída do Mapper seja classificada e partições sejam criadas para a saída.
47) Mencione qual é o número do particionador padrão no Hadoop?
No Hadoop, o particionador padrão é um Particionador “Hash”.
48) Explique qual é o propósito do RecordReader no Hadoop?
No Hadoop, o RecordReader carrega os dados de sua origem e os converte em pares (chave, valor) adequados para leitura pelo Mapeador.
49) Explique como os dados são particionados antes de serem enviados ao redutor se nenhum particionador customizado for definido no Hadoop?
Se nenhum particionador customizado for definido no Hadoop, um particionador padrão calcula um valor hash para a chave e atribui a partição com base no resultado.
50) Explique o que acontece quando o Hadoop gerou 50 tarefas para um trabalho e uma das tarefas falhou?
Ele reiniciará a tarefa novamente em algum outro TaskTracker se a tarefa falhar mais do que o limite definido.
51) Mencione qual é a melhor maneira de copiar arquivos entre clusters HDFS?
A melhor maneira de copiar arquivos entre clusters HDFS é usando vários nós e o comando distcp, para que a carga de trabalho seja compartilhada.
52) Mencione qual é a diferença entre HDFS e NAS?
Os blocos de dados HDFS são distribuídos em unidades locais de todas as máquinas em um cluster, enquanto os dados NAS são armazenados em hardware dedicado.
53) Mencionar como o Hadoop é diferente de outras ferramentas de processamento de dados?
No Hadoop, você pode aumentar ou diminuir o número de mapeadores sem se preocupar com o volume de dados a serem processados.
54) Mencione qual trabalho a classe conf faz?
A classe Job conf separa diferentes jobs em execução no mesmo cluster. Ele faz as configurações de nível de trabalho, como declarar um trabalho em um ambiente real.
55) Mencione o que é o contrato de APIs Hadoop MapReduce para uma classe de chave e valor?
Para uma classe de chave e valor, existem dois contratos de APIs Hadoop MapReduce
- O valor deve definir a interface org.apache.hadoop.io.Writable
- A chave deve definir a interface org.apache.hadoop.io.WritableComparable
56) Mencione quais são os três modos nos quais o Hadoop pode ser executado?
Os três modos em que o Hadoop pode ser executado são
- Modo pseudo distribuído
- Modo autônomo (local)
- Modo totalmente distribuído
57) Mencione o que o formato de entrada de texto faz?
O formato de entrada de texto criará um objeto de linha que é um número hexadecimal. O valor é considerado um texto de linha inteira, enquanto a chave é considerada um objeto de linha. O mapeador receberá o valor como parâmetro de 'texto' enquanto a chave como parâmetro de 'longa duração'.
58) Mencione quantas InputSplits são feitas por um Hadoop Framework?
O Hadoop fará 5 divisões
- 1 divisão para arquivos de 64K
- 2 divisões para arquivos de 65 MB
- 2 divisões para arquivos de 127 MB
59) Mencione o que é cache distribuído no Hadoop?
O cache distribuído no Hadoop é um recurso fornecido pela estrutura MapReduce. No momento da execução do trabalho, ele é usado para armazenar o arquivo em cache. O Framework copia os arquivos necessários para o nó escravo antes da execução de qualquer tarefa nesse nó.
60) Explique como o Hadoop Classpath desempenha um papel vital na interrupção ou inicialização dos daemons do Hadoop.
Classpath consistirá em uma lista de diretórios contendo arquivos jar para parar ou iniciar daemons.