Introducción

Los textos proporcionados introducen el ecosistema Hadoop, un conjunto de herramientas diseñadas para el procesamiento y análisis de grandes volúmenes de datos. Se presenta un caso práctico de un club de fútbol que busca mejorar su rendimiento mediante el uso de datos. Los documentos explican los componentes principales de Hadoop Core (HDFS, YARN, MapReduce) y cómo el ecosistema extiende sus funcionalidades con herramientas para acceso y procesamiento de datos (como Pig, Hive, Impala, HBase, Phoenix, Spark), ingesta y flujos de trabajo (Sqoop, Flume, Oozie), interfaces (Hue, Zeppelin, Ambari, Cloudera Manager) y procesamiento en streaming (Spark Structured Streaming, Flink, Storm). Finalmente, se ofrece una guía práctica para el uso de Hive y Pig.

Resumen de Audio

Briefing Doc: Análisis del Ecosistema Hadoop

Este documento presenta un análisis detallado del ecosistema Hadoop basado en el material proporcionado. Se revisarán los componentes clave, sus funcionalidades, casos de uso y las principales ideas presentadas en las fuentes.

Tema Principal: El ecosistema Hadoop como solución integral para el procesamiento y análisis de Big Data, ofreciendo una variedad de herramientas que van más allá del core (HDFS, YARN, MapReduce) para cubrir diferentes necesidades, desde el acceso y procesamiento de datos hasta la ingesta, gestión de flujos de trabajo y análisis en tiempo real.

Ideas y Hechos Clave:

  1. Motivación para adoptar Hadoop: El caso práctico del Real Ibérica Club ilustra la motivación de una organización por adoptar una plataforma Big Data como Hadoop, inspirada en el enfoque «data-driven» de «Moneyball«. El objetivo es mejorar el rendimiento deportivo y las decisiones de fichajes basándose en datos en lugar de conocimiento subjetivo.

«El presidente, en este momento, sabe que tiene la capacidad de dar un giro al club, y convertirlo en el primer club de fútbol data-driven, que es un concepto que significa que todas las decisiones se basan en datos, no en conocimiento subjetivo.»

La consultora recomendó Hadoop debido a la gran cantidad de datos disponibles (estadísticas de partidos, movimientos de jugadores, mercado de fichajes) y la posibilidad de recopilar aún más información (datos biométricos de jugadores mediante chalecos).

  1. Limitaciones del Hadoop Core: Se subraya que el core de Hadoop (HDFS, YARN, MapReduce) por sí solo ofrece funcionalidad limitada para el análisis de datos.

«Sólo con estas piezas, Hadoop no ofrece mucha funcionalidad, ya que para cualquier análisis se requiere que un equipo de expertos en Big Data programe procesos en MapReduce, que no son sencillos de implementar, y peor aún, más difíciles de mantener en caso de que los datos cambien, o se quiera obtener algún dato adicional como resultado.»

Desarrollar programas en MapReduce para tareas analíticas complejas es laborioso y requiere experiencia. El equipo de IT del Real Ibérica Club se da cuenta de esta limitación.

«Su director de IT, Juan Carlos, que ya conoce lo que es Hadoop, se ha dado cuenta de que con HDFS, MapReduce y YARN, la plataforma no ofrece mucha funcionalidad, por lo que le costará empezar a desarrollar casos de uso.»

  1. El Ecosistema Hadoop como Extensión: El ecosistema Hadoop se presenta como un conjunto de herramientas que complementan el core, facilitando el acceso, procesamiento, ingesta y gestión de datos, así como el análisis en tiempo real

La unidad se enfoca en explorar estas funcionalidades más allá del core.

  1. Componentes de Acceso y Procesamiento de Datos: Estas herramientas permiten interactuar con los datos de HDFS de maneras más sencillas y eficientes que con MapReduce directamente.

Se mencionan: Apache Pig, Apache Hive, Apache Impala, Apache HBase, Apache Phoenix y Apache Spark.

El caso práctico de Mireia cargando datos de ligas de fútbol en HDFS ilustra la necesidad de estas herramientas para realizar análisis complejos sin tener que escribir extensos programas MapReduce.

  1. Apache Pig: Se presenta como un lenguaje de alto nivel (Pig Latin) que simplifica el desarrollo de tareas de procesamiento de datos en Hadoop, abstrayendo la complejidad de MapReduce.

Se muestra un ejemplo comparativo del código necesario en MapReduce y Pig para contar las ocurrencias de palabras, evidenciando la simplicidad de Pig.

Pig ofrece comandos para filtrar, agrupar, leer, cargar, guardar y unir datos, y es extensible mediante funciones definidas por el usuario (UDF).

  1. Apache Hive: Se destaca como uno de los componentes más utilizados, ya que permite a usuarios no técnicos acceder y analizar datos en HDFS mediante un lenguaje de consulta similar a SQL (HQL).

«Apache Hive es sin lugar a dudas uno de los componentes más utilizados en el ecosistema Hadoop porque permite que usuarios no técnicos puedan acceder a los datos almacenados en el clúster…»

Hive ofrece una visión de los datos en HDFS como un Datawarehouse, permitiendo definir una estructura relacional (tablas, campos, etc.) sobre los datos.

HQL se ha convertido en un estándar de facto en el mundo Big Data.

Hive se integra con herramientas de terceros (como PowerBI y Tableau) mediante JDBC/ODBC.

Utiliza motores de procesamiento como MapReduce, Spark o Tez para ejecutar las consultas HQL.

Ofrece características como particiones para mejorar la eficiencia de las consultas, diferentes tipos de datos (incluyendo complejos como ARRAY, MAP y STRUCT) y sentencias DDL y DML para la gestión y consulta de datos.

Se describe su arquitectura, incluyendo clientes (Thrift Server, JDBC, ODBC) y servicios Hive (HiveServer, Driver, Metastore, Compilador, Optimizador, Ejecutor).

  1. Apache Impala: Se presenta como un motor de consultas SQL de alto rendimiento para datos almacenados en Hadoop, diseñado para ofrecer respuestas más rápidas que Hive, especialmente para consultas interactivas.

El caso del Real Ibérica Club experimentando lentitud con Hive en sus cuadros de mando motiva la exploración de Impala.

Impala está implementado en C++ y cuenta con optimizaciones en la ejecución de consultas.

Ofrece la misma interfaz ODBC y lenguaje de consultas (HQL) que Hive y utiliza el mismo Metastore.

Se menciona una problemática histórica con su arquitectura al ejecutarse fuera de YARN, lo que generaba competencia por recursos.

  1. Apache HBase: Se describe como una base de datos NoSQL de modelo clave-valor sobre Hadoop, diseñada para acceso aleatorio y operaciones CRUD (Crear, Leer, Actualizar, Borrar) de datos atómicos o de pequeño tamaño, algo para lo que HDFS no está optimizado.

El Real Ibérica Club busca HBase para implementar un sistema de tiempo real para el seguimiento de estadísticas de jugadores durante los partidos.

HBase almacena la información como array de bytes en HDFS y ofrece una API simple para las operaciones.

Su modelo de datos es no relacional y columnar, con filas identificadas por una «row-key» y datos organizados en «familias de columnas».

Se mencionan algunas operaciones básicas como list, create, put, get, scan y drop.

  1. Apache Phoenix: Se presenta como una capa sobre HBase que proporciona una interfaz SQL (mediante JDBC) para interactuar con los datos almacenados en HBase.

El Real Ibérica Club, tras implementar HBase para el almacenamiento de datos en tiempo real, busca Phoenix para facilitar la explotación de estos datos mediante consultas SQL.

Phoenix traduce las sentencias SQL en operaciones nativas de HBase, permitiendo realizar consultas complejas con el rendimiento de HBase.

  1. Apache Spark: Se destaca como una plataforma de computación en paralelo y un conjunto de librerías para el procesamiento de datos a gran escala en sistemas distribuidos.

El Real Ibérica Club está interesado en Spark para implementar modelos predictivos (machine learning).

Spark es el estándar de facto para el procesamiento de datos en Big Data, incluyendo ETL y machine learning.

Ofrece una plataforma unificada para procesamiento batch y streaming, aunque no tiene su propio sistema de almacenamiento persistente (utiliza HDFS u otros).

Se integra con Hadoop y suele ejecutarse sobre YARN.

Su core permite programación distribuida en Scala, Java, Python, R y SQL.

Ofrece librerías como Spark SQL, Structured Streaming (para procesamiento en tiempo real), MLLib (para machine learning) y GraphX (para procesamiento de grafos).

Se describe su arquitectura de ejecución con Driver, Ejecutores y el gestor del clúster.

Se explican conceptos clave como RDDs (Resilient Distributed Datasets), Transformaciones (lazy) y Acciones (inmediatas), así como DataFrames y DataSets.

Se mencionan ventajas como el uso de memoria para persistencia efímera, la unificación del procesamiento batch y streaming, una API rica y una gran comunidad.

  1. Componentes de Ingesta de Datos y Flujos de Trabajo: Estas herramientas facilitan la incorporación de datos desde diversas fuentes hacia Hadoop y la automatización de procesos.

El Real Ibérica Club necesita herramientas para realizar ingestas de datos de forma organizada y desasistida desde sus bases de datos internas y fuentes externas.

  1. Apache Sqoop: Se describe como una herramienta para transferir datos entre Hadoop y repositorios relacionales (bases de datos, mainframes).

Permite importar datos de bases de datos a HDFS y exportar datos de HDFS a bases de datos.

Utiliza programas MapReduce para realizar las transferencias.

Se mencionan comandos como sqoop-import y sqoop-export.

  1. Apache Flume: Se presenta como un servicio distribuido y altamente disponible para la recolección, agregación y movimiento eficiente de grandes cantidades de datos de streaming hacia el HDFS.

Su arquitectura se basa en Agentes, que contienen Fuentes (Sources), Canales (Channels) y Sumideros (Sinks).

Flume garantiza la entrega de datos y ofrece tolerancia a fallos.

Permite configurar topologías complejas para el flujo de datos.

Ofrece diversos tipos de fuentes, canales y sumideros predefinidos.

  1. Interfaces para Usuarios: Se exploran herramientas que facilitan la interacción de usuarios (tanto técnicos como no técnicos) con el ecosistema Hadoop.
  2. Hue (Hadoop User Experience): Se describe como una interfaz web que simplifica la administración y el uso de los componentes de Hadoop, ofreciendo funcionalidades como un editor SQL/HQL, visualización de tablas y bases de datos, exploración de HDFS, gestión de workflows de Oozie, etc.

Se destaca su orientación a usuarios de Hadoop incluso sin conocimientos técnicos.

Ofrece acceso securizado.

  1. Apache Zeppelin: Se presenta como un entorno de notebooks interactivo para el análisis de datos, especialmente orientado a científicos de datos.

Permite combinar código (en diferentes lenguajes como Python, Scala, R, SQL) y visualizaciones en un mismo documento.

Soporta intérpretes para diversos lenguajes y motores de procesamiento (Spark, Flink, Hive, Impala).

Permite visualizar resultados en diferentes formatos gráficos y hacerlos interactivos.

Facilita la colaboración y la publicación de los resultados.

  1. Procesamiento en Streaming (Fast Data): Se introduce el concepto de Fast Data o datos en streaming, que se generan de forma continua y requieren procesamiento en tiempo real para obtener valor inmediato.

Se compara con el procesamiento batch tradicional de Big Data.

Se mencionan casos de uso de tiempo real con mayor valor potencial (ejemplo de la fábrica y la detección de anomalías).

Se definen conceptos clave como la garantía de procesamiento («at least once» vs «exactly once») y el tipo de procesamiento (evento a evento vs micro-batch).

  1. Herramientas de Streaming en Hadoop: Se presentan tres herramientas principales para el análisis de datos en tiempo real dentro del ecosistema Hadoop:

Conclusiones:

El ecosistema Hadoop es una plataforma robusta y versátil para la gestión y análisis de grandes volúmenes de datos. Más allá de su núcleo de almacenamiento y procesamiento distribuido, ofrece una amplia gama de herramientas especializadas que permiten cubrir diversas necesidades, desde consultas interactivas y análisis SQL (Hive, Impala, Phoenix) hasta procesamiento de datos complejo (Pig, Spark), ingesta de datos (Sqoop, Flume), interfaces de usuario amigables (Hue, Zeppelin) y análisis de datos en tiempo real (Storm, Spark Streaming, Flink). La elección de qué componentes utilizar dependerá de los casos de uso específicos y los requisitos de la organización, como se ilustra en el ejemplo del Real Ibérica Club explorando diferentes herramientas para alcanzar sus objetivos basados en datos.

 

Final del formulario

 

 

Guía de Estudio: Almacenamiento y Procesamiento en Hadoop

Guía de Estudio del Ecosistema Hadoop

I. Resumen de Conceptos Clave

A. Hadoop Core

B. Componentes de Acceso y Procesamiento de Datos

C. Componentes de Ingesta y Flujos de Trabajo

D. Interfaces de Usuario

E. Procesamiento en Streaming

II. Cuestionario

  1. Explica brevemente los roles de HDFS y YARN en la arquitectura de Hadoop Core. ¿Por qué son fundamentales para el funcionamiento del ecosistema?

HDFS es la capa de almacenamiento distribuido que permite almacenar grandes volúmenes de datos de forma tolerante a fallos, dividiendo los archivos en bloques y replicándolos en diferentes nodos. YARN es el gestor de recursos que administra los recursos computacionales del clúster, asignándolos a las aplicaciones en ejecución. Son fundamentales porque proporcionan la base para el almacenamiento y procesamiento distribuido de datos a gran escala en Hadoop.

 

  1. ¿En qué se diferencia principalmente Apache Pig de MapReduce en términos de desarrollo de aplicaciones para el procesamiento de datos? Menciona una ventaja de usar Pig.

Apache Pig ofrece una abstracción de más alto nivel que MapReduce, permitiendo a los usuarios definir flujos de procesamiento de datos utilizando un lenguaje declarativo llamado Pig Latin en lugar de escribir código Java detallado. Una ventaja de usar Pig es que simplifica y acelera el desarrollo de tareas complejas de ETL y análisis de datos.

  1. Describe la principal funcionalidad de Apache Hive y explica por qué se considera una herramienta importante para usuarios no técnicos.

Apache Hive proporciona una interfaz de tipo SQL (HQL) sobre los datos almacenados en HDFS, permitiendo a los usuarios consultar y analizar grandes conjuntos de datos utilizando un lenguaje familiar. Es importante para usuarios no técnicos porque les permite acceder y manipular datos sin necesidad de conocimientos profundos de programación, facilitando la generación de informes y análisis de negocio.

  1. Compara y contrasta Apache Hive y Apache Impala en términos de rendimiento y casos de uso típicos. ¿Cuál sería más adecuado para consultas interactivas?

Apache Hive está más orientado al procesamiento batch de consultas complejas y puede tener una latencia más alta debido a su dependencia de MapReduce (aunque también puede usar Spark o Tez). Apache Impala está diseñado para consultas interactivas de baja latencia sobre datos Hadoop, pero su arquitectura puede presentar desafíos en la gestión de recursos compartidos con YARN. Impala sería más adecuado para consultas interactivas que requieren respuestas rápidas.

  1. ¿Cuál es el propósito principal de Apache HBase y en qué se diferencia de HDFS en cuanto al acceso y manipulación de datos?

Apache HBase es una base de datos NoSQL que proporciona acceso aleatorio de lectura y escritura en tiempo real a grandes conjuntos de datos. A diferencia de HDFS, que está optimizado para lecturas y escrituras secuenciales de archivos grandes e inmutables, HBase permite operaciones CRUD (crear, leer, actualizar, borrar) a nivel de fila y columna, lo que lo hace adecuado para aplicaciones operacionales.

  1. Explica cómo Apache Phoenix facilita la interacción con los datos almacenados en HBase. ¿Qué lenguaje de consulta utiliza?

Apache Phoenix proporciona una capa SQL sobre HBase, permitiendo a los usuarios interactuar con los datos NoSQL de HBase utilizando el lenguaje SQL estándar y a través de JDBC. Esto facilita la integración de HBase con aplicaciones y herramientas que esperan una interfaz relacional, sin requerir un conocimiento profundo de la API nativa de HBase.

  1. Describe la versatilidad de Apache Spark en el ecosistema Hadoop. Menciona al menos tres tipos de procesamiento o análisis que puede realizar.

Apache Spark es un motor de procesamiento en paralelo versátil que puede realizar procesamiento batch para tareas como ETL y análisis de datos históricos, procesamiento en streaming para análisis en tiempo real, análisis de datos utilizando SQL a través de Spark SQL, modelado predictivo y machine learning con MLLib, y análisis de grafos con GraphX, todo dentro de una misma plataforma unificada.

  1. ¿Cuál es la función de Apache Sqoop y en qué escenarios sería útil su utilización en un entorno Hadoop?

Apache Sqoop es una herramienta diseñada para transferir eficientemente datos entre el ecosistema Hadoop (como HDFS y Hive) y sistemas de bases de datos relacionales. Sería útil en escenarios donde se necesita importar datos existentes de bases de datos tradicionales a Hadoop para su procesamiento y análisis con herramientas de Big Data, o para exportar los resultados del procesamiento de Hadoop de vuelta a una base de datos relacional para su consumo por aplicaciones existentes.

  1. Describe brevemente la arquitectura de Apache Flume y menciona los tres componentes principales involucrados en el flujo de datos.

La arquitectura de Apache Flume se basa en agentes distribuidos que recolectan y mueven datos. Una fuente (Source) recibe datos de una fuente externa y los almacena en uno o varios canales (Channel), que actúan como buffers. Un sumidero (Sink) toma los eventos del canal y los entrega a un repositorio de destino, como HDFS.

  1. ¿Cuál es el valor añadido de herramientas como Hue y Apache Zeppelin para los usuarios del ecosistema Hadoop, especialmente para científicos de datos y analistas?

Hue y Apache Zeppelin proporcionan interfaces de usuario intuitivas que facilitan la interacción con el complejo ecosistema Hadoop. Hue ofrece una interfaz web para administración, exploración de datos y ejecución de consultas, haciéndolo accesible incluso para usuarios sin profundos conocimientos técnicos. Apache Zeppelin, con su enfoque en cuadernos interactivos y soporte para múltiples lenguajes, es especialmente valioso para científicos de datos, permitiéndoles explorar datos, escribir y ejecutar código, visualizar resultados y colaborar de manera más eficiente.

III. Preguntas de Ensayo

  1. El caso práctico del Real Ibérica Club ilustra la motivación para adoptar un ecosistema Hadoop. Describe cómo la progresión de herramientas como HDFS/YARN/MapReduce a Pig/Hive/Impala/Spark aborda las necesidades de un club de fútbol en su búsqueda por tomar decisiones basadas en datos.
  2. Compara y contrasta las fortalezas y debilidades de Apache Hive e Impala como motores de consulta SQL en el contexto del ecosistema Hadoop. ¿En qué escenarios recomendarías el uso de cada uno?
  3. Discute la importancia de las herramientas de ingesta de datos como Apache Sqoop y Apache Flume en un entorno Big Data. Describe sus casos de uso típicos y cómo contribuyen a un flujo de datos eficiente hacia Hadoop.
  4. Analiza el papel de Apache Spark como motor de procesamiento versátil dentro del ecosistema Hadoop. Describe sus ventajas sobre MapReduce y cómo sus diferentes componentes (Spark SQL, Structured Streaming, MLLib, GraphX) habilitan una amplia gama de aplicaciones de análisis de datos.
  5. Evalúa la evolución del procesamiento de datos en tiempo real dentro del ecosistema Hadoop, destacando las características clave y las garantías de procesamiento ofrecidas por Apache Storm, Apache Spark Structured Streaming y Apache Flink. ¿Cómo se podría elegir la herramienta adecuada para un caso de uso específico?

IV. Glosario de Términos Clave

 

 

 

 

Mapa Conceptual

 

 

 

Preguntas Frecuentes sobre Fundamentos de Hadoop: HDFS, YARN y MapReduce

  1. ¿Qué es Hadoop y cuáles son sus componentes principales?

Hadoop es una tecnología de Big Data diseñada para almacenar y procesar grandes volúmenes de datos de manera distribuida en clústeres de hardware común. Sus componentes principales son:

  1. ¿Qué es HDFS y cuáles son sus características fundamentales?

HDFS (Hadoop Distributed File System) es el sistema de archivos distribuido de Hadoop. Sus características fundamentales incluyen:

  1. ¿Cómo garantiza HDFS la tolerancia a fallos?

HDFS garantiza la tolerancia a fallos principalmente a través de la replicación de bloques. Cuando un fichero se escribe en HDFS, se divide en bloques, y cada bloque se replica un número configurable de veces (el factor de replicación por defecto es 3) en diferentes nodos del clúster. Si un nodo falla o un bloque se corrompe, HDFS puede acceder a las otras réplicas del bloque almacenadas en nodos diferentes, asegurando la disponibilidad de los datos. El NameNode es responsable de detectar fallos en los DataNodes y de iniciar la replicación de los bloques perdidos para mantener el factor de replicación deseado.

  1. ¿Cuáles son los componentes de la arquitectura de HDFS y cuál es la función de cada uno?

La arquitectura de HDFS consta de tres tipos principales de nodos:

  1. ¿Qué es YARN y cuál es su propósito en Hadoop?

YARN (Yet Another Resource Negotiator) es el sistema operativo de Hadoop para la gestión de recursos y la programación de trabajos. Su propósito principal es separar la gestión de recursos del procesamiento de datos, permitiendo que Hadoop soporte diferentes modelos de procesamiento además de MapReduce. YARN se encarga de:

  1. ¿Cuáles son los componentes de la arquitectura de YARN y cuál es la función de cada uno?

La arquitectura de YARN incluye los siguientes componentes principales:

  1. ¿Qué es MapReduce y cómo funciona el paradigma map y reduce?

MapReduce es un modelo de programación y un framework de procesamiento distribuido diseñado para procesar grandes volúmenes de datos en paralelo en clústeres Hadoop. El paradigma MapReduce consta de dos funciones principales:

Entre las fases map y reduce, MapReduce realiza automáticamente las fases de shuffle (transferencia de los resultados del map a los nodos reduce apropiados) y sort (ordenamiento de los pares clave-valor intermedios por clave dentro de cada partición reduce).

  1. ¿En qué situaciones es adecuado utilizar MapReduce y cuáles son sus principales limitaciones en comparación con otros frameworks de procesamiento en Hadoop?

MapReduce es adecuado para el procesamiento por lotes de grandes volúmenes de datos donde la latencia no es un requisito crítico. Es especialmente útil para tareas como el procesamiento de logs, la generación de informes, la indexación de datos y otras tareas de análisis masivo que se pueden dividir en operaciones map y reduce independientes y paralelas.

Sin embargo, MapReduce tiene limitaciones significativas en comparación con otros frameworks de procesamiento más recientes en Hadoop, como Spark o Flink. Sus principales limitaciones incluyen:

Debido a estas limitaciones, MapReduce se utiliza cada vez menos para nuevos desarrollos, siendo reemplazado en muchos casos por frameworks más flexibles y eficientes. Sin embargo, sigue siendo una parte fundamental del core de Hadoop y muchas herramientas de nivel superior aún lo utilizan internamente.

 

 

Evaluación

Preguntas:

Aquí tienes un cuestionario de 20 preguntas con cuatro posibles respuestas, basado en las fuentes proporcionadas, seguido de una tabla con las respuestas correctas y sus explicaciones:

Preguntas:

  1. ¿Cuál era la principal motivación de Marcos Peñalver, presidente del Real Ibérica Club, para contratar una consultoría especializada en Big Data?
    a) Implementar un nuevo sistema de gestión de socios.
    b) Tomar decisiones deportivas basadas en datos, como en la película Moneyball.
    c) Mejorar la infraestructura IT del club.
    d) Cumplir con las regulaciones de la liga de fútbol.
  2. ¿Qué recomendó la empresa de consultoría al Real Ibérica Club para la recopilación de datos de los jugadores?
    a) Analizar las estadísticas de partidos históricos.
    b) Contratar más ojeadores.
    c) Comprar chalecos que registran constantes vitales y datos de movimiento. d) Utilizar un software de análisis de video avanzado.
  3. ¿Cuál es el componente principal de Hadoop Core responsable del almacenamiento de datos?
    a) YARN.
    b) MapReduce. C
    ) HDFS.
    d) ZooKeeper.
  4. ¿Cuál es una limitación de usar únicamente Hadoop Core (HDFS, YARN, MapReduce) para el análisis de datos?
    a) Es muy rápido para cualquier tipo de análisis.
    b) Requiere que expertos en Big Data programen procesos complejos en MapReduce.
    c) Ofrece mucha funcionalidad lista para usar.
    d) Es fácil de usar para cualquier persona sin conocimientos técnicos.
  5. ¿Qué problema busca solucionar el ecosistema Hadoop en general?
    a) La falta de hardware para almacenar grandes cantidades de datos.
    b) La dificultad de ejecutar aplicaciones en múltiples sistemas operativos.
    c) La complejidad y la falta de usabilidad de Hadoop Core para tareas comunes.
    d) La ausencia de herramientas para la visualización de datos.
  6. ¿Qué tipo de componentes del ecosistema Hadoop facilitan el intercambio de datos con sistemas externos?
    a) Componentes de acceso y procesamiento de datos.
    b) Interfaces y herramientas de trabajo.
    c) Componentes de procesamiento en streaming.
    d) Componentes de ingesta y flujos de trabajo.
  7. ¿Qué lenguaje de programación es fundamental para desarrollar tareas en MapReduce?
    a) Python.
    b) SQL. C
    ) Java.
    d) Scala.
  8. ¿Cuál es el lenguaje de alto nivel desarrollado por Yahoo para simplificar la implementación de programas de procesamiento de datos sobre Hadoop?
    a) HQL.
    b) SQL. C
    ) Pig Latin.
    d) Scala.
  9. ¿Qué componente del ecosistema Hadoop permite a usuarios no técnicos acceder a los datos almacenados en el clúster mediante un lenguaje similar a SQL (HQL)?
    a) Apache Pig.
    b) Apache HBase.
    c) Apache Hive.
    d) Apache Impala.
  10. ¿Qué limitación de Hadoop buscaba solucionar Apache Hive al ser desarrollado por ingenieros de Facebook?
    a) La falta de capacidad para procesar datos en tiempo real.
    b) La dificultad de realizar análisis sobre ficheros de HDFS sin conocimientos de programación.
    c) El alto costo del hardware necesario para ejecutar Hadoop.
    d) La incompatibilidad con herramientas de visualización de datos.
  11. ¿Qué tipo de interfaz permite que aplicaciones externas como Excel o PowerBI accedan a los datos de HDFS a través de Hive?
    a) API REST.
    b) Thrift Server.
    c) JDBC/ODBC.
    d) HDFS Native Client.
  12. ¿Qué componente de la arquitectura de Hive contiene el registro de todos los metadatos de Hive, como la definición de las tablas?
    a) HiveServer.
    b) Driver.
    c) Compilador.
    d) Metastore.
  13. ¿Cuál es el lenguaje de consulta que ofrece Apache Hive?
    a) Pig Latin.
    b) SQL.
    c) HQL (HiveQL).
    d) Spark SQL.
  14. ¿Para qué tipo de operaciones está especialmente optimizado Apache Hive?
    a) Inserción y modificación de registros en tiempo real.
    b) Acceso aleatorio y unitario a los datos.
    c) Consultas complejas sobre grandes volúmenes de datos.
    d) Procesamiento de datos en streaming.
  15. ¿Qué ventaja principal ofrecía inicialmente Apache Impala en comparación con las primeras versiones de Hive?
    a) Una mayor integración con herramientas de visualización.
    b) Un lenguaje de consulta más rico y potente.
    c) Un mejor rendimiento para consultas on-line que requerían respuestas rápidas.
    d) Una gestión de metadatos más eficiente.
  16. ¿Qué tipo de base de datos es Apache HBase?
    a) Base de datos relacional SQL sobre Hadoop.
    b) Datawarehouse optimizado para consultas analíticas.
    c) Base de datos NoSQL de modelo clave-valor sobre Hadoop.
    d) Sistema de archivos distribuido para almacenamiento masivo.
  17. ¿Qué componente del ecosistema Hadoop permite realizar consultas SQL sobre datos almacenados en Apache HBase?
    a) Apache Hive.
    b) Apache Sqoop.
    c) Apache Phoenix.
    d) Apache Spark SQL.
  18. ¿Cuál es la principal abstracción de datos en Apache Spark Core para el procesamiento en paralelo?
    a) DataFrame.
    b) DataSet.
    c) RDD (Resilient Distributed Dataset).
    d) Graph.
  19. ¿Qué herramienta del ecosistema Hadoop está diseñada específicamente para transferir datos entre Hadoop y bases de datos relacionales?
    a) Apache Flume.
    b) Apache Oozie.
    c) Apache Sqoop.
    d) Apache Kafka.
  20. ¿Qué herramienta del ecosistema Hadoop facilita la automatización y programación de flujos de trabajo (workflows)?
    a) Apache Flume.
    b) Apache Oozie.
    c) Apache Sqoop.
    d) Apache Ambari.

Tabla de Respuestas y Explicaciones:

Pregunta Respuesta Correcta Explicación
1 b) Marcos Peñalver se inspiró en la película Moneyball para basar las decisiones deportivas en datos.
2 c) La consultoría aconsejó comprar chalecos para obtener datos vitales y de movimiento de los jugadores.
3 c) HDFS (Hadoop Distributed File System) es la capa de almacenamiento de Hadoop Core.
4 b) El análisis con Hadoop Core requiere programar en MapReduce, lo cual no es sencillo ni fácil de mantener.
5 c) El ecosistema Hadoop surge para hacer la plataforma Hadoop más usable y ofrecer funcionalidades específicas.
6 d) Apache Sqoop y Apache Flume son ejemplos de componentes de ingesta que permiten traer datos al y desde Hadoop.
7 c) MapReduce es un modelo de programación que tradicionalmente se desarrolla en lenguaje Java.
8 c) Pig fue desarrollado por Yahoo y utiliza el lenguaje Pig Latin para simplificar el procesamiento de datos.
9 c) Apache Hive permite a usuarios sin conocimientos técnicos consultar datos en HDFS utilizando HQL, similar a SQL.
10 b) Hive se creó para simplificar el análisis de datos en HDFS utilizando un lenguaje similar a SQL, accesible para más usuarios.
11 c) Hive proporciona interfaces estándar como JDBC/ODBC para que herramientas externas puedan acceder a los datos.
12 d) El Metastore de Hive almacena los metadatos, incluyendo la estructura de las tablas, los campos y su correspondencia con los ficheros.
13 c) El lenguaje de consulta que ofrece Apache Hive para interactuar con los datos es HQL (HiveQL).
14 c) Aunque Hive permite otras operaciones, está principalmente optimizado para realizar consultas complejas sobre grandes volúmenes de datos.
15 c) Impala se desarrolló para ofrecer un rendimiento significativamente mejor para consultas interactivas en comparación con las primeras versiones de Hive.
16 c) HBase es una base de datos NoSQL que utiliza un modelo clave-valor para almacenar datos sobre Hadoop.
17 c) Apache Phoenix es una capa sobre HBase que proporciona una interfaz SQL (a través de JDBC) para consultar y gestionar datos en HBase.
18 c) El Resilient Distributed Dataset (RDD) es la abstracción fundamental de datos en Spark Core para el procesamiento paralelo y distribuido.
19 c) Apache Sqoop es la herramienta diseñada para transferir datos entre Hadoop y bases de datos relacionales.
20 b) Apache Oozie es un sistema de workflow scheduler que permite automatizar la ejecución de diferentes procesos dentro de un clúster Hadoop.

 

 

Recursos