Geekflare recibe el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliación de los enlaces de compra en este sitio.
En Carrera profesional Última actualización: 15 de septiembre de 2023
Compartir en:
Escáner de seguridad de aplicaciones web Invicti - la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

Pues bien, las estadísticas de Forbes afirman que hasta 90% de las organizaciones mundiales utilizan análisis de Big Data para crear sus informes de inversión.

Con la creciente popularidad de Grandes datosEn consecuencia, las oportunidades de empleo en Hadoop están aumentando más que antes.

Por lo tanto, para ayudarte a conseguir ese puesto de experto en Hadoop, puedes utilizar estas preguntas y respuestas de entrevista que hemos reunido para ti en este artículo para ayudarte a superar la entrevista.

Quizás conocer datos como el rango salarial que hacen lucrativos los roles de Hadoop y Big Data te motiven a pasar esa entrevista, ¿verdad? 🤔

  • Según indeed.com, un desarrollador de Big Data Hadoop en EE.UU. gana un salario medio de $144.000.
  • Según itjobswatch.esEl salario medio de un desarrollador de Big Data Hadoop es de 66.750 £.
  • En la India, la fuente indeed.com afirma que ganarían un salario medio de ₹ 16.00.000.

Lucrativo, ¿no crees? Ahora, entremos de lleno a aprender sobre Hadoop.

¿Qué es Hadoop?

Hadoop es un popular marco escrito en Java que utiliza modelos de programación para procesar, almacenar y analizar grandes conjuntos de datos.

Por defecto, su diseño permite escalar desde servidores individuales a múltiples máquinas que ofrecen computación y almacenamiento local. Además, su capacidad para detectar y gestionar fallos en la capa de aplicación, lo que se traduce en servicios de alta disponibilidad, hace que Hadoop sea bastante fiable.

Pasemos directamente a las preguntas más frecuentes de las entrevistas sobre Hadoop y sus respuestas correctas.

Preguntas y respuestas de la entrevista de Hadoop

Hadoop

¿Qué es la unidad de almacenamiento en Hadoop?

Respuesta: La unidad de almacenamiento de Hadoop se llama Hadoop Distributed File System(HDFS).

¿En qué se diferencia el almacenamiento conectado a red del sistema de archivos distribuidos Hadoop?

Respuesta: HDFS, que es el almacenamiento principal de Hadoop, es un sistema de archivos distribuido que almacena archivos masivos utilizando hardware básico. Por otro lado, NAS es un servidor de almacenamiento de datos informáticos a nivel de archivos que proporciona a grupos heterogéneos de clientes acceso a los datos.

Mientras que el almacenamiento de datos en NAS se realiza en hardware dedicado, HDFS distribuye los bloques de datos entre todas las máquinas del clúster Hadoop.

NAS utiliza dispositivos de almacenamiento de gama alta, que son bastante costosos, mientras que el hardware básico utilizado en HDFS es rentable.

NAS almacena por separado los datos de los cálculos, por lo que no es adecuado para MapReduce. Por el contrario, el diseño de HDFS le permite trabajar con el marco MapReduce. Los cálculos se mueven hacia los datos en el marco de MapReduce en lugar de los datos hacia los cálculos.

Explicar MapReduce en Hadoop y Shuffling

Respuesta: MapReduce se refiere a dos tareas distintas que los programas Hadoop realizan para permitir una gran escalabilidad a través de cientos a miles de servidores dentro de un clúster Hadoop. Shuffling, por otro lado, transfiere la salida del mapa de Mappers al Reducer necesario en MapReduce.

Un vistazo a la arquitectura de Apache Pig

Arquitectura Apache-Pig
Arquitectura de Apache Pig

Respuesta: La arquitectura Apache Pig cuenta con un intérprete Pig Latin que procesa y analiza grandes conjuntos de datos mediante scripts Pig Latin.

Apache pig también consiste en conjuntos de datos sobre los que se realizan operaciones de datos como unir, cargar, filtrar, ordenar y agrupar.

El lenguaje Pig Latin utiliza mecanismos de ejecución como Grant shells, UDFs e incrustados para escribir scripts Pig que realicen las tareas requeridas.

Pig facilita el trabajo de los programadores convirtiendo estos scripts escritos en series de trabajos Map-Reduce.

Los componentes de la arquitectura de Apache Pig incluyen:

  • Parser - Maneja los Pig Scripts comprobando la sintaxis del script y realizando una comprobación de tipos. La salida del analizador representa las sentencias y operadores lógicos de Pig Latin y se denomina DAG (grafo acíclico dirigido).
  • Optimizador - El optimizador implementa optimizaciones lógicas como la proyección y el pushdown en el DAG.
  • Compilador - Compila el plan lógico optimizado del optimizador en una serie de trabajos MapReduce.
  • Motor de ejecución - Aquí es donde se produce la ejecución final de los trabajos MapReduce en la salida deseada.
  • Modo de ejecución - Los modos de ejecución en Apache pig incluyen principalmente local y Map Reduce.

Diferencias entre el metastore local y el metastore remoto

Respuesta: El servicio Metastore en Metastore Local se ejecuta en la misma JVM que Hive pero se conecta a una base de datos que se ejecuta en un proceso separado en la misma máquina o en una máquina remota. Por otro lado, Metastore en el Metastore Remoto se ejecuta en su JVM separada de la JVM del servicio Hive.

¿Cuáles son las cinco V de Big Data?

Respuesta: Estas cinco V representan las principales características de Big Data. Incluyen:

  • Valor: Big data busca proporcionar beneficios significativos de alta Retorno de la inversión (ROI) a una organización que utiliza big data en sus operaciones de datos. El big data aporta este valor desde su descubrimiento de insights y reconocimiento de patrones, lo que se traduce en relaciones más sólidas con los clientes y operaciones más eficaces, entre otros beneficios.
  • Variedad: Representa la heterogeneidad del tipo de datos recogidos. Los distintos formatos incluyen CSVvídeos, audio, etc.
  • Volumen: Define la cantidad y el tamaño significativos de los datos gestionados y analizados por una organización. Estos datos muestran un crecimiento exponencial.
  • Velocidad: Es la velocidad exponencial de crecimiento de los datos.
  • Veracidad: La veracidad se refiere al grado de "incertidumbre" o "inexactitud" de los datos disponibles debido a que éstos son incompletos o incoherentes.

Explicar los diferentes tipos de datos de Pig Latin.

Respuesta: Los tipos de datos en Pig Latin incluyen tipos de datos atómicos y tipos de datos complejos.

Los tipos de datos atómicos son los tipos de datos básicos utilizados en cualquier otro lenguaje. Incluyen los siguientes:

  • Int - Este tipo de datos define un entero de 32 bits con signo. Ejemplo: 13
  • Long - Long define un entero de 64 bits. Ejemplo: 10L
  • Float - Define un punto flotante de 32 bits con signo. Ejemplo: 2.5F
  • Doble - Define un punto flotante de 64 bits con signo. Ejemplo: 23.4
  • Booleano - Define un valor booleano. Incluye: Verdadero/Falso
  • Datetime - Define un valor de fecha-hora. Example: 1980-01-01T00:00.00.000+00:00

Los tipos de datos complejos incluyen:

  • Map- Map se refiere a un conjunto de pares clave-valor. Ejemplo: ['color'#'amarillo', 'número'#3]
  • Bolsa - Es una colección de un conjunto de tuplas, y utiliza el símbolo '{}'. Ejemplo: {(Enrique, 32), (Kiti, 47)}
  • Tupla - Una tupla define un conjunto ordenado de campos. Ejemplo : (Edad, 33)

¿Qué son Apache Oozie y Apache ZooKeeper?

Respuesta: Apache Oozie es un programador de Hadoop encargado de programar y unir los trabajos de Hadoop como un único trabajo lógico.

Apache Zookeeper, por su parte, se coordina con varios servicios en un entorno distribuido. Ahorra tiempo a los desarrolladores simplemente exponiendo servicios sencillos como la sincronización, la agrupación, el mantenimiento de la configuración y la asignación de nombres. Apache Zookeeper también proporciona soporte estándar para la elección de colas y líderes.

¿Cuál es la función de Combiner, RecordReader y Partitioner en una operación MapReduce?

Respuesta: El combinador actúa como un minirreductor. Recibe y trabaja con los datos de las tareas de mapa y luego pasa la salida de los datos a la fase reductora.

El RecordHeader se comunica con el InputSplit y convierte los datos en pares clave-valor para que el mapeador los lea adecuadamente.

El Particionador es responsable de decidir el número de tareas reducidas necesarias para resumir los datos y de confirmar cómo se envían las salidas del combinador al reductor. El Particionador también controla la partición clave de las salidas intermedias del mapa.

Mencione las diferentes distribuciones de Hadoop específicas de cada proveedor.

Respuesta: Entre los distintos proveedores que amplían las capacidades de Hadoop figuran:

  • Plataforma abierta de IBM.
  • Distribución Cloudera CDH Hadoop
  • Distribución MapR Hadoop
  • Amazon MapReduce elástico
  • Plataforma de datos Hortonworks (HDP)
  • Pivotal Big Data Suite
  • Datastax Enterprise Analytics
  • HDInsight de Microsoft Azure - Distribución de Hadoop basada en la nube.

¿Por qué HDFS es tolerante a fallos?

Respuesta: HDFS replica los datos en diferentes DataNodes, lo que lo hace tolerante a fallos. Almacenar los datos en diferentes nodos permite recuperarlos de otros nodos cuando un modo falla.

Diferenciar entre Federación y Alta Disponibilidad.

Respuesta: HDFS Federation ofrece tolerancia a fallos que permite el flujo continuo de datos en un nodo cuando otro falla. Por otro lado, la alta disponibilidad requerirá dos máquinas separadas configurando el NameNode activo y el NameNode secundario en la primera y segunda máquinas por separado.

Federación puede tener un número ilimitado de NameNodes no relacionados, mientras que en Alta disponibilidad, sólo se dispone de dos NameNodes relacionados, activo y en espera, que funcionan continuamente.

Los NameNodes de la federación comparten un conjunto de metadatos, y cada NameNode tiene su conjunto dedicado. En alta disponibilidad, sin embargo, los NameNodes activos se ejecutan de uno en uno, mientras que los NameNodes en espera permanecen inactivos y sólo actualizan sus metadatos ocasionalmente.

¿Cómo conocer el estado de los bloques y la salud del sistema de archivos?

Respuesta: Se utiliza el hdfs fsck / tanto en el nivel de usuario raíz como en un directorio individual para comprobar el estado del sistema de archivos HDFS.

Comando HDFS fsck en uso:

hdfs fsck / -files --blocks –locations> dfs-fsck.log

La descripción del comando:

  • -archivos: Imprime los archivos que está comprobando.
  • -ubicaciones: Imprime la ubicación de todos los bloques durante la comprobación.

Comando para comprobar el estado de los bloques:

hdfs fsck <path> -files -blocks
  • : Inicia las comprobaciones a partir de la ruta pasada aquí.
  • - bloques: Imprime los bloques del fichero durante la comprobación

¿Cuándo utilizar los comandos rmadmin-refreshNodes y dfsadmin-refreshNodes?

Respuesta: Estos dos comandos son útiles para actualizar la información de los nodos, ya sea durante la puesta en marcha o cuando ésta haya finalizado.

En dfsadmin-refreshNodes ejecuta el cliente HDFS y actualiza la configuración del nodo NameNode. El comando rmadmin-refreshNodes ejecuta las tareas administrativas del gestor de recursos.

¿Qué es un punto de control?

Respuesta: Checkpoint es una operación que fusiona los últimos cambios del sistema de archivos con el FSImage más reciente para que los archivos de registro de edición sigan siendo lo suficientemente pequeños como para acelerar el proceso de inicio de un NameNode. El punto de control se produce en el NameNode secundario.

¿Por qué utilizamos HDFS para aplicaciones con grandes conjuntos de datos?

Respuesta: HDFS proporciona una arquitectura DataNode y NameNode que implementa un sistema de archivos distribuido.

Estas dos arquitecturas proporcionan un acceso de alto rendimiento a los datos a través de clústeres altamente escalables de Hadoop. Su NameNode almacena los metadatos del sistema de archivos en RAM, lo que hace que la cantidad de memoria limite el número de archivos del sistema de archivos HDFS.

¿Qué hace el comando "jps"?

Respuesta: El comando Java Virtual Machine Process Status (JPS) comprueba si determinados demonios de Hadoop, incluidos NodeManager, DataNode, NameNode y ResourceManager, se están ejecutando o no. Este comando debe ejecutarse desde la raíz para comprobar los nodos operativos en el Host.

¿Qué es la "ejecución especulativa" en Hadoop?

Respuesta: Se trata de un proceso en el que el nodo maestro de Hadoop, en lugar de arreglar las tareas lentas detectadas, lanza una instancia diferente de la misma tarea como tarea de respaldo (tarea especulativa) en otro nodo. La ejecución especulativa ahorra mucho tiempo, especialmente en un entorno de carga de trabajo intensiva.

Nombra los tres modos en los que puede ejecutarse Hadoop.

Respuesta: Los tres nodos principales en los que se ejecuta Hadoop son:

  • Standalone Node es el modo por defecto que ejecuta los servicios Hadoop utilizando el FileSystem local y un único proceso Java.
  • El Nodo Pseudo-distribuido ejecuta todos los servicios Hadoop utilizando un único despliegue Hadoop ode.
  • El nodo totalmente distribuido ejecuta los servicios maestro y esclavo de Hadoop utilizando nodos separados.

¿Qué es una UDF?

Respuesta: UDF (Funciones Definidas por el Usuario) le permite codificar sus funciones personalizadas que puede utilizar para procesar valores de columna durante un Consulta Impala.

¿Qué es DistCp?

Respuesta: DistCp o Distributed Copy, en pocas palabras, es una herramienta útil para la copia de grandes cantidades de datos entre clústeres o dentro de ellos. Utilizando MapReduce, DistCp implementa eficazmente la copia distribuida de una gran cantidad de datos, entre otras tareas como la gestión de errores, la recuperación y la generación de informes.

Explicación de un metastore en Hive.

Respuesta: Hive metastore es un servicio que almacena los metadatos de Apache Hive para las tablas Hive en una base de datos relacional como MySQL. Proporciona la API de servicio metastore que permite el acceso cent a los metadatos.

Definir RDD.

Respuesta: RDD, siglas de Resilient Distributed Datasets, es la estructura de datos de Spark y una colección distribuida inmutable de sus elementos de datos que computa en los diferentes nodos del clúster.

¿Cómo se pueden incluir bibliotecas nativas en los trabajos de YARN?

Respuesta: Para ello, puede utilizar -Djava.library. path en el comando o configurando LD+LIBRARY_PATH en el archivo .bashrc utilizando el siguiente formato:

<property>
<name>mapreduce.map.env</name>
<value>LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/my/libs</value>
</property>

Explique "WAL" en HBase.

Respuesta: El Write Ahead Log(WAL) es un protocolo de recuperación que registra los cambios de datos del MemStore en HBase al almacenamiento basado en archivos. WAL recupera estos datos si el RegionalServer se bloquea o antes de vaciar el MemStore.

¿Es YARN un sustituto de Hadoop MapReduce?

Respuesta: No, YARN no es un Hadoop MapReduce sustitución. En su lugar, una potente tecnología llamada Hadoop 2.0 o MapReduce 2 soporta MapReduce.

¿Cuál es la diferencia entre ORDER BY y SORT BY en HIVE?

Respuesta: Aunque ambos comandos obtienen los datos de forma ordenada en Hive, los resultados de utilizar SORT BY sólo puede pedirse parcialmente.

Además, SORT BY requiere un reductor para ordenar las filas. Estos reductores necesarios para la salida final también pueden ser múltiples. En este caso, la salida final puede estar parcialmente ordenada.

Por otro lado, ORDER BY sólo requiere un reductor para un pedido total en salida. También puede utilizar la función LIMIT que reduce el tiempo total de clasificación.

¿Cuál es la diferencia entre Spark y Hadoop?

Respuesta: Aunque tanto Hadoop como Spark son marcos de procesamiento distribuido, su principal diferencia radica en el procesamiento. Mientras que Hadoop es eficiente para el procesamiento por lotes, Spark lo es para el procesamiento de datos en tiempo real.

Además, Hadoop lee y escribe principalmente archivos en HDFS, mientras que Spark utiliza el concepto Resilient Distributed Dataset para procesar datos en RAM.

En función de su latencia, Hadoop es un marco informático de alta latencia sin modo interactivo para procesar datos, mientras que Spark es un marco informático de baja latencia que procesa datos de forma interactiva.

Compara Sqoop y Flume.

Respuesta: Sqoop y Flume son herramientas Hadoop que recopilan datos de diversas fuentes y los cargan en HDFS.

  • Sqoop(SQL-to-Hadoop) extrae datos estructurados de bases de datos, incluida Teradata, MySQL, Oracle, etc., mientras que Flume es útil para extraer datos no estructurados de fuentes de bases de datos y cargarlos en HDFS.
  • En términos de eventos conducidos, Flume es conducido por eventos, mientras que Sqoop no es conducido por eventos.
  • Sqoop utiliza una arquitectura basada en conectores, donde los conectores saben cómo conectarse a una fuente de datos diferente. Flume utiliza una arquitectura basada en agentes, en la que el código escrito es el agente encargado de obtener los datos.
  • Debido a la naturaleza distribuida de Flume, puede recopilar y agregar datos fácilmente. Sqoop es útil para la transferencia paralela de datos, lo que da lugar a que la salida esté en varios archivos.

Explique el BloomMapFile.

Respuesta: BloomMapFile es una clase que extiende la clase MapFile y utiliza filtros Bloom dinámicos que proporcionan una rápida prueba de pertenencia para las claves.

Enumerar la diferencia entre HiveQL y PigLatin.

Respuesta: Mientras que HiveQL es un lenguaje declarativo similar a SQL, PigLatin es un lenguaje de flujo de datos procedimental de alto nivel.

¿Qué es la limpieza de datos?

Respuesta: La limpieza de datos es un proceso crucial para eliminar o corregir los errores de datos identificados, como los datos incorrectos, incompletos, corruptos, duplicados y con formato incorrecto en un conjunto de datos.

El objetivo de este proceso es mejorar la calidad de los datos y proporcionar información más precisa, coherente y fiable, necesaria para una toma de decisiones eficaz dentro de una organización.

Conclusión💃

Con la actual oleada de oportunidades de empleo en Big data y Hadoop, es posible que quieras mejorar tus posibilidades de entrar. Las preguntas y respuestas de este artículo sobre Hadoop te ayudarán a superar esa entrevista.

A continuación, puede consultar buenos recursos para aprender Big Data y Hadoop.

¡Mucha suerte! 👍

  • Neema Muganga
    Autor
Gracias a nuestros patrocinadores
Más lecturas sobre la carrera profesional
Potencia tu negocio
Algunas de las herramientas y servicios que le ayudarán a hacer crecer su negocio.
  • Invicti utiliza el Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en tan solo unas horas.
    Pruebe Invicti
  • Web scraping, proxy residencial, gestor de proxy, desbloqueador web, rastreador de motores de búsqueda, y todo lo que necesita para recopilar datos web.
    Pruebe Brightdata
  • Monday.com es un sistema operativo de trabajo todo en uno que te ayuda a gestionar proyectos, tareas, trabajo, ventas, CRM, operaciones, flujos de trabajo y mucho más.
    Prueba el lunes
  • Intruder es un escáner de vulnerabilidades en línea que encuentra puntos débiles de ciberseguridad en su infraestructura, para evitar costosas violaciones de datos.
    Prueba Intruder