Más de 15 preguntas y respuestas de entrevistas de Apache Spark 2022

Publicado: 2021-01-08

Cualquiera que esté familiarizado con Apache Spark sabe por qué se está convirtiendo en una de las herramientas de Big Data más preferidas en la actualidad: permite un cálculo súper rápido.

El hecho de que Spark admita el procesamiento rápido de Big Data lo está convirtiendo en un éxito entre las empresas de todo el mundo. Desde grandes nombres como Amazon, Alibaba, eBay y Yahoo, hasta pequeñas empresas de la industria, Spark ha ganado una gran cantidad de seguidores. Gracias a esto, las empresas buscan continuamente profesionales capacitados en Big Data con experiencia en el dominio de Spark.

Para todos los que deseen obtener trabajos relacionados con un perfil de Big Data (Spark), primero deben descifrar con éxito la entrevista de Spark. Aquí hay algo que puede acercarlo un paso más a su objetivo: ¡las 15 preguntas más frecuentes de la entrevista de Apache Spark!

  1. ¿Qué es Chispa?

Spark es un marco de Big Data de computación en clúster de código abierto que permite el procesamiento en tiempo real. Es un motor de procesamiento de datos de propósito general que es capaz de manejar diferentes cargas de trabajo como lote, interactivo, iterativo y de transmisión. Spark ejecuta cálculos en memoria que ayudan a aumentar la velocidad del procesamiento de datos. Puede ejecutarse de forma independiente, en Hadoop o en la nube.

  1. ¿Qué es RDD?

RDD o Resilient Distributed Dataset es la estructura de datos principal de Spark. Es una abstracción esencial en Spark que representa la entrada de datos en un formato de objeto. RDD es una colección inmutable de objetos de solo lectura en la que cada nodo se divide en partes más pequeñas que se pueden calcular en diferentes nodos de un clúster para permitir el procesamiento de datos independiente.

  1. Diferenciar entre Apache Spark y Hadoop MapReduce.

Los diferenciadores clave entre Apache Spark y Hadoop MapReduce son:

  • Spark es más fácil de programar y no requiere abstracciones. MapReduce está escrito en Java y es difícil de programar. Necesita abstracciones.
  • Spark tiene un modo interactivo, mientras que MapReduce carece de él. Sin embargo, herramientas como Pig y Hive facilitan el trabajo con MapReduce.
  • Spark permite el procesamiento por lotes, la transmisión y el aprendizaje automático dentro del mismo clúster. MapReduce es el más adecuado para el procesamiento por lotes.
  • Spark puede modificar los datos en tiempo real a través de Spark Streaming. No existe tal disposición en tiempo real en MapReduce: solo puede procesar un lote de datos almacenados.
  • Spark facilita los cálculos de baja latencia al almacenar en caché los resultados parciales en la memoria. Esto requiere más espacio de memoria. Por el contrario, MapReduce está orientado a disco que permite el almacenamiento permanente.
  • Dado que Spark puede ejecutar tareas de procesamiento en la memoria, puede procesar datos mucho más rápido que MapReduce.
  1. ¿Qué es el vector disperso?

Un vector disperso se compone de dos matrices paralelas, una para índices y otra para valores. Se utilizan para almacenar entradas distintas de cero para ahorrar espacio en la memoria.

  1. ¿Qué es el particionamiento en Spark?

La partición se utiliza para crear unidades de datos lógicas y más pequeñas para ayudar a acelerar el procesamiento de datos. En Spark, todo es un RDD particionado. Las particiones paralelizan el procesamiento de datos distribuidos con un tráfico de red mínimo para enviar datos a los distintos ejecutores del sistema.

  1. Defina Transformación y Acción.

Tanto la Transformación como la Acción son operaciones ejecutadas dentro de un RDD.

Cuando la función de transformación se aplica a un RDD, crea otro RDD. Dos ejemplos de transformación son map() y filer(): mientras que map() aplica la función que se le transfirió en cada elemento de RDD y crea otro RDD, filter() crea un nuevo RDD seleccionando componentes del RDD actual que transfieren la argumento de función. Se activa solo cuando se produce una acción.

Una acción recupera los datos de RDD a la máquina local. Activa la ejecución mediante el uso de un gráfico de linaje para cargar los datos en el RDD original, realizar todas las transformaciones intermedias y devolver los resultados finales al programa Driver o escribirlos en el sistema de archivos.

  1. ¿Qué es un gráfico de linaje?

En Spark, los RDD dependen unos de otros. La representación gráfica de estas dependencias entre los RDD se denomina gráfico de linaje. Con la información del gráfico de linaje, cada RDD se puede calcular a pedido: si alguna vez se pierde una parte de un RDD persistente, los datos perdidos se pueden recuperar utilizando la información del gráfico de linaje.

  1. ¿Cuál es el propósito del SparkCore?

SparkCore es el motor base de Spark. Realiza una gran cantidad de funciones vitales como la tolerancia a fallas, la administración de memoria, la supervisión de trabajos, la programación de trabajos y la interacción con los sistemas de almacenamiento.

  1. Nombra las principales bibliotecas del Ecosistema Spark.

Las principales bibliotecas en Spark Ecosystem son:

  • Spark Streaming: se utiliza para permitir la transmisión de datos en tiempo real.
  • Spark MLib: es la biblioteca de aprendizaje automático de Spark que se usa comúnmente para algoritmos de aprendizaje como clasificación, regresión, agrupación, etc.
  • Spark SQL: ayuda a ejecutar consultas de tipo SQL en datos de Spark mediante la aplicación de herramientas estándar de visualización o inteligencia empresarial.
  • Spark GraphX: es una API de Spark para el procesamiento de gráficos para desarrollar y transformar gráficos interactivos.
  1. ¿Qué es el HILO? ¿Es necesario instalar Spark en todos los nodos de un clúster de YARN?

Yarn es una plataforma central de gestión de recursos en Spark. Permite la entrega de operaciones escalables en todo el clúster de Spark. Si bien Spark es la herramienta de procesamiento de datos, YARN es el administrador de contenedores distribuidos. Así como Hadoop MapReduce puede ejecutarse en YARN, Spark también puede ejecutarse en YARN.

No es necesario instalar Spark en todos los nodos de un clúster de YARN porque Spark puede ejecutarse sobre YARN; se ejecuta independientemente de su instalación. También incluye diferentes configuraciones para ejecutarse en YARN, como maestro, cola, modo de implementación, memoria de controlador, memoria de ejecutor y núcleos de ejecución.

  1. ¿Qué es el Marco Catalyst?

El marco Catalyst es un marco de optimización único en Spark SQL. El objetivo principal de un marco de catalizador es permitir que Spark transforme automáticamente las consultas SQL agregando nuevas optimizaciones para desarrollar un sistema de procesamiento más rápido.

  1. ¿Cuáles son los diferentes tipos de administradores de clústeres en Spark?

El marco de Spark se compone de tres tipos de administradores de clústeres:

  1. Independiente: el administrador principal utilizado para configurar un clúster.
  2. Apache Mesos: el administrador de clúster generalizado integrado de Spark que también puede ejecutar Hadoop MapReduce y otras aplicaciones.
  3. Yarn: el administrador de clústeres para manejar la administración de recursos en Hadoop.
  1. ¿Qué es un nodo trabajador?

Worker Node es el "nodo esclavo" del Master Node. Hace referencia a cualquier nodo que pueda ejecutar el código de la aplicación en un clúster. Entonces, el nodo maestro asigna trabajo a los nodos trabajadores que realizan las tareas asignadas. Los nodos trabajadores procesan los datos almacenados y luego informan al nodo maestro.

  1. ¿Qué es un ejecutor Spark?

Un Spark Executor es un proceso que ejecuta cálculos y almacena los datos en el nodo trabajador. Cada vez que SparkContext se conecta con un administrador de clústeres, adquiere un Ejecutor en los nodos dentro de un clúster. Estos ejecutores ejecutan las tareas finales que les asigna SparkContext.

  1. ¿Qué es un archivo de parquet?

El archivo Parquet es un archivo de formato de columnas que permite a Spark SQL realizar operaciones de lectura y escritura. Utilizar el archivo parquet (formato columnar) tiene muchas ventajas:

  1. El formato de almacenamiento de columnas consume menos espacio.
  2. El formato de almacenamiento de columnas mantiene las operaciones de E/S bajo control.
  3. Le permite acceder a columnas específicas con facilidad.
  4. Sigue la codificación específica del tipo y ofrece datos mejor resumidos.

Allí, te hemos facilitado en Spark. Estos 15 conceptos fundamentales en Spark lo ayudarán a comenzar con Spark.

Si está interesado en saber más sobre Big Data, consulte nuestro programa PG Diploma in Software Development Specialization in Big Data, que está diseñado para profesionales que trabajan y proporciona más de 7 estudios de casos y proyectos, cubre 14 lenguajes y herramientas de programación, prácticas talleres, más de 400 horas de aprendizaje riguroso y asistencia para la colocación laboral con las mejores empresas.

Consulte nuestros otros cursos de ingeniería de software en upGrad.

Mejore sus habilidades y prepárese para el futuro

Más de 400 horas de aprendizaje. 14 idiomas y herramientas. Estado de ex alumnos del IIIT-B.
Programa de Certificado Avanzado en Big Data de IIIT Bangalore