Hadoop
¿Qué es y por qué es importante?
Hadoop es una estructura de software de código abierto para almacenar datos y ejecutar aplicaciones en clústeres de hardware comercial. Proporciona almacenamiento masivo para cualquier tipo de datos, enorme poder de procesamiento y la capacidad de procesar tareas o trabajos concurrentes virtualmente ilimitados.
Historia de Hadoop
A medida que la World Wide Web creció a finales de los 1900 y principios de los 2000, se crearon buscadores (o motores de búsqueda) e índices para ayudar a localizar información relevante dentro de contenido basado en texto. En sus primeros años, los resultados de las búsquedas eran entregados por humanos. Pero a medida que la Web creció de docenas a millones de páginas, se requirió de la automatización. Se crearon los rastreadores Web, muchos como proyectos dirigidos por universidades, y entonces se iniciaron las primeras compañías de buscadores (Yahoo, AltaVista, etc.).
Uno de estos proyectos fue un buscador Web de código abierto llamado Nutch – idea original de Doug Cutting y Mike Cafarella. Deseaban generar resultados de búsquedas en la Web a mayor velocidad distribuyendo datos y cálculos en diferentes computadoras de modo que se pudieran procesar múltiples tareas de manera simultánea. Durante este tiempo, estaba en progreso otro proyecto de buscador llamado Google. Éste se basaba en el mismo concepto – almacenar y procesar datos de manera distribuida y automatizada de modo que se pudieran generar resultados de búsquedas en la Web a mayor velocidad.
En 2006, Cutting se unió a Yahoo y se llevó con él el proyecto Nutch, así como también ideas basadas en los trabajos iniciales de Google con la automatización del almacenaje y procesamiento de datos distribuidos. El proyecto Nutch fue dividido – la parte del rastreador Web se mantuvo como Nutch y la parte de cómputo y procesamiento distribuido se convirtió en Hadoop (en honor del elefante de juguete del hijo de Cutting). En 2008, Yahoo presentó Hadoop como proyecto de código abierto. Hoy día, la estructura y el ecosistema de tecnologías de Hadoop son gestionados y mantenidos por la Apache Software Foundation (ASF) sin fines de lucro, que es una comunidad global de programadores de software y otros contribuyentes.
¿Por qué es importante Hadoop?
- Capacidad de almacenar y procesar enormes cantidades de cualquier tipo de datos, al instante. Con el incremento constante de los volúmenes y variedades de datos, en especial provenientes de medios sociales y la Internet de las Cosas (IoT), ésa es una consideración importante.
- Poder de cómputo. El modelo de cómputo distribuido de Hadoop procesa big data a gran velocidad. Cuantos más nodos de cómputo utiliza usted, mayor poder de procesamiento tiene.
- Tolerancia a fallos. El procesamiento de datos y aplicaciones está protegido contra fallos del hardware. Si falla un nodo, los trabajos son redirigidos automáticamente a otros modos para asegurarse de que no falle el procesamiento distribuido. Se almacenan múltiples copias de todos los datos de manera automática.
- Flexibilidad. A diferencia de las bases de datos relacionales, no tiene que procesar previamente los datos antes de almacenarlos. Puede almacenar tantos datos como desee y decidir cómo utilizarlos más tarde. Eso incluye datos no estructurados como texto, imágenes y videos.
- Bajo costo. La estructura de código abierto es gratuita y emplea hardware comercial para almacenar grandes cantidades de datos.
- Escalabilidad. Puede hacer crecer fácilmente su sistema para que procese más datos son sólo agregar nodos. Se requiere poca administración.
¿Cuáles son los retos de usar Hadoop?
La programación MapReduce no es una opción adecuada para todos los problemas. stepEs adecuada para simples solicitudes de información y problemas que se pueden dividir en unidades independientes, pero no es eficiente para realizar tareas analíticas iterativas e interactivas. MapReduce trabaja con muchos archivos. Como los nodos no se intercomunican salvo a través de procesos de clasificación y mezcla, los algoritmos iterativos requieren múltiples fases de mapeo-mezcla/clasificación-reducción para completarse. Esto da origen a múltiples archivos entre fases de MapReduce y no es eficiente para el cómputo analítico avanzado.
Existe una brecha de talento ampliamente reconocida. Puede ser difícil conseguir programadores principiantes con suficientes conocimientos de Java para que sean productivos con MapReduce. Ésa es una razón por la que los proveedores de distribución se apresuran para colocar tecnología relacional (SQL) sobre Hadoop. Es mucho más fácil encontrar programadores con conocimientos de SQL que con conocimientos de MapReduce. Y la administración de Hadoop parece ser parte arte y parte ciencia, por lo que requiere conocimientos básicos de sistemas operativos, hardware y configuración del kérnel de Hadoop.
Seguridad de datos. Otro reto se centra alrededor de aspectos de seguridad de datos fragmentados, aunque están surgiendo nuevas herramientas y tecnologías. El protocolo de autenticación Kerberos es un paso importante para volver seguros los entornos Hadoop.
Gestión y gobierno de datos completo. Hadoop no tiene herramientas fáciles de usar y repletas de características para la gestión de datos, depuración de datos, gobierno y metadatos. Se carece en especial de herramientas para asegurar la calidad y la estandarización de los datos.
Dato curioso: "Hadoop” era el nombre de un elefante de juguete amarillo propiedad del hijo de uno de sus inventores.
Hadoop en el mundo actual
La promesa del almacenaje y el poder de procesamiento de bajo costo y alta disponibilidad ha atraído a muchas organizaciones a utilizar Hadoop. Y no obstante para muchas sigue existiendo una pregunta central: ¿Cómo puede ayudarnos Hadoop con el big data y la analítica? ¡Aprenda más aquí!
Una lectura recomendada: Hadoop para la empresa
Este reporte sobre las mejores prácticas de 40 páginas de TDWI explica cómo Hadoop y sus implementaciones están evolucionando para hacer posibles implementaciones empresariales que se extiendan más allá de las aplicaciones de nicho.
El patito feo se transformó en cisne
Así es como Bloor Group presenta el ecosistema Hadoop en este reporte que explora la evolución de y las opciones de implementación para Hadoop. Incluye una historia detallada y consejos sobre cómo elegir una distribución para sus necesidades.
Estado de la adopción de Hadoop
¿Quién se beneficia con Hadoop? ¿Qué proporciona? Patrocinado por el International Institute for Analytics (IIA) y SAS, este webinar muestra cómo la integración de datos, el descubrimiento y la analítica agregan valor a este ecosistema.
Descripción de SAS y Hadoop
Familiarícese con conceptos de Hadoop y SAS para que pueda entender y utilizar la tecnología que mejor se ajuste a sus necesidades. Descargue este libro sin costo y aprenda cómo interactúa la tecnología de SAS con Hadoop.
Data management for Hadoop
Big data skills are in high demand. Now business users can profile, transform and cleanse data – on Hadoop or anywhere else it may reside – using an intuitive user interface.
Learn more about Hadoop data management from SAS
¿Cómo se utiliza Hadoop?
Llegando más allá de su meta original de realizar búsquedas en millones (o miles de millones) de páginas Web y producir resultados relevantes, muchas organizaciones voltean a ver a Hadoop como su próxima plataforma del big data. Entre sus usos populares actuales se cuentan:
Almacenaje y archivo de datos de bajo costo
El costo accesible del hardware comercial hace que Hadoop sea útil para almacenar y combinar datos tales como transacciones, medios sociales, de sensores, de máquinas, científicos, secuencias de clics, etc. El almacenaje de bajo costo le permite conservar información que no se considera decisiva en el momento pero que podría desear analizar más adelante.
Caja de arena para descubrimiento y análisis
Como Hadoop fue diseñado para sortear grandes volúmenes de datos en diversas formas, puede ejecutar algoritmos analíticos. La analítica del big data en Hadoop puede ayudar a su organización a operar con mayor eficiencia, descubrir nuevas oportunidades y obtener una ventaja competitiva de siguiente nivel. El enfoque de la caja de arena ofrece una oportunidad para innovar con una mínima inversión.
Data Lake
Los lagos de datos (data lakes) permiten almacenar datos en su formato original exacto. La meta es ofrecer una vista de los datos cruda o no refinada a científicos y analistas de datos para que realicen tareas de descubrimiento y analítica. Les ayuda a formular preguntas nuevas o difíciles sin restricciones. Los data lakes no son un reemplazo de los almacenes de datos. De hecho, cómo proteger y gobernar lagos de datos es un tema de gran interés para las áreas de TI. Pueden apoyarse en técnicas de federación de datos para crear estructuras de datos lógicas.
Complemente su almacén de datos
Ahora vemos que Hadoop comienza a situarse a un lado de los entornos de almacenes de datos, además de que ciertos conjuntos de datos se llevan del almacén de datos a Hadoop o que datos nuevos se van directamente a Hadoop. La meta final para toda organización es tener una plataforma correcta para almacenar y procesar datos de diferentes esquemas, formatos, etc. para justificar diferentes casos de uso que se puedan integrar en diferentes niveles.
IoT y Hadoop
Las cosas en IoT necesitan saber qué comunicar y cuándo actuar. En el centro de IoT hay un torrente de datos en transición siempre activo. Hadoop se utiliza a menudo como el almacén de datos de millones o miles de millones de transacciones. Las capacidades masivas de almacenaje y procesamiento le permiten también usar Hadoop como caja de arena para el descubrimiento y la definición de patrones cuya instrucción prescriptiva deberá ser monitoreada. Luego puede mejorar continuamente estas instrucciones, ya que Hadoop se actualiza de manera constante con nuevos datos que no concuerdan con patrones definidos con anterioridad.
Construcción de un motor de recomendación en Hadoop
Uno de los usos analíticos más populares que hacen algunos de los mayores usuarios de Hadoop es para sistemas de recomendación basados en la Web. Facebook – personas que quizá conozca. LinkedIn – empleos que quizá le interesen. Netflix, eBay, Hulu – artículos que quizá desee adquirir. Estos sistemas analizan enormes cantidades de datos en tiempo real para anticipar preferencias con rapidez antes de que los clientes abandonen la página Web.
Cómo: Un sistema de recomendaciones puede generar un perfil de usuario de manera explícita (consultando el usuario) y de manera implícita (observando el comportamiento del usuario) – y luego compara este perfil con características de referencia (observaciones de una comunidad entera de usuarios) para proveer recomendaciones relevantes. SAS proporciona varias técnicas y algoritmos para crear un sistema de recomendaciones, que va desde medidas de distancia básicas hasta factorización de matrices y filtrado colaborativo – todos los cuales se pueden llevar a cabo dentro de Hadoop.
Lea sobre cómo crear sistemas de recomendaciones en Hadoop y más
Creo que Hadoop ha madurado hasta un punto en el que las personas pueden construir con todo éxito aplicaciones grandes y complejas sobre la plataforma. Hadoop ha cumplido nuestros requisitos de escalabilidad para el manejo de tipos de datos grandes y variados.
Bob Zurek, vicepresidente sénior de productos de Epsilon en Hadoop para la empresa, Reporte de las Mejores Prácticas de TDWI
Hadoop, analytics and the data scientist
Like coding? You’ll love this. An all-in-one, interactive environment gives you everything you need to get accurate insights from data in Hadoop. At lightning-fast speed.
Learn more about analytics on Hadoop from SAS
Cómo funciona y glosario de Hadoop
Actualmente, se incluyen cuatro módulos centrales más en la estructura básica de Apache Foundation:
Comunes de Hadoop – las librerías y utilidades que utilizan otros módulos de Hadoop.
Hadoop Distributed File System (HDFS) – el sistema escalable basado en Java que almacena datos en múltiples máquinas sin organización previa.
YARN – (Yet Another Resource Negotiator) ofrece gestión de recursos para los procesos que se ejecutan en Hadoop.
MapReduce – estructura de software de procesamiento en paralelo. Se compone de dos pasos. El paso de mapeo es un nodo maestro que toma entradas y las divide en subproblemas de menor tamaño y luego las distribuye a nodos trabajadores. Después de que se ejecuta el paso de mapeo, el nodo maestro toma las respuestas a todos los subproblemas y los combina para producir un resultado.
Otros componentes de software que se pueden ejecutar sobre o junto con Hadoop y que han alcanzado el estado de proyecto Apache de alto nivel incluyen:
Ambari | Interfaz Web para la gestión, configuración y prueba de servicios y componentes Hadoop. |
Cassandra | Sistema de base de datos distribuido. |
Flume | Software que recopila, agrega y desplaza grandes cantidades de datos vía streaming a HDFS. |
HBase | Base de datos no relacional distribuida que se ejecuta sobre Hadoop. Las tablas HBase pueden servir como entrada y salida para trabajos MapReduce. |
HCatalog | Capa de gestión de tablas y almacenaje que ayuda a los usuarios a compartir y acceder a datos. |
Hive | Lenguaje de consulta de almacenaje de datos y similar a SQL que presenta datos en forma de tablas. La programación en Hive es similar a la programación de bases de datos. |
Oozie | Organizador de trabajos de Hadoop. |
Pig | Plataforma para manipular datos almacenados en HDFS que incluye un compilador para programas MapReduce y un lenguaje de alto nivel llamado Pig Latin. Provee una forma de realizar extracciones, transformaciones y carga de datos, además de análisis básico sin tener que escribir programas MapReduce. |
Solr | Herramienta de búsqueda escalable que incluye indexación, confiabilidad, configuración central, respaldo y recuperación. |
Spark | Estructura de cómputo en clústeres de código abierto con analítica en memoria. |
Sqoop | Mecanismo de conexión y transferencia que mueve datos entre Hadoop y bases de datos relacionales. |
Zookeeper | Aplicación que coordina procesamiento distribuido. |
Distribuciones comerciales de Hadoop
El software de código abierto es creado y mantenido por una red de programadores de todo el mundo. Es gratis descargarlo, usarlo y hacerle aportaciones, aunque cada vez aparecen más versiones comerciales de Hadoop (éstas se denominan a menudo "distros o distribuciones"). Con distribuciones de proveedores de software, usted paga por su versión de la estructura Hadoop y recibe recursos adicionales relacionados con seguridad, gobierno, SQL y consolas de gestión/administración, así como también capacitación, documentación y otros servicios. Entre las distribuciones populares se encuentran Cloudera, Hortonworks, MapR, IBM BigInsights y PivotalHD.
Cómo integrar datos a Hadoop
Éstas son sólo algunas formas de integrar sus datos a Hadoop.
- Use conectores de proveedores terceros (como SAS/ACCESS® o SAS Data Loader para Hadoop).
- Use Sqoop para importar datos estructurados de una base de datos relacional a HDFS, Hive y HBase. También puede extraer datos de Hadoop y exportarlos hacia bases de datos relacionales y almacenes de datos.
- Use Flume para cargar datos continuamente de registros a Hadoop.
- Cargue archivos al sistema utilizando comandos simples de Java.
- Cree un trabajo cron para buscar nuevos archivos en un directorio y “colóquelos” en HDFS conforme van apareciendo. Esto es útil para realizar tareas como descargar correo electrónico a intervalos regulares.
- Monte HDFS como sistema de archivos y copie o escriba archivos ahí.
Big data, Hadoop y SAS
El soporte de SAS a implementaciones del big data, incluyendo Hadoop, se centra en una meta singular – ayudarle a saber más en menos tiempo, de modo que pueda tomar mejores decisiones. Sin importar cómo use la tecnología, todo proyecto debe pasar por un ciclo de mejora iterativo y continuo. Y eso incluye preparación y gestión de datos, visualización y exploración de datos, desarrollo de modelos analíticos, implementación y monitoreo de modelos. De modo que puede obtener insights y convertir rápidamente sus big data de Hadoop en mayores oportunidades.
Como SAS se centra en la analítica, no en el almacenaje, ofrecemos un método flexible para elegir a proveedores de hardware y bases de datos. Podemos ayudarle a implementar la mezcla correcta de tecnologías, incluyendo Hadoop y otras tecnologías de data warehouse.
Y recuerde que el éxito de cualquier proyecto está determinado por el valor que brinda. De tal suerte que las métricas construidas en torno a la generación de ingresos, márgenes, reducción del riesgo y mejoras a procesos ayudarán a proyectos piloto a ganar una mayor aceptación y a captar mayor interés de otros departamentos. Hemos notado que muchas organizaciones observan cómo pueden implementar un proyecto o dos en Hadoop, con planes de agregar más en el futuro.
Lea más acerca de Hadoop y big data
- Key questions to kick off your data analytics projectsThere’s no single blueprint for starting a data analytics project. Technology expert Phil Simon suggests these 10 questions as a guide.
- ¿Qué es un Data Lake y por qué es importante?Un Data Lake es un repositorio de almacenamiento que contiene grandes cantidades de datos en bruto en su formato nativo. Como contenedores de múltiples colecciones de datos en una ubicación conveniente, los Data Lakes permiten el acceso, la exploración y la visualización en modo autoservicio. Así, las empresas pueden ver y acceder a la nueva información más rápidamente.
- The opportunity of smart grid analyticsWith smart grid analytics, utility companies can control operating costs, improve grid reliability and deliver personalized energy services.
- The future of IoT: On the edgeFrom cows to factory floors, the IoT promises intriguing opportunities for business. Find out how three experts envision the future of IoT.