Abstract

MapReduce represents a programming framework for modular Big Data computation that uses a function map to identify and target intermediate data in the mapping phase, and a function reduce to summarize the output of the map function and give a final result. Because inputs for the reduce function depend on the map function’s output to decrease the communication traffic of the output of map functions to the input of reduce functions, MapReduce permits defining combining function for local aggregation in the mapping phase. MapReduce Hadoop solutions do not warrant the combining functioning application. Even though there exist proposals for warranting the combining function execution, they break the modular nature of MapReduce solutions. Because Aspect-Oriented Programming (AOP) is a programming paradigm that looks for the modular software production, this article proposes and apply Aspect-Combining function, an AOP combining function, to look for a modular MapReduce solution. The Aspect-Combining application results on MapReduce Hadoop experiments highlight computing performance and modularity improvements and a warranted execution of the combining function using an AOP framework like AspectJ as a mandatory requisite.

Highlights

  • MapReduce represents a computation framework aiming to solve Big Data and Big Computation issues [1]–[4]

  • Aspect-Oriented Programming (AOP) languages like AspectJ [13], [16], [17] introduce implicit dependencies between aspects and advisable classes [18]–[21]

  • This paper looks for getting modular MapReduce solutions by the use of AspectJ on Hadoop solutions

Read more

Summary

INTRODUCTION

MapReduce represents a computation framework aiming to solve Big Data and Big Computation issues [1]–[4]. Even though MapReduce represents a framework to isolate a programmer of traditional faults and issues on traditional distributed programming approaches and frameworks, MapReduce demands to figure out solutions using their main two functions: map and reduce. These functions can include code out of their inner nature which are clear crosscutting concerns examples according to good modular programming and AOP principles [7].

MapReduce
Aspect-Oriented Programming
Join points and Pointcuts
Inter-type Declarations and Advices
GROUPING DATA LOCALLY IN MAPREDUCE
Combining and ‘In-Mapper’ Combining
Experiments
Aspect-Combining
DISCUSSION
CONCLUSIONS
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call