Hostname: page-component-74656f9884-c52kr Total loading time: 0 Render date: 2026-11-06T23:57:47.847Z Has data issue: false hasContentIssue false

Review and comparison of Apriori algorithm implementations on Hadoop-MapReduce and Spark

Published online by Cambridge University Press:  11 July 2018

Eduardo P. S. Castro
Affiliation:
Department of Computer Science, Universidade Federal de Lavras, PO Box 3037, Lavras 37200-000, Brazil e-mail: eduardo.petrini@outlook.com, dinizthiagobr@gmail.com, marluce@dcc.ufla.br, ahmed@dcc.ufla.br, denilsonpereira@dcc.ufla.br
Thiago D. Maia
Affiliation:
Department of Computer Science, Universidade Federal de Lavras, PO Box 3037, Lavras 37200-000, Brazil e-mail: eduardo.petrini@outlook.com, dinizthiagobr@gmail.com, marluce@dcc.ufla.br, ahmed@dcc.ufla.br, denilsonpereira@dcc.ufla.br
Marluce R. Pereira
Affiliation:
Department of Computer Science, Universidade Federal de Lavras, PO Box 3037, Lavras 37200-000, Brazil e-mail: eduardo.petrini@outlook.com, dinizthiagobr@gmail.com, marluce@dcc.ufla.br, ahmed@dcc.ufla.br, denilsonpereira@dcc.ufla.br
Ahmed A. A. Esmin
Affiliation:
Department of Computer Science, Universidade Federal de Lavras, PO Box 3037, Lavras 37200-000, Brazil e-mail: eduardo.petrini@outlook.com, dinizthiagobr@gmail.com, marluce@dcc.ufla.br, ahmed@dcc.ufla.br, denilsonpereira@dcc.ufla.br
Denilson A. Pereira
Affiliation:
Department of Computer Science, Universidade Federal de Lavras, PO Box 3037, Lavras 37200-000, Brazil e-mail: eduardo.petrini@outlook.com, dinizthiagobr@gmail.com, marluce@dcc.ufla.br, ahmed@dcc.ufla.br, denilsonpereira@dcc.ufla.br
Rights & Permissions [Opens in a new window]

Abstract

Several Apriori algorithm implementations for mining association rules have been proposed in the literature using the Hadoop-MapReduce framework and, more recently, Spark. However, none of the works have made a detailed assessment of its performance, for example, comparing it with other implementations in various characteristics of data sets. In this work, we present a review of the main algorithms proposed for Hadoop-MapReduce and compared their implementations in a single environment under several different situations. Moreover, these algorithms had their implementations adapted to Spark, and also compared under the same circumstances. Based on the results of the experiments, we present a framework for recommending the Apriori implementation most appropriate for solving a given problem, according to the data set characteristics and minimum required support. The results show that Spark implementations overcome Hadoop-MapReduce implementations at runtime in most experiments. However, there is no single implementation that is the best in all the evaluated situations.

Information

Type
Review Article
Copyright
© Cambridge University Press, 2018 
Figure 0

Figure 1 Example of Phase 2 for a typical k phase algorithm with minimum support equal to 2 (33.3%)

Figure 1

Figure 2 Example of 4-itemsets candidate generation used by Complete Parallel Apriori

Figure 2

Figure 3 Example of Phase 1 of Improved MapReduce Apriori Accelerated with minimum support equal to 6 (40%)

Figure 3

Figure 4 Example of Phase 2 of Improved MapReduce Apriori Accelerated with minimum support equal to 6 (40%)

Figure 4

Figure 5 Flow of Phase 1—Improved MapReduce Apriori Accelerated Spark

Figure 5

Figure 6 Flow of Phase 2—Improved MapReduce Apriori Accelerated Spark

Figure 6

Figure 7 Flow of Phases 1 and 2—Dynamic Passes Combined-Counting Spark

Figure 7

Figure 8 Flow of the dynamic phase—Dynamic Passes Combined-Counting Spark

Figure 8

Figure 9 Flow for Complete Parallel Apriori Spark

Figure 9

Figure 10 Flow for Improved MapReduce Apriori Accelerated-Complete Parallel Apriori Spark

Figure 10

Table 1 Data sets

Figure 11

Figure 11 Runtime for the algorithms for minimum support 0.5%, eight Maps and eight Reduces. IMRAprioriAcc=Improved MapReduce Apriori Accelerated; DPC=Dynamic Passes Combined-Counting; CPA=Complete Parallel Apriori

Figure 12

Figure 12 Runtime for the algorithms for minimum support 0.1%, eight Maps and eight Reduces. IMRAprioriAcc=Improved MapReduce Apriori Accelerated; DPC=Dynamic Passes Combined-Counting; CPA=Complete Parallel Apriori

Figure 13

Figure 13 Runtime for the algorithms for minimum support 0.01%, eight Maps and eight Reduces. IMRAprioriAcc=Improved MapReduce Apriori Accelerated; DPC=Dynamic Passes Combined-Counting; CPA=Complete Parallel Apriori

Figure 14

Figure 14 SpeedUp for the Hadoop-MapReduce algorithms. IMRAprioriAcc=Improved MapReduce Apriori Accelerated; DPC=Dynamic Passes Combined-Counting; CPA=Complete Parallel Apriori

Figure 15

Figure 15 SizeUp for the Hadoop-MapReduce algorithms. IMRAprioriAcc=Improved MapReduce Apriori Accelerated; DPC=Dynamic Passes Combined-Counting; CPA=Complete Parallel Apriori

Figure 16

Figure 16 ScaleUp for the Hadoop-MapReduce algorithms. IMRAprioriAcc=Improved MapReduce Apriori Accelerated; DPC=Dynamic Passes Combined-Counting; CPA=Complete Parallel Apriori

Figure 17

Figure 17 Runtime for the Spark algorithms for minimum support 0.5% and eight blocks. IMRAprioriAcc=Improved MapReduce Apriori Accelerated; DPC=Dynamic Passes Combined-Counting; CPA=Complete Parallel Apriori

Figure 18

Figure 18 Runtime for the Spark algorithms for minimum support 0.1% and eight blocks. IMRAprioriAcc=Improved MapReduce Apriori Accelerated; DPC=Dynamic Passes Combined-Counting; CPA=Complete Parallel Apriori

Figure 19

Figure 19 Runtime for the Spark algorithms for minimum support 0.01% and eight blocks. IMRAprioriAcc=Improved MapReduce Apriori Accelerated; DPC=Dynamic Passes Combined-Counting; CPA=Complete Parallel Apriori

Figure 20

Figure 20 SpeedUp for Spark algorithms. IMRAprioriAcc=Improved MapReduce Apriori Accelerated; DPC=Dynamic Passes Combined-Counting; CPA=Complete Parallel Apriori

Figure 21

Figure 21 SizeUp for Spark algorithms. IMRAprioriAcc=Improved MapReduce Apriori Accelerated; DPC=Dynamic Passes Combined-Counting; CPA=Complete Parallel Apriori

Figure 22

Figure 22 ScaleUp for Spark algorithms. IMRAprioriAcc=Improved MapReduce Apriori Accelerated; DPC=Dynamic Passes Combined-Counting; CPA=Complete Parallel Apriori

Figure 23

Figure 23 Summary of cases where each algorithm had the best performance, based on the amount of frequent itemsets. IMRAprioriAcc=Improved MapReduce Apriori Accelerated; DPC=Dynamic Passes Combined-Counting; CPA=Complete Parallel Apriori