¿Qué papel debería elegir / jugar, si quiero trabajar en Big Data Analytics / Machine Learning?

Hadoop es un marco de código abierto que permite almacenar y procesar grandes datos en un entorno distribuido en grupos de computadoras utilizando modelos de programación simples. Está diseñado para escalar desde servidores individuales hasta miles de máquinas, cada una de las cuales ofrece computación y almacenamiento local. Big Data Planet Haga clic aquí

Este breve tutorial proporciona una introducción rápida a Big Data, el algoritmo de reducción de mapas y el sistema de archivos distribuidos de Hadoop.

Hadoop es un marco de código abierto de Apache escrito en java que permite el procesamiento distribuido de grandes conjuntos de datos en grupos de computadoras utilizando modelos de programación simples. Una aplicación con marco Hadoop funciona en un entorno que proporciona almacenamiento distribuido y cómputo en grupos de computadoras. Hadoop está diseñado para escalar de un solo servidor a miles de máquinas, cada una de las cuales ofrece computación y almacenamiento local.

  • Hadoop Common: son bibliotecas y utilidades de Java requeridas por otros módulos de Hadoop. Estas bibliotecas proporcionan abstracciones a nivel de sistema de archivos y sistema operativo y contienen los archivos y scripts Java necesarios para iniciar Hadoop.
  • Hadoop YARN: este es un marco para la programación de trabajos y la gestión de recursos de clúster.
  • Sistema de archivos distribuidos de Hadoop (HDFS ™): un sistema de archivos distribuido que proporciona acceso de alto rendimiento a los datos de la aplicación.
  • Hadoop MapReduce: este es un sistema basado en YARN para el procesamiento paralelo de grandes conjuntos de datos.

Hadoop MapReduce es un marco de software para escribir fácilmente aplicaciones que procesan grandes cantidades de datos en paralelo en grandes grupos (miles de nodos) de hardware Commodity de una manera confiable y tolerante a fallas.

El término MapReduce en realidad se refiere a las siguientes dos tareas diferentes que realizan los programas de Hadoop:

  • La tarea de mapa: esta es la primera tarea, que toma datos de entrada y los convierte en un conjunto de datos, donde los elementos individuales se dividen en tuplas (pares clave / valor).
  • La tarea Reducir: esta tarea toma la salida de una tarea de mapa como entrada y combina esas tuplas de datos en un conjunto más pequeño de tuplas. La tarea de reducción siempre se realiza después de la tarea de mapa.

Por lo general, tanto la entrada como la salida se almacenan en un sistema de archivos. El marco se encarga de programar tareas, monitorearlas y volver a ejecutar las tareas fallidas.

El marco MapReduce consta de un único JobTracker maestro y un TaskTracker esclavo por nodo de clúster. El maestro es responsable de la administración de recursos, rastreando el consumo / disponibilidad de recursos y programando las tareas del componente de trabajos en los esclavos, monitoreándolos y volviendo a ejecutar las tareas fallidas. Los esclavos TaskTracker ejecutan las tareas según lo dirigido por el maestro y proporcionan información del estado de la tarea al maestro periódicamente.

JobTracker es un punto único de falla para el servicio Hadoop MapReduce, lo que significa que si JobTracker se cae, todos los trabajos en ejecución se suspenden.

Sistema de archivos distribuidos de Hadoop

Hadoop puede trabajar directamente con cualquier sistema de archivos distribuido montable, como Local FS, HFTP FS, S3 FS y otros, pero el sistema de archivos más común utilizado por Hadoop es el Sistema de archivos distribuidos de Hadoop (HDFS).

El Sistema de archivos distribuidos de Hadoop (HDFS) se basa en el Sistema de archivos de Google (GFS) y proporciona un sistema de archivos distribuido que está diseñado para ejecutarse en grandes grupos (miles de computadoras) de máquinas pequeñas de una manera confiable y tolerante a fallas.

HDFS utiliza una arquitectura maestro / esclavo donde el maestro consiste en un único NameNode que administra los metadatos del sistema de archivos y uno o más DataNodes esclavos que almacenan los datos reales.

Un archivo en un espacio de nombres HDFS se divide en varios bloques y esos bloques se almacenan en un conjunto de DataNodes. NameNode determina la asignación de bloques a los DataNodes. DataNodes se encarga de la operación de lectura y escritura con el sistema de archivos. También se encargan de la creación, eliminación y replicación de bloques según las instrucciones proporcionadas por NameNode.

HDFS proporciona un shell como cualquier otro sistema de archivos y hay una lista de comandos disponibles para interactuar con el sistema de archivos.

Como he respondido esta pregunta muchas veces: depende de ti.

El mejor camino para usted no es el mismo que el mejor camino para cualquier otra persona. Lo que es más rentable depende de sus habilidades y capacidades e intereses. Y las circunstancias. Y el futuro

Haz lo que creas que es mejor, en base a lo que sabes de ti mismo. Si no está seguro acerca de los detalles, entonces yo u otra persona podemos ayudarlo. Solo puedo adivinar lo que me depara el futuro. Para ti … no tengo idea.