DocumentCode
1411193
Title
MAP-JOIN-REDUCE: Toward Scalable and Efficient Data Analysis on Large Clusters
Author
Jiang, Dawei ; Tung, Anthony K H ; Chen, Gang
Author_Institution
Dept. of Comput. Sci., Nat. Univ. of Singapore, Singapore, Singapore
Volume
23
Issue
9
fYear
2011
Firstpage
1299
Lastpage
1311
Abstract
Data analysis is an important functionality in cloud computing which allows a huge amount of data to be processed over very large clusters. MapReduce is recognized as a popular way to handle data in the cloud environment due to its excellent scalability and good fault tolerance. However, compared to parallel databases, the performance of MapReduce is slower when it is adopted to perform complex data analysis tasks that require the joining of multiple data sets in order to compute certain aggregates. A common concern is whether MapReduce can be improved to produce a system with both scalability and efficiency. In this paper, we introduce Map-Join-Reduce, a system that extends and improves MapReduce runtime framework to efficiently process complex data analysis tasks on large clusters. We first propose a filtering-join-aggregation programming model, a natural extension of MapReduce´s filtering-aggregation programming model. Then, we present a new data processing strategy which performs filtering-join-aggregation tasks in two successive MapReduce jobs. The first job applies filtering logic to all the data sets in parallel, joins the qualified tuples, and pushes the join results to the reducers for partial aggregation. The second job combines all partial aggregation results and produces the final answer. The advantage of our approach is that we join multiple data sets in one go and thus avoid frequent checkpointing and shuffling of intermediate results, a major performance bottleneck in most of the current MapReduce-based systems. We benchmark our system against Hive, a state-of-the-art MapReduce-based data warehouse on a 100-node cluster on Amazon EC2 using TPC-H benchmark. The results show that our approach significantly boosts the performance of complex analysis queries.
Keywords
cloud computing; data analysis; data warehouses; parallel databases; MapReduce; MapReduce-based system; cloud computing; data analysis; data warehouse; fault tolerance; filtering join aggregation programming model; parallel database; Clouds; Data analysis; Fault tolerance; Programming; Runtime; Scalability; Cloud computing; parallel systems; query processing.;
fLanguage
English
Journal_Title
Knowledge and Data Engineering, IEEE Transactions on
Publisher
ieee
ISSN
1041-4347
Type
jour
DOI
10.1109/TKDE.2010.248
Filename
5674038
Link To Document