Como desarrollador, entender el ecosistema del Hadoop puede ser muy valioso. Las empresas lo están aprovechando para más proyectos cada día, y el salario medio de un desarrollador de Hadoop es de unos 120.000 dólares al año. A primera vista, el ecosistema del hadoop puede parecer abrumador (¿Qué es la colmena? ¿Cerdo? ¿Canal? ¿Cómo encajan todos estos marcos en el Hadoop?). Pero, afortunadamente, no es tan intimidante como parece. Para empezar, hemos preparado esta guía de referencia rápida, explicando los marcos. Tenga en cuenta que esta lista se centra en las aplicaciones/frameworks Hadoop de código abierto de Apache, la mayoría de ellos son proyectos de alto nivel, pero algunos están incubándose. Vamos a sumergirnos.
Marcos
Hadoop: Es una biblioteca de software escrita en Java utilizada para procesar grandes cantidades de datos en un entorno distribuido. Permite a los desarrolladores configurar grupos de computadoras, comenzando con un solo nodo que puede escalar hasta miles de nodos.
Colmena: La colmena es un marco de almacenamiento de datos que se construye en Hadoop. Permite estructurar datos y hacer consultas usando un lenguaje similar al SQL llamado HiveQL. Los desarrolladores pueden usar Hive y HiveQL para escribir complejos MapReduce sobre datos estructurados en un sistema de archivos distribuidos. Hive es lo más cercano a una base de datos relacional en el ecosistema Hadoop.
Pig: Pig es una aplicación para transformar grandes conjuntos de datos. Al igual que Hive, Pig tiene su propio lenguaje SQL llamado Pig Latin. Donde Hive se usa para datos estructurados, Pig sobresale en la transformación de datos semi-estructurados y no estructurados. Pig Latin permite a los desarrolladores escribir trabajos complejos de MapReduce sin tener que escribirlos en Java.
El canal: Lo más probable es que si estás en el ecosistema del Hadoop tendrás que moverte por grandes cantidades de datos. El canal es un servicio distribuido que ayuda a recoger, agregar y mover grandes cantidades de datos. Está escrito en Java y normalmente entrega archivos directamente en el HDFS.
Taladrar: ¿Por qué no usar herramientas con nombres geniales como taladro y broca? Apache Drill es un motor de consulta SQL sin esquema para la exploración de datos. Drill está catalogado como SQL real y no sólo «tipo SQL», lo que permite a los desarrolladores o analistas utilizar los conocimientos SQL existentes para empezar a escribir consultas en minutos. Apache Drill se puede ampliar con las funciones definidas por el usuario.
Kafka: Otra gran herramienta de mensajería en Hadoop es Kafka. Kafka se utiliza como un sistema de colas cuando se trabaja con Storm.
Si estás usando YARN, querrás aprender sobre el proyecto Tez. Tez permite construir aplicaciones que procesan tareas DAG (gráfico acíclico dirigido). Básicamente, Tez permite que los trabajos de Hive y Pig se escriban con menos trabajos de MapReduce, lo que hace que los scripts de Hive y Pig se ejecuten más rápido.
Sqoop: ¿Tienes datos estructurados en una base de datos relacional, SQL Server o MySQL, y quieres llevar esos datos a tu plataforma Big Data? Bueno, Sqoop puede ayudar. Sqoop permite a los desarrolladores transferir datos de una base de datos relacional a Hadoop.
Tormenta: El Hadoop trabaja en procesamiento por lotes, pero muchas aplicaciones necesitan procesamiento en tiempo real y aquí es donde Storm encaja. Storm permite la transmisión de datos, por lo que el análisis puede realizarse en tiempo real. Storm cuenta con una velocidad de referencia de más de un millón de tuplas procesadas por segundo, por nodo.
Ambari: Una de las herramientas más útiles que se utilizan si se administra un clúster Hadoop, Ambari permite a los administradores instalar, administrar y supervisar los clústeres Hadoop con una sencilla interfaz web. Ambari proporciona un asistente fácil de seguir para configurar un clúster Hadoop de cualquier tamaño.
HBase: Cuando se desarrollan aplicaciones, a menudo se desea un acceso de lectura/escritura en tiempo real a los datos. Hadoop ejecuta los procesos por lotes y no permite modificaciones, y esto es lo que hace a HBase tan popular. HBase provee la capacidad de modificar datos en tiempo real y aún así correr en un ambiente HDFS.
Mahout: ¿Buscando ejecutar Descomposición de Valor Singular, Vecino más cercano, o Clasificación Bayes Ingenua en un ambiente Hadoop? Mahout puede ayudar. Mahout proporciona algoritmos especializados de análisis de datos que se ejecutan en un sistema de archivos distribuidos. Piensa en Mahout como una biblioteca Java con algoritmos distribuidos para referirse en trabajos de MapReduce.
Guardián del zoológico: Zookeeper proporciona servicios centralizados para la administración de la configuración del clúster Hadoop, la sincronización y los servicios de grupo. Por ejemplo, piense en cómo funciona un archivo de configuración global en una aplicación Web; Zookeeper es como ese archivo de configuración, pero a un nivel mucho más alto.
Chispa: Un motor general en tiempo real para el procesamiento de datos, Spark tiene una velocidad 100 veces mayor que Hadoop y funciona en memoria. Spark soporta Scala, Python y Java. También contiene una biblioteca de aprendizaje automático (MLlib), que proporciona bibliotecas de aprendizaje automático escalables comparables a las de Mahout.
Zeppelin: Zeppelin es un cuaderno basado en la web para el análisis interactivo de datos. Hace que la visualización de datos sea tan fácil como arrastrar y soltar. Zeppelin trabaja con Hive and Spark (todos los idiomas) y markdown.
Para llevar
Bien, puede que te sientas un poco abrumado al darte cuenta de lo mucho que hay en esta lista (especialmente una vez que te das cuenta de que ni siquiera es una lista completa, ya que cada día se desarrollan nuevos marcos de trabajo). Pero lo importante es que trabajes para lograr una comprensión básica de estos marcos, de modo que cuando aparezca uno nuevo, puedas relacionarlo con uno de los anteriores. Al aprender los marcos básicos estás construyendo una base sólida que acelerará tu aprendizaje en el ecosistema del Hadoop.
¿Quieres saber más? Mira estos cursos de Hadoop.
Contenidos