Introdução às perguntas e respostas da entrevista do Sqoop

O Sqoop é uma ferramenta de transferência de dados de código aberto; a ferramenta Sqoop transfere os dados entre o Hadoop Ecosystem e os Servidores de Banco de Dados Relacionais (RDBMS). Ele importa os dados para o sistema de arquivos Hadoop (HDFS), de bancos de dados relacionais como Oracle, MySQL, etc, e também exporta dados do sistema de arquivos Hadoop para RDMS.

Abaixo estão as 15 perguntas e respostas importantes da entrevista do Sqoop para 2019:

Então, você finalmente encontrou o emprego dos seus sonhos no Sqoop, mas está se perguntando como fazer a entrevista do Sqoop e quais poderiam ser as prováveis ​​Perguntas da Entrevista do Sqoop de 2019. Cada entrevista é diferente e o escopo de um trabalho também é diferente. Tendo isso em mente, criamos as perguntas e respostas mais comuns da entrevista do Sqoop para ajudá-lo a obter sucesso em sua entrevista.

Essas perguntas são divididas em duas partes:

Parte 1 - Perguntas da entrevista do Sqoop (básica)

Esta primeira parte aborda perguntas e respostas básicas da entrevista do Sqoop.

1. Defina o Sqoop e por que usamos o Sqoop?

Responda:
O Sqoop é uma ferramenta de transferência de dados de código aberto, projetada para transferir dados entre o Ecossistema Hadoop e os Servidores de Banco de Dados Relacionais (RDBMS). O Sqoop é usado para importar os dados de bancos de dados relacionais, como Oracle, MySQL, etc, para o sistema de arquivos Hadoop (HDFS) e também para exportar dados do sistema de arquivos Hadoop para bancos de dados relacionais.

2. Quais são os diferentes recursos do Sqoop?

Responda:
Abaixo estão os diferentes recursos suportados pelo Sqoop -

  1. Capacidade de carregamento
  2. Carregamento completo e carregamento incremental
  3. Técnicas de compactação de dados
  4. Importando os Resultados das Consultas SQL
  5. Conectores de dados para todos os principais bancos de dados
  6. Suporte direto ao carregamento de dados no Hadoop File Systems
  7. Configurações de segurança como Kerberos
  8. Funcionalidades simultâneas de importação ou exportação

Vamos para as próximas perguntas da entrevista do Sqoop.

3. Nomeie os bancos de dados relacionais e as fontes do ecossistema Hadoop com suporte no Sqoop?

Responda:
Atualmente, o Sqoop suporta MySQL, PostgreSQL, Oracle, MSSQL, Teradata e Netezza da IBM como parte dos Bancos de Dados de Relação.

Os serviços de destino do sistema ecológico Hadoop atualmente suportados são HDFC, Hive, HBase, H Catalog e Accumulo.

O Sqoop usa o MySQL como o banco de dados padrão.

4. Como o Sqoop funciona?

Responda:
Essas são as perguntas comuns da entrevista do Sqoop feitas em uma entrevista. Para executar a transferência de dados, o Sqoop usa comandos de exportação e importação. O programa Map Reduce será usado internamente no Sqoop para armazenar o conjunto de dados no HDFS. Os comandos serão associados às tarefas de mapa para recuperar dados dos bancos de dados relacionais; A tarefa Reduzir será responsável por colocar os dados recuperados nos destinos (HDFS / HBase / Hive)

O Sqoop também usa vários conectores de API para conectar-se a vários bancos de dados. O Sqoop também oferece a capacidade de criar conectores personalizados para atender a requisitos específicos.

Vamos ver os comandos de exemplo abaixo para importação e exportação

Um comando para conectar-se ao banco de dados MySQL para importar dados da tabela 'Log'

sqoop import –connect jdbc: mysql: // localhost / –username –password –table –m 1
sqoop import –connect jdbc: mysql: // localhost / mytestdb –username root –password admin123 –table log –m 1

Um comando para exportar dados do HDFS para o banco de dados relacional

exportação de sqoop - conecte jdbc: mysql: // localhost / sqoop_export - tabela-dir-export / sqoop / emp_last / part-m-00000 - id da chave de atualização
exportação do sqoop - conecte jdbc: mysql: // localhost / sqoop_export - tabela de log_table - dir-export / sqoop / data / foler1 / part-m-00000

5. O que é o Sqoop Metastore? Explique?

Responda:
O Sqoop Metastore é uma ferramenta disponível no Sqoop que será usada para configurar o aplicativo Sqoop para permitir a hospedagem de um repositório compartilhado na forma de metadados. Esse Metastore pode ser usado para executar as tarefas e gerenciar vários usuários com base nas funções e atividades do usuário. Todos os múltiplos usuários podem executar várias tarefas ou operações simultaneamente para realizar as tarefas com eficiência. O Sqoop Metastore será implementado como uma representação na memória por padrão. Quando um trabalho é criado no Sqoop, a definição do trabalho é armazenada no Metastore e será listada usando trabalhos do Sqoop, se necessário.

6. Quais formatos de arquivo o Sqoop suporta ao importar os dados?

Responda:
O Sqoop usa dois formatos de arquivo para importação de dados. São eles: - Formato de arquivo de teste delimitado e formato de arquivo de sequência.

Formato de arquivo de texto delimitado : Formato de texto delimitado é o formato de arquivo padrão para importação. Ainda podemos especificar explicitamente usando o argumento –as- textile. Da mesma forma, passar o argumento definirá os caracteres delimitadores entre linhas e colunas.

Formato de arquivo de sequência : este formato de arquivo, podemos dizer que é um formato de arquivo binário. Esse tipo de registro de arquivo de formato é armazenado em tipos de dados específicos de registro customizados que são expostos como Classes Java.

Vamos para as próximas perguntas da entrevista do Sqoop.

7. Podemos controlar vários mapeadores no sqoop? Se sim, como?

Responda:
Sim, podemos controlar o número de mapeadores no Sqoop especificando o parâmetro "-num-mappers" no comando sqoop. Este parâmetro pode controlar o número de tarefas do mapa, que nada mais é que o grau de paralelismo será usado pelo sqoop. O número será decidido com base no requisito.

Sintaxe: use esses sinalizadores para controlar o número de mapeadores: m, -num- mappers

Parte 2 - Perguntas da entrevista do Sqoop (avançado)

Vamos agora dar uma olhada nas perguntas avançadas da entrevista do Sqoop.

8. O que é o Sqoop-merge e explica seu uso?

Responda:
Sqoop merge é uma ferramenta que combina dois conjuntos de dados diferentes que mantêm a única versão, substituindo as entradas em uma versão mais antiga de um conjunto de dados por novos arquivos para torná-lo o conjunto de dados da versão mais recente. Ocorre um processo de achatamento ao mesclar os dois conjuntos de dados diferentes, que preservam os dados sem perda e com eficiência e segurança. Para executar esta operação, o comando merge key será usado como “–merge-key”

9. Quais são as diferenças entre Sqoop, flume e distcp?

Responda:
Distcp e Sqoop são usados ​​para transferir os dados. O Sqoop é usado para transferir qualquer tipo de dados de um cluster Hadoop para outro cluster, enquanto o Sqoop transfere dados entre bancos de dados relacionais e o ecossistema Hadoop, como Hive, HDFS e HBase, etc. Mas ambos os métodos usam a mesma abordagem para copiar os dados, que é pull / transfer.

O Flume distribuiu uma ferramenta, segue a arquitetura baseada em agente, para transmitir os logs para o ecossistema Hadoop. Considerando que Sqoop é uma arquitetura baseada em conector.

O Flume coleta e agrega uma enorme quantidade de dados de log. O Flume pode coletar os dados de um tipo diferente de recursos; não considera o esquema ou dados estruturados / não estruturados. O Flume pode extrair qualquer tipo de dados. Enquanto o Sqoop pode importar apenas os Dados do banco de dados relacional, o esquema é obrigatório para o sqoop processar. Geralmente, para mover cargas de trabalho em massa, o canal é a melhor opção.

Vamos para as próximas perguntas da entrevista do Sqoop.

10. Quais são as fontes de dados suportadas pelo Apache Sqoop?

Responda:
As diferentes fontes de dados de vários aplicativos suportados pelo Apache Sqoop são as seguintes:

  1. Colmeia
  2. HBase
  3. Sistema de arquivos distribuídos do Hadoop (HDFS)
  4. HCatalog
  5. Accumulo

11. Quais são os comandos / funções mais usados ​​no Sqoop?

Responda:

Estas são as perguntas avançadas da entrevista do Sqoop feitas em uma entrevista. A lista de comandos básicos usados ​​no Sqoop é a seguinte:

Codegen -Codegen é usado para gerar código para se comunicar com os registros do banco de dados.

Eval -Sqoop Eval ajuda na execução de consultas SQL de amostra nos bancos de dados e fornece os resultados no console.

Ajuda -Ajuda a listar os comandos disponíveis

Import-Importar importará a tabela para o ecossistema Hadoop

Export -Export é usado para exportar dados do HDFS para bancos de dados relacionais.

Create-hive-table -Este comando é útil para importar a definição de tabela no Hive

Import-all-tables -Import-all-tables importará as tabelas para formar bancos de dados relacionais para o HDFS.

Listar bancos de dados - Listará todos os bancos de dados presentes em um servidor.

Listar tabelas - Listará todas as tabelas presentes em um banco de dados.

Versões - Ele exibirá as informações da versão.

Funções - Importação / exportação paralela, Carga total, Carga incremental, Carga total, Comparação, Conectores para bancos de dados RDBMS, Integração de segurança Kerberos, Carregar dados diretamente no HDFS (Hive / HBase)

12. Explique as práticas recomendadas ao importar tabelas do MySQL ou de qualquer outro banco de dados usando o Sqoop?

Responda:
Ao importar as tabelas do MySQL, devemos garantir algumas coisas, como autenticação e autorização para o servidor e os bancos de dados de destino. Precisamos garantir que concedemos os privilégios necessários nos bancos de dados, que devem ser acessados ​​e também garantir a resolução do nome do host quando nos conectarmos aos nomes de host de origem e de destino. Se não tivermos a permissão necessária, obteremos uma exceção de falha de conexão durante a conexão com o banco de dados.

13. Como você atualiza os dados ou linhas já exportados?

Responda:
Para atualizar as linhas que já foram exportadas para o destino, podemos usar o parâmetro "–update-key". Neste, é usada uma lista de colunas separadas por vírgula que identifica exclusivamente uma linha e todas essas colunas são usadas na cláusula WHERE da consulta UPDATE gerada. A parte SET da consulta cuidará de todas as outras colunas da tabela.

Vamos para as próximas perguntas da entrevista do Sqoop.

14. Como configurar e instalar o driver JDBC no Apache Sqoop?

Responda:
Os drivers JDB no Apache Sqoop podem ser configurados com base no provedor Hadoop, como Cloudera ou Hortonworks, onde varia ligeiramente em sua configuração, com base no provedor Hadoop. O JDBC no Cloudera pode ser configurado como criando uma pasta de biblioteca como / var / lib /. Isso pode ser feito para qualquer biblioteca de terceiros que precise ser configurada conforme o requisito. Dessa maneira, qualquer tipo de banco de dados pode ser configurado usando seu driver JDBC. Além do driver JDBC, o Apache Sqoop requer um conector para estabelecer uma conexão entre diferentes bancos de dados relacionais. Os principais componentes necessários para estabelecer uma conexão com os bancos de dados são por meio de Driver e Connector do provedor de banco de dados específico.

15. Qual é a cláusula dividida por e quando a usamos?

Responda:
Um parâmetro de divisão é para dividir os dados a serem importados em várias tarefas paralelas. Usando esse parâmetro, podemos especificar os nomes da coluna, que são os nomes das colunas com base no qual o sqoop dividirá os dados a serem importados em vários blocos e eles serão executados de forma paralela. É uma das técnicas para ajustar o desempenho no Sqoop.

Artigos recomendados

Este foi um guia para a Lista de perguntas e respostas da entrevista do Sqoop, para que o candidato possa reprimir essas perguntas da entrevista do Sqoop facilmente. Você também pode consultar os seguintes artigos para saber mais -

  1. Hadoop vs Teradata -Qual é o benefício
  2. 13 perguntas surpreendentes da entrevista para testes de banco de dados
  3. As 10 perguntas mais importantes da entrevista do HBase
  4. 10 perguntas mais impressionantes da entrevista em PHP para pessoas experientes
  5. Conheça as 5 principais perguntas úteis da entrevista sobre DBA