¿Qué es Hadoop Streaming?

Hadoop streaming es una utilidad que viene con la distribución de Hadoop que se puede usar para ejecutar programas para el análisis de grandes datos. Hay varios lenguajes que se pueden usar para realizar esto, como Java, Scala, Unix, Perl, Python y muchos más. La utilidad nos ayuda a crear y ejecutar trabajos de reducción de mapas con cualquier ejecutable o script que sea el mapeador y / o reductor.

Definición

Es una distribución de Hadoop con utilidad. La utilidad nos ayuda a crear y ejecutar trabajos específicos de MapReduce con un ejecutable o el script como mapeador y / o reductor.

Comprensión

Hay utilidades de Java proporcionadas por la distribución de Hadoop que se llaman transmisión de Hadoop. La utilidad está empaquetada en un archivo JAR. Con la utilidad podemos crear y ejecutar trabajos de MapReduce con un script ejecutable. Además, podemos crear scripts ejecutables para ejecutar funciones de mapeador y reductor. Los scripts ejecutables se pasan a la transmisión de Hadoop mediante un comando. Después de que los scripts se pasan a la transmisión de Hadoop, la utilidad de transmisión de Hadoop crea un mapa y reduce los trabajos y los envía al clúster. Estos trabajos también se pueden monitorear con esta utilidad.

¿Como funciona?

El script especificado para el mapeador y el reductor funciona de la siguiente manera:

Después de la inicialización completa del script del mapeador, lanzará la instancia del script con diferentes identificadores de proceso. La tarea del asignador mientras se ejecuta toma las líneas de entrada y la pasa a la entrada estándar. Al mismo tiempo, el mapeador recopila los resultados del resultado estándar del proceso. Convierte cada línea en un par clave-valor. El conjunto de pares clave-valor se recopila como salida del mapeador. El par de valores clave se selecciona en función del primer carácter de tabulación. La parte de la línea hasta la pestaña inicial se selecciona como clave, mientras que el resto de la línea se selecciona como una parte valiosa. En caso de que la pestaña no esté presente en una línea, la línea total se selecciona como clave y no hay parte de valor para la línea. Esto se puede ajustar de acuerdo con las necesidades del negocio.

Propósito del uso de Hadoop Streaming

Se utiliza para la ingestión de datos en tiempo real que se puede utilizar en diferentes aplicaciones en tiempo real. Existen diferentes aplicaciones en tiempo real, como ver carteras de acciones, análisis de mercado de acciones, narración de informes meteorológicos, alertas de tráfico que se realizan mediante la transmisión de Hadoop.

Trabajo de Hadoop Streaming

A continuación se muestra un ejemplo simple de cómo funciona la transmisión de Hadoop:

$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/hadoop-streaming.jar \
-input myInputDirs \
-output myOutputDir \
-mapper org.apache.hadoop.mapred.lib.IdentityMapper \
-reducer /bin/wc

El comando de entrada se usa para proporcionar el directorio de entrada mientras que el comando de salida se usa para proporcionar el directorio de salida. El comando mapper se usa para especificar la clase de mapeador ejecutable, mientras que el comando reductor se usa para especificar la clase reductor ejecutable.

Ventajas de Hadoop Streaming

A continuación se presentan las ventajas de la transmisión de Hadoop:

1. Disponibilidad

Esto no requiere la instalación y administración de ningún software adicional adicional. Hay otras herramientas como un cerdo, una colmena que se pueden instalar. Necesito administrarlas por separado.

2. Aprendizaje

No requiere aprender nuevas tecnologías. La transmisión de Hadoop se puede aprovechar con habilidades mínimas de Unix para el análisis de datos.

3. Reduce el tiempo de desarrollo

Requiere escribir código de mapeador y reductor mientras se desarrollan aplicaciones de transmisión en Unix, mientras que hacer el mismo trabajo con la aplicación Java MapReduce es más complejo y debe compilarse primero, luego probar, luego empaquetar, luego exportar el archivo JAR y luego ejecutarlo.

4. Conversión más rápida

Se necesita muy poco tiempo para convertir datos de un formato a otro mediante la transmisión de Hadoop. Podemos usarlo para convertir datos de un archivo de texto a un archivo de secuencia y luego nuevamente de un archivo de secuencia a un archivo de texto y muchos otros. Esto se puede lograr utilizando el formato de entrada y las opciones de formato de salida en la transmisión de Hadoop.

5. Prueba

Los datos de entrada y salida se pueden probar rápidamente utilizando la transmisión de Hadoop con Unix o Shell Script.

6. Requisito para el negocio

Para requisitos comerciales simples como operaciones de filtrado simples y operaciones de agregación simples, podemos usar esto con Unix.

7. Rendimiento

Con la transmisión de Hadoop podemos obtener un mejor rendimiento mientras trabajamos con la transmisión de datos. También hay varias desventajas de la transmisión de Hadoop que se abordan mediante el uso de otras herramientas en el paquete de Hadoop como Kafka, flume, spark.

¿Por qué necesitamos Hadoop Streaming?

Ayuda en el análisis de datos en tiempo real, que es mucho más rápido usando la programación MapReduce que se ejecuta en un clúster de múltiples nodos. Existen diferentes tecnologías como spark Kafka y otras que ayudan en la transmisión en tiempo real de Hadoop.

¿Cómo te ayudará esta tecnología en el crecimiento profesional?

Hoy en día, todas las grandes empresas se están mudando a Hadoop para su análisis de datos y muchas de ellas pueden requerir el análisis de datos en tiempo real. La demanda de uso de datos en tiempo real y el procesamiento de la misma día a día y esta tecnología está creando un amplio margen para el crecimiento profesional individual.

Conclusión

Ofrece una amplia gama de ventajas para diferentes procesamientos de datos en tiempo real utilizando datos de transmisión.

Artículos recomendados

Esta es una guía de Hadoop Streaming. Aquí discutimos la definición, concepto, ventajas y desventajas de Hadoop Streaming. También puede consultar nuestros otros artículos sugeridos para obtener más información.

  1. ¿Qué es el clúster de Hadoop?
  2. ¿Qué es la minería de datos?
  3. ¿Qué es la visualización de datos?
  4. ¿Qué es el modelado de datos?
  5. Guía completa de herramientas Kafka

Categoría: