sql >> Base de Datos >  >> RDS >> Database

Una introducción a Hadoop y Big Data

Tratar con toneladas de datos requiere algún arreglo especial. Las técnicas computacionales comunes son insuficientes para manejar una compuerta de datos, más aún, cuando provienen de múltiples fuentes. En Big Data, la magnitud de la que estamos hablando es masiva, medida en zettabytes, exabytes o millones de petabytes o miles de millones de terabytes. El marco llamado Hadoop se usa popularmente para manejar algunos de los problemas con la gestión de Big Data. Este artículo intenta dar una idea introductoria sobre Hadoop a la luz de Big Data.

Evolución

No pasa nada con un big bang. El origen y evolución de Hadoop es paulatino y acorde a la necesidad del momento en el manejo de Big Data. Para decirlo brevemente, debe su origen al proyecto Apache Nutch de Doug Cutting en el año 2003, especialmente en un principio la parte de código del mismo. La génesis se desarrolló a partir de Google File System (GFS), un artículo publicado en octubre de 2003, que influyó en otro artículo llamado MapReduce:procesamiento de datos simplificado en grandes clústeres. El código para HDFS en Hadoop se eliminó del proyecto Apache Nutch en 2006 y está muy influenciado por los algoritmos GFS y MapReduce. Y, el hecho de que el nombre "Hadoop" provenga del elefante de peluche de juguete del hijo de Cutting claramente resuena la idea de que hay un elefante en la habitación que Hadoop claramente quiere abordar o tratar.

En pocas palabras

En la actualidad, Hadoop ha pasado de ser un comienzo monolítico a ser una biblioteca de software, un marco para desarrollar aplicaciones que requieren el procesamiento distribuido de cantidades masivas de datos que se encuentran en grupos de computadoras que utilizan modelos de programación simples. Puede escalar de un solo servidor a miles de máquinas. La idea es distribuir la computación y el almacenamiento en varias computadoras para aprovechar el procesamiento de grandes conjuntos de datos. La biblioteca tiene la capacidad de detectar fallas en el nivel de la capa de aplicación para que el programador pueda manejarlas y brindar servicio sobre un grupo de computadoras en lugar de filtrar la falla a uno o más niveles inferiores donde se vuelve más difícil gestionar o superar.

Hadoop, por lo tanto, es una combinación de herramientas y bibliotecas de código abierto soportadas por Apache para crear aplicaciones para computación distribuida que es altamente confiable y escalable.

Cómo funciona

Hay tres formas en que Hadoop trata básicamente con Big Data:

  • El primer problema es el almacenamiento. Los datos se almacenan en varias máquinas informáticas en un entorno distribuido donde se pueden procesar en paralelo para reducir el tiempo y los recursos. Los datos se conservan en un entorno llamado Sistema de archivos distribuidos de Hadoop (HDFS) , que se utiliza para almacenar datos en múltiples formatos en grupos de máquinas. Para ello, divide los datos en bloques y los almacena en diferentes nodos de datos. Utiliza una técnica llamada escala horizontal para agregar nodos de datos adicionales a los clústeres HDFS existentes según el requisito. Esto maximiza la utilización de los recursos existentes en lugar de agregar uno cada vez que surge la necesidad de escalar.
  • El segundo problema es acomodar la variedad de datos. HDFS está equipado para almacenar todo tipo de datos, ya sean estructurados, semiestructurados o no estructurados. No hay validación de esquema de pre-dumping. Los datos, una vez escritos, se pueden leer varias veces sin ningún problema.
  • El tercer problema es el procesamiento y cómo acceder a los datos almacenados. En este sentido, el algoritmo MapReduce viene al rescate, donde el procesamiento se distribuye entre los nodos esclavos para trabajar en paralelo y el resultado se envía de vuelta al nodo maestro. El nodo maestro fusiona los resultados antes de proporcionar el resultado final. Esta parte es manejada por YARN, que está diseñado para el procesamiento paralelo de datos almacenados en HDFS.

Tiene muchas partes complejas, pero esto es lo que hace Hadoop en pocas palabras. La idea de los módulos daría más información.

Módulos

Apache Hadoop Project consta de seis módulos. Los cuatro primeros son los siguientes:

  • Común de Hadoop :consta de utilidades comúnmente utilizadas por Hadoop y es compatible con otros módulos de Hadoop. También se conoce como Hadoop Core y es una parte esencial del ecosistema, junto con HDFS, YARN y MapReduce. Es en esta parte que Hadoop supone que el hardware es propenso a fallar y se proporcionan todos los medios necesarios para que un programador maneje automáticamente la falla en el software.
  • Sistema de archivos distribuidos de Hadoop (HDFS) :Un sistema de archivos distribuido que puede acomodar una variedad de archivos en un entorno distribuido. Divide los archivos en bloques y los almacena en nodos en una arquitectura distribuida. Proporciona escalamiento horizontal en lugar de escalamiento vertical, para agrupamiento adicional. Es altamente tolerante a fallas y de bajo costo en términos de capacidades de implementación de hardware.
  • HILO de Hadoop :Esta es la CPU del marco Hadoop. Con dos componentes principales, llamados NodeManager y Administrador de recursos , YARN realiza todas las actividades de procesamiento, como la asignación de recursos, la programación de tareas y la gestión de clústeres.
  • Hadoop MapReduce :Este es un marco para hacer todo el cálculo paralelo. MapReduce es un modelo de programación paralela para procesar datos en un entorno distribuido. Idealmente, se usa para escribir aplicaciones distribuidas que pueden procesar de manera eficiente grandes cantidades de datos en grupos de hardware básico. Segmenta el proceso en dos fases, llamadas Mapa y Reducir , donde la tarea del Mapper class es tomar la entrada, tokenizarla, mapearla y ordenarla. La salida se convierte entonces en la entrada del Reductor class, que busca pares coincidentes y los reduce. Hay pares clave-valor para entrada y salida en cada fase, y el programador determina el tipo de par.

Recientemente se agregaron dos nuevos subproyectos:

  • Ozono Hadoop :Es un almacén de objetos escalable, redundante y distribuido para Hadoop. Además de escalar a miles de millones de objetos de diferentes tamaños, Ozone puede funcionar de manera efectiva en entornos en contenedores como Kubernetes e YARN. Se basa en una capa de almacenamiento de bloques replicados de alta disponibilidad llamada Almacén de datos distribuidos de Hadoop (HDDS) . [Un experto. Haga clic para encontrar más.]
  • Submarino Hadoop :Un motor de aprendizaje automático para Hadoop. Es un proyecto que permite a un ingeniero de infraestructura/científico de datos ejecutar aplicaciones de aprendizaje profundo (Tensorflow, Pytorch, etc.) en una plataforma de gestión de recursos (como YARN). [Un experto. Haga clic para encontrar más.]

Conclusión

Hadoop ha tenido un impacto significativo en las búsquedas, en el proceso de registro, en el almacenamiento de datos y en el análisis de Big Data de muchas organizaciones importantes, como Amazon, Facebook, Yahoo, etc. Es una solución integral para almacenar una gran cantidad de datos de cualquier tipo, acompañada de un poder de procesamiento escalable para aprovechar trabajos simultáneos virtualmente ilimitados. En pocas palabras, la popularidad de Hadoop se debe en gran parte a su capacidad tolerante a fallas, escalable, rentable y rápida.