Introducción a las preguntas y respuestas de la entrevista Sqoop

Sqoop es una herramienta de transferencia de datos de código abierto, la herramienta Sqoop transfiere los datos entre el ecosistema Hadoop y los servidores de bases de datos relacionales (RDBMS). Importa los datos al sistema de archivos Hadoop (HDFS), desde bases de datos relacionales como Oracle, MySQL, etc., también exporta datos del sistema de archivos Hadoop a RDMS.

A continuación se presentan las 15 preguntas y respuestas importantes de la entrevista Sqoop 2019:

Así que finalmente has encontrado el trabajo de tus sueños en Sqoop, pero te preguntas cómo descifrar la entrevista de Sqoop y cuáles podrían ser las posibles preguntas de la entrevista de Sqoop para 2019. Cada entrevista es diferente y el alcance de un trabajo también es diferente. Teniendo esto en cuenta, hemos diseñado las preguntas y respuestas más frecuentes de la entrevista Sqoop para ayudarlo a tener éxito en su entrevista.

Estas preguntas se dividen en dos partes son las siguientes:

Parte 1 - Preguntas de la entrevista de Sqoop (Básico)

Esta primera parte cubre preguntas y respuestas básicas de la entrevista Sqoop.

1. Defina Sqoop y ¿por qué usamos Sqoop?

Responder:
Sqoop es una herramienta de transferencia de datos de código abierto, diseñada para transferir datos entre el ecosistema Hadoop y los servidores de bases de datos relacionales (RDBMS). Sqoop se utiliza para importar los datos de bases de datos relacionales como Oracle, MySQL, etc., al sistema de archivos Hadoop (HDFS), y también para exportar datos del sistema de archivos Hadoop a bases de datos relacionales.

2. ¿Cuáles son las diferentes características de Sqoop?

Responder:
A continuación se muestran las diferentes funciones compatibles con Sqoop:

  1. Capacidad de carga
  2. Carga completa y carga incremental
  3. Técnicas de compresión de datos
  4. Importar los resultados de las consultas SQL
  5. Conectores de datos para todas las bases de datos principales
  6. Soporte directo de carga de datos en sistemas de archivos Hadoop
  7. Configuraciones de seguridad como Kerberos
  8. Funciones concurrentes de importación o exportación

Pasemos a las siguientes preguntas de la entrevista de Sqoop.

3. ¿Nombre las bases de datos relacionales y las fuentes del ecosistema Hadoop compatibles con Sqoop?

Responder:
Sqoop actualmente es compatible con MySQL, PostgreSQL, Oracle, MSSQL, Teradata y Netezza de IBM como parte de las bases de datos de relaciones.

Los servicios de destino de Hadoop Eco-system actualmente admitidos son HDFC, Hive, HBase, H Catalog y Accumulo.

Sqoop usa MySQL como la base de datos predeterminada.

4. ¿Cómo funciona Sqoop?

Responder:
Estas son las preguntas comunes de la entrevista Sqoop formuladas en una entrevista. Para realizar la transferencia de datos, Sqoop utiliza comandos de exportación e importación. El programa Map Reduce se utilizará en Sqoop internamente para almacenar el conjunto de datos en HDFS. Los comandos se asociarán con tareas de Mapa para recuperar datos de Bases de datos relacionales; Reducir tarea asumirá la responsabilidad de colocar los datos recuperados en los destinos (HDFS / HBase / Hive)

Sqoop también usa varios conectores API para conectarse con varias bases de datos. Sqoop también proporciona la capacidad de crear conectores personalizados para cumplir requisitos específicos.

Veamos los comandos de muestra a continuación para importar y exportar

Un comando para conectarse a la base de datos MySQL para importar datos de la tabla '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

Un comando para exportar datos de HDFS a la base de datos relacional

sqoop export –connect jdbc: mysql: // localhost / sqoop_export –table export-dir / sqoop / emp_last / part-m-00000 –update-key id
sqoop export –connect jdbc: mysql: // localhost / sqoop_export –table log_table – export-dir / sqoop / data / foler1 / part-m-00000

5. ¿Qué es Sqoop Metastore? ¿Explícalo?

Responder:
El Metastore de Sqoop es una herramienta disponible en Sqoop que se utilizará para configurar la aplicación Sqoop para permitir el alojamiento de un repositorio compartido en forma de metadatos. Este Metastore se puede usar para ejecutar los trabajos y administrar una cantidad de usuarios en función de los roles y actividades de los usuarios. Todos los usuarios múltiples pueden realizar múltiples tareas u operaciones simultáneamente para lograr las tareas de manera eficiente. El Metastore de Sqoop se implementará como una representación en memoria de forma predeterminada. Cuando se crea un trabajo dentro de Sqoop, la definición del trabajo se almacena dentro del Metastore y se enumerará utilizando trabajos Sqoop si es necesario.

6. ¿Qué formatos de archivo admite Sqoop al importar los datos?

Responder:
Sqoop usa dos formatos de archivo para la importación de datos. Ellos son: - Formato de archivo de prueba delimitado y formato de archivo de secuencia.

Formato de archivo de texto delimitado : El formato de texto delimitado es el formato de archivo predeterminado para importar. Todavía podemos especificar explícitamente el uso del argumento –as- textil. Del mismo modo, pasar el argumento establecerá los caracteres delimitadores entre filas y columnas.

Formato de archivo de secuencia : este formato de archivo podemos decir que es un formato de archivo binario. Este tipo de registros de archivos de formato se almacena en tipos de datos específicos de registros personalizados que se exponen como clases Java.

Pasemos a las siguientes preguntas de la entrevista de Sqoop.

7. ¿Podemos controlar varios mapeadores en sqoop? Si es así, ¿cómo?

Responder:
Sí, podemos controlar el número de mapeadores en Sqoop especificando el parámetro "-num-mappers" en el comando sqoop. Este parámetro puede controlar el número de tareas del mapa, eso no es más que el grado de paralelismo que utilizará sqoop. El número se decidirá según el requisito.

Sintaxis: use estas banderas para controlar el número de mapeadores: m, -num- mapeadores

Parte 2 - Preguntas de la entrevista de Sqoop (avanzado)

Veamos ahora las preguntas avanzadas de la entrevista de Sqoop.

8. ¿Qué es Sqoop-merge y explica su uso?

Responder:
Sqoop merge es una herramienta que combina dos conjuntos de datos diferentes que mantienen la única versión sobrescribiendo las entradas en una versión anterior de un conjunto de datos con nuevos archivos para convertirlo en el último conjunto de datos de la versión. Ocurre un proceso de aplanamiento al fusionar los dos conjuntos de datos diferentes que preserva los datos sin pérdida y con eficiencia y seguridad. Para realizar esta operación, el comando de combinación de teclas se utilizará como "–merge-key"

9. ¿Cuáles son las diferencias entre Sqoop, flume y distcp?

Responder:
Tanto Distcp como Sqoop se utilizan para transferir los datos. Sqoop se usa para transferir cualquier tipo de datos de un clúster de Hadoop a otro clúster, mientras que Sqoop transfiere datos entre bases de datos relacionales y el ecosistema de Hadoop, como Hive, HDFS y HBase, etc. Pero ambos métodos utilizan el mismo enfoque para copiar los datos., que es pull / transfer.

Flume ha distribuido una herramienta, sigue la arquitectura basada en agentes, para transmitir los registros al ecosistema de Hadoop. Mientras que Sqoop es una arquitectura basada en conectores.

Flume recopila y agrega una gran cantidad de datos de registro. Flume puede recopilar los datos de un tipo diferente de recursos; no considera el esquema ni los datos estructurados / no estructurados. Flume puede extraer cualquier tipo de datos. Mientras que Sqoop solo puede importar los datos de la base de datos relacional, el esquema es obligatorio para que sqoop lo procese. En general, para mover cargas de trabajo a granel, el canal es la mejor opción.

Pasemos a las siguientes preguntas de la entrevista de Sqoop.

10. ¿Cuáles son las fuentes de datos compatibles con Apache Sqoop?

Responder:
Las diferentes fuentes de datos de varias aplicaciones compatibles con Apache Sqoop son las siguientes:

  1. Colmena
  2. HBase
  3. Sistema de archivos distribuidos de Hadoop (HDFS)
  4. HCatalog
  5. Acumulo

11. ¿Cuáles son los comandos / funciones más utilizados en Sqoop?

Responder:

Estas son las preguntas avanzadas de la entrevista Sqoop formuladas en una entrevista. La lista de comandos básicos utilizados en Sqoop es la siguiente:

Codegen -Codegen se utiliza para generar código para comunicarse con los registros de la base de datos.

Eval -Sqoop Eval ayuda a ejecutar consultas SQL de muestra en las bases de datos y proporciona los resultados en la consola.

Ayuda -Ayuda a enumerar los comandos disponibles

Importar: Importar importará la tabla al ecosistema Hadoop

Export -Export se utiliza para exportar datos HDFS a bases de datos relacionales.

Create-hive-table -Este comando es útil para importar la definición de la tabla a Hive

Import-all-tables -Import-all-tables importará las tablas para formar bases de datos relacionales a HDFS.

Lista de bases de datos: enumerará todas las bases de datos presentes en un servidor.

List-tables -Enumerará todas las tablas presentes en una base de datos.

Versiones: mostrará la información de la versión.

Funciones : importación / exportación paralela, carga completa, carga incremental, carga completa, comparación, conectores para bases de datos RDBMS, integración de seguridad Kerberos, carga de datos directamente en HDFS (Hive / HBase)

12. Explique las mejores prácticas al importar tablas de MySQL o cualquier otra base de datos usando Sqoop?

Responder:
Al importar las tablas de MySQL, debemos asegurarnos de algunas cosas, como la autenticación y la autorización para el servidor de destino y las bases de datos. Necesitamos asegurarnos de que hemos otorgado los privilegios necesarios en las bases de datos, a las que se debe acceder y también asegurarnos de la resolución del nombre de host cuando nos conectamos con los nombres de host de origen y destino. Si no tenemos el permiso necesario, obtendremos una excepción de falla de conexión mientras nos conectamos a la base de datos.

13. ¿Cómo actualiza los datos o las filas ya exportadas?

Responder:
Para actualizar las filas, que ya están exportadas al destino, podemos usar el parámetro "–update-key". En esto, se usa una lista de columnas separadas por comas que identifica de forma exclusiva una fila y todas estas columnas se usan en la cláusula WHERE de la consulta UPDATE generada. SET parte de la consulta se encargará de todas las otras columnas de la tabla.

Pasemos a las siguientes preguntas de la entrevista de Sqoop.

14. ¿Cómo configurar e instalar el controlador JDBC en Apache Sqoop?

Responder:
Los controladores JDB en Apache Sqoop se pueden configurar en función del proveedor de Hadoop, como Cloudera o Hortonworks, donde varía ligeramente su configuración en función del proveedor de Hadoop. El JDBC en Cloudera se puede configurar creando una carpeta de biblioteca como / var / lib /. Esto se puede hacer para cualquier biblioteca de terceros que deba configurarse según el requisito. De esta manera, cualquier tipo de base de datos puede configurarse utilizando su controlador JDBC. Además del controlador JDBC, Apache Sqoop requiere un conector para establecer una conexión entre diferentes bases de datos relacionales. Los componentes principales necesarios para establecer una conexión con las bases de datos son a través del controlador y el conector del proveedor de la base de datos en particular.

15. ¿Cuál es la cláusula de división y cuándo la usamos?

Responder:
Un parámetro dividido por es para dividir los datos que se importarán en múltiples tareas paralelas. Usando este parámetro, podemos especificar los nombres de la columna, estos son los nombres de las columnas en función de qué sqoop dividirá los datos que se importarán en varios fragmentos y se ejecutarán de forma paralela. Es una de las técnicas para ajustar el rendimiento en Sqoop.

Artículos recomendados

Esta ha sido una guía para la Lista de preguntas y respuestas de la entrevista Sqoop para que el candidato pueda tomar medidas enérgicas contra estas preguntas de la entrevista Sqoop fácilmente. También puede consultar los siguientes artículos para obtener más información:

  1. Hadoop vs Teradata -Lo que es beneficioso
  2. 13 asombrosas preguntas de la entrevista de prueba de base de datos
  3. Las 10 preguntas más útiles de la entrevista de HBase
  4. 10 preguntas de la entrevista PHP más impresionantes para experimentados
  5. Conozca las 5 preguntas más útiles de la entrevista DBA