Ecosistema Hadoop

Descripción general: Apache Hadoop es un marco de código abierto destinado a facilitar la interacción con big data . Sin embargo, para aquellos que no están familiarizados con esta tecnología, surge una pregunta: ¿qué es big data? Big data es un término dado a los conjuntos de datos que no se pueden procesar de manera eficiente con la ayuda de una metodología tradicional como RDBMS. Hadoop se ha ganado su lugar en las industrias y empresas que necesitan trabajar con grandes conjuntos de datos que son confidenciales y necesitan un manejo eficiente. Hadoop es un marco que permite el procesamiento de grandes conjuntos de datos que residen en forma de clústeres. Al ser un marco, Hadoop se compone de varios módulos que están respaldados por un gran ecosistema de tecnologías. 

Introducción: Hadoop Ecosystem es una plataforma o una suite que proporciona varios servicios para resolver los problemas de big data. Incluye proyectos Apache y varias herramientas y soluciones comerciales. Hay cuatro elementos principales de Hadoop , es decir , HDFS, MapReduce, YARN y Hadoop Common . La mayoría de las herramientas o soluciones se utilizan para complementar o respaldar estos elementos principales. Todas estas herramientas funcionan colectivamente para proporcionar servicios como absorción, análisis, almacenamiento y mantenimiento de datos, etc. 

Los siguientes son los componentes que forman colectivamente un ecosistema de Hadoop: 
 

  • HDFS: sistema de archivos distribuido de Hadoop
  • YARN: Otro negociador de recursos
  • MapReduce: Procesamiento de datos basado en programación
  • Spark: procesamiento de datos en memoria
  • PIG, HIVE: procesamiento de servicios de datos basado en consultas
  • HBase: base de datos NoSQL
  • Mahout, Spark MLLib: bibliotecas de algoritmos de aprendizaje automático
  • Solar, Lucene: búsqueda e indexación
  • Zookeeper: administración de clústeres
  • Oozie: programación de trabajos

Nota: además de los componentes mencionados anteriormente, también hay muchos otros componentes que forman parte del ecosistema de Hadoop. 

Todos estos conjuntos de herramientas o componentes giran en torno a un término, es decir , datos . Esa es la belleza de Hadoop que gira en torno a los datos y, por lo tanto, facilita su síntesis. 

HDFS: 
 

  • HDFS es el componente principal o principal del ecosistema Hadoop y es responsable de almacenar grandes conjuntos de datos estructurados o no estructurados en varios Nodes y, por lo tanto, mantener los metadatos en forma de archivos de registro.
  • HDFS consta de dos componentes principales, es decir 
    1. Node de nombre
    2. Node de datos
  • Name Node es el Node principal que contiene metadatos (datos sobre datos) que requieren comparativamente menos recursos que los Nodes de datos que almacenan los datos reales. Estos Nodes de datos son hardware básico en el entorno distribuido. Sin duda, haciendo que Hadoop sea rentable.
  • HDFS mantiene toda la coordinación entre los clústeres y el hardware, por lo que trabaja en el corazón del sistema.

HILO: 
 

  • Otro negociador de recursos más, como su nombre lo indica, YARN es quien ayuda a administrar los recursos en los clústeres. En resumen, realiza la programación y la asignación de recursos para el Sistema Hadoop.
  • Consta de tres componentes principales, es decir 
    1. Administrador de recursos
    2. Administrador de Nodes
    3. Gestor de aplicaciones
  • El administrador de recursos tiene el privilegio de asignar recursos para las aplicaciones en un sistema, mientras que los administradores de Nodes trabajan en la asignación de recursos como CPU, memoria, ancho de banda por máquina y luego reconoce al administrador de recursos. El administrador de aplicaciones funciona como una interfaz entre el administrador de recursos y el administrador de Nodes y realiza negociaciones según los requisitos de los dos.

Mapa reducido: 
 

  • Al hacer uso de algoritmos paralelos y distribuidos, MapReduce hace posible transferir la lógica del procesamiento y ayuda a escribir aplicaciones que transforman grandes conjuntos de datos en uno manejable.
  • MapReduce hace uso de dos funciones, es decir, Map() y Reduce() cuya tarea es: 
    1. Map() realiza la clasificación y el filtrado de datos y, por lo tanto, los organiza en forma de grupo. Map genera un resultado basado en un par clave-valor que luego es procesado por el método Reduce().
    2. Reduce() , como sugiere el nombre, hace el resumen agregando los datos asignados. En simple, Reduce() toma la salida generada por Map() como entrada y combina esas tuplas en un conjunto más pequeño de tuplas.

CERDO: 

 Pig fue desarrollado básicamente por Yahoo, que funciona en un idioma latino de cerdo, que es un lenguaje basado en consultas similar a SQL.

  • Es una plataforma para estructurar el flujo de datos, procesar y analizar grandes conjuntos de datos.
  • Pig hace el trabajo de ejecutar comandos y, en segundo plano, se encargan de todas las actividades de MapReduce. Después del procesamiento, pig almacena el resultado en HDFS.
  • El lenguaje Pig Latin está especialmente diseñado para este marco que se ejecuta en Pig Runtime. De la misma manera que Java se ejecuta en la JVM .
  • Pig ayuda a lograr la facilidad de programación y optimización y, por lo tanto, es un segmento importante del ecosistema Hadoop.

COLMENA: 
 

  • Con la ayuda de la metodología y la interfaz SQL, HIVE realiza la lectura y escritura de grandes conjuntos de datos. Sin embargo, su lenguaje de consulta se llama HQL (Hive Query Language).
  • Es altamente escalable, ya que permite el procesamiento en tiempo real y el procesamiento por lotes. Además, todos los tipos de datos SQL son compatibles con Hive, lo que facilita el procesamiento de consultas.
  • Al igual que los marcos de procesamiento de consultas, HIVE también viene con dos componentes: controladores JDBC y línea de comandos de HIVE .
  • JDBC, junto con los controladores ODBC, trabajan para establecer los permisos de almacenamiento de datos y la conexión, mientras que la línea de comandos de HIVE ayuda en el procesamiento de consultas.

Cuidador de elefantes: 
 

  • Mahout, permite Machine Learningability a un sistema o aplicación. Machine Learning , como su nombre indica, ayuda al sistema a desarrollarse a sí mismo en función de algunos patrones, la interacción usuario/ambiente o sobre la base de algoritmos.
  • Proporciona varias bibliotecas o funcionalidades, como filtrado colaborativo, agrupación y clasificación, que no son más que conceptos de aprendizaje automático. Permite invocar algoritmos según nuestra necesidad con la ayuda de sus propias bibliotecas.

chispa apache: 
 

  • Es una plataforma que maneja todas las tareas de consumo del proceso, como el procesamiento por lotes, el procesamiento interactivo o iterativo en tiempo real, las conversiones de gráficos y la visualización, etc.
  • Consume recursos de memoria, por lo tanto, es más rápido que el anterior en términos de optimización.
  • Spark es más adecuado para datos en tiempo real, mientras que Hadoop es más adecuado para datos estructurados o procesamiento por lotes, por lo tanto, ambos se usan indistintamente en la mayoría de las empresas.

Base H de Apache: 
 

  • Es una base de datos NoSQL que admite todo tipo de datos y, por lo tanto, es capaz de manejar cualquier cosa de la base de datos Hadoop. Proporciona capacidades de BigTable de Google, por lo que puede trabajar en conjuntos de Big Data de manera efectiva.
  • En momentos en los que necesitamos buscar o recuperar las ocurrencias de algo pequeño en una base de datos enorme, la solicitud debe procesarse en un breve lapso de tiempo. En esos momentos, HBase es útil ya que nos brinda una forma tolerante de almacenar datos limitados.

Otros componentes: además de todos estos, también hay otros componentes que llevan a cabo una gran tarea para que Hadoop sea capaz de procesar grandes conjuntos de datos. Son los siguientes: 

  • Solr, Lucene: estos son los dos servicios que realizan la tarea de búsqueda e indexación con la ayuda de algunas bibliotecas de Java, especialmente Lucene se basa en Java, que también permite el mecanismo de revisión ortográfica. Sin embargo, Lucene está impulsada por Solr.
  • Zookeeper: Había un gran problema de gestión de coordinación y sincronización entre los recursos o los componentes de Hadoop que, a menudo, generaba incoherencias. Zookeeper superó todos los problemas mediante la sincronización, la comunicación basada en componentes, la agrupación y el mantenimiento.
  • Oozie: Oozie simplemente realiza la tarea de un programador, programando así trabajos y uniéndolos como una sola unidad. Hay dos tipos de trabajos, es decir, el flujo de trabajo de Oozie y los trabajos de coordinador de Oozie. El flujo de trabajo de Oozie son los trabajos que deben ejecutarse de manera ordenada secuencialmente, mientras que los trabajos del Coordinador de Oozie son aquellos que se activan cuando se le dan algunos datos o estímulos externos.

Publicación traducida automáticamente

Artículo escrito por theprogrammedwords y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *