Cómo escribir aplicaciones mapreduce

Video: Cómo Hacer Aplicaciones para Android con App Inventor 2

La API de MapReduce está escrito en Java, por lo que las aplicaciones MapReduce son principalmente basados ​​en Java. La siguiente lista especifica los componentes de una aplicación MapReduce que se puede desarrollar:

  • Conductor (obligatorio): Este es el shell aplicación que se ejecuta desde el cliente. Se configura la clase MapReduce (que no personaliza) y lo envía al gestor de recursos (o JobTracker si está utilizando Hadoop 1).

    Video: Tutorial: Crear una aplicación con Android Studio

  • clase (obligatoria): La clase que se aplique necesidades para definir los formatos de los pares clave / valor que la entrada y salida mientras procesa cada registro. Esta clase tiene un único método, que es donde se codifican cómo se procesará cada registro y qué clave / valor de salida. Para dar salida a los pares clave / valor de la tarea asignador, escribirlos en una instancia de la clase.

  • clase (opcional): El reductor es opcional para aplicaciones de mapas de sólo donde no es necesaria la fase Reducir.

    Video: [Tutorial] Cómo crear una aplicación para Android con Android Studio

  • clase (opcional): Un combinador a menudo se puede definir como un reductor, pero en algunos casos tiene que ser diferente. (Recuerde, por ejemplo, que un reductor puede no ser capaz de ejecutar varias veces en un conjunto de datos sin mutación de los resultados).

    Video: MEJOR PROGRAMA y APLICACION PARA ESCRIBIR GUIONES GRATIS

  • clase (opcional): Personalizar la herramienta de particionado por defecto para realizar tareas especiales, como una especie secundaria en los valores para cada tecla o para casos poco frecuentes que afectan la escasez de datos y archivos de salida desequilibradas de las tareas Mapper.

  • andclasses (opcional): Hadoop tiene algunos formatos de datos estándar (por ejemplo, archivos de texto, archivos de secuencias y bases de datos), que son útiles para muchos casos. Para los datos formateados específicamente, la implementación de sus propias clases para leer y escribir datos puede simplificar en gran medida su mapeador y el código reductor.

Desde dentro del controlador, puede utilizar la API de MapReduce, que incluye métodos de fábrica para crear instancias de todos los componentes de la lista anterior. (En caso de que no es una persona de Java, un método de fábrica es una herramienta para la creación de objetos.)

Una API genérico denominado Hadoop Streaming le permite utilizar otros lenguajes de programación (más comúnmente, C, Python y Perl). Aunque esta API permite a las organizaciones con habilidades que no son Java para escribir código MapReduce, usando tiene algunas desventajas.

Debido a las capas de abstracción adicionales que este código de streaming tiene que pasar por el fin de funcionar, hay una penalización en el rendimiento y el uso de memoria. También, puede codificar funciones del asignador y reductor únicamente con Hadoop Streaming. lectores de discos y escritores, así como todas sus particionadores, deben ser escritos en Java.

Una consecuencia directa - y la desventaja adicional - de no ser capaz de personalizar los lectores de discos y escritores es que las aplicaciones de Hadoop Streaming son muy adecuadas para manejar sólo datos basados ​​en texto.

Artículos Relacionados