Guía completa del ecosistema Hadoop: herramientas y servicios
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 5,52 KB
1. Hive
Hive facilita la creación, consulta y administración de grandes volúmenes de datos almacenados en Hadoop. Cuenta con su propio lenguaje derivado de SQL, conocido como Hive QL, que permite realizar consultas utilizando MapReduce para paralelizar las tareas. Por esta razón, se dice que Hive lleva las bases de datos relacionales a Hadoop.
Facebook creó Hive para usuarios familiarizados con SQL.
Partes principales de Hive:
- Hive Command Line: Interfaz para ejecución de comandos HQL.
- JDBC/ODBC driver: Permite establecer conexión entre lenguajes de programación y los datos.
2. Pig
Pig permite analizar grandes volúmenes de datos mediante su lenguaje de alto nivel, PigLatin. Fue creado en Yahoo por desarrolladores que consideraban MapReduce de bajo nivel y rígido, lo que dificultaba la elaboración y mantenimiento.
Pig trabaja sobre Hadoop traduciendo las consultas a MapReduce. Provee un entorno de programación fácil, convirtiendo las paralelizaciones en dataflows.
10 líneas de Pig Latin equivalen aproximadamente a 200 líneas de código MapReduce Java.
3. HBase
HBase es la base de datos distribuida y escalable de Hadoop. Se utiliza para escrituras/lecturas en tiempo real y acceso aleatorio a grandes conjuntos de datos.
Al basarse en Hadoop, hereda sus capacidades y funciona sobre HDFS.
Permite almacenar tablas enormes (billones de registros por millones de columnas) en un entorno distribuido. Es una base de datos NoSQL columnar, por lo que no admite consultas SQL.
4. Drill
Drill es una aplicación open source para analizar grandes conjuntos de datos en entornos distribuidos.
Soporta diversas bases de datos y sistemas de archivos NoSQL (HBase, MongoDB, MapR-DB, HDFS, MapR-FS, Amazon S3, Azure Blob Storage, Google Cloud Storage, Swift, etc.).
Su potencia radica en la capacidad de consultar distintos almacenes de datos con una sola consulta.
Sigue el estándar ANSI SQL.
5. Spark
Spark es un framework para análisis de datos en tiempo real en entornos distribuidos.
Escrito en Scala (Universidad de California, Berkeley).
Su procesamiento in-memory ofrece mayor velocidad que MapReduce, pero requiere mayor potencia de procesamiento.
- Apache Spark: Procesamiento en tiempo real.
- Hadoop: Almacenamiento y procesamiento por lotes.
6. Mahout
Mahout proporciona un entorno para crear aplicaciones de machine learning escalables.
Permite tomar decisiones o realizar predicciones basadas en datos históricos, comportamiento de usuarios y descubrimiento de patrones.
7. Spark MLib
Spark MLib es una librería de Spark con algoritmos y utilidades para machine learning.
Trabaja sobre recursos de datos Hadoop (HDFS, HBase, archivos locales, etc.).
Su proceso in-memory es hasta 100 veces más rápido que Hadoop MapReduce y 10 veces más rápido que en disco.
8. Flume
Flume es un servicio para la ingesta de datos no estructurados y semi-estructurados.
Permite recolectar, agregar y mover grandes volúmenes de datos.
Se utiliza para la ingesta de datos online en streaming de diversas fuentes (tráfico de redes, redes sociales, logs, etc.).
9. Sqoop
Sqoop permite importar y exportar datos estructurados entre un RDBMS o Data Warehouse empresarial y HDFS.
Permite recolectar, agregar y mover grandes volúmenes de datos.
10. Solr & Lucene
Solr y Lucene son servicios para búsqueda e indexación en el ecosistema Hadoop.
- Apache Lucene: Motor y núcleo del sistema de búsqueda e indexación.
- Solr: Aplicación completa construida sobre Lucene.
11. Kafka & Storm
Storm
Framework para la computación distribuida de streaming de datos (computación en tiempo real).
Basado en grafos acíclicos dirigidos.
Kafka
Framework para análisis y rendering en tiempo real de streaming de datos.
Se basa en un sistema de colas de mensajes, con patrón publicación-suscripción.
12. Ambari & ZooKeeper
Ambari
Ambari facilita la gestión del ecosistema Hadoop.
Proporciona:
- Aprovisionamiento del clúster Hadoop (instalación y configuración de servicios).
- Gestión del clúster Hadoop (gestión centralizada, iniciar, detener, reconfigurar).
- Monitoreo del clúster (seguimiento del estado, alertas).
ZooKeeper
ZooKeeper coordina los jobs y los diferentes servicios del ecosistema Hadoop.
Resuelve problemas de:
- Sincronización.
- Configuración.
- Agrupamiento.
- Designación.
13. Oozie
Oozie permite planificar workflows para soluciones que realizan procesos o tareas Hadoop. Orientado al usuario no experto, facilita la definición de flujos de trabajo complejos.
Funciona como un motor de workflows que permite lanzar, parar, suspender, retomar y volver a ejecutar trabajos Hadoop (Java MapReduce, Streaming MapReduce, Pig, Hive, Sqoop, etc.) basándose en criterios temporales o de disponibilidad de datos. Los flujos de trabajo Oozie son grafos no cíclicos directos (DAGs), donde cada nodo es un trabajo o acción con control de dependencia.