# A Data Structure Perspective to the RDD-based Apriori Algorithm on Spark

**Authors:** Pankaj Singh, Sudhakar Singh, P. K. Mishra, Rakhi Garg

arXiv: 1908.01338 · 2019-08-06

## TL;DR

This paper evaluates different data structures for the Spark-based Apriori algorithm, demonstrating that Trie and Hash Table Trie significantly outperform Hash Tree in distributed big data environments.

## Contribution

It re-investigates the efficiency of data structures for Spark-based Apriori, comparing Hash Tree, Trie, and Hash Table Trie in a distributed setting.

## Key findings

- Trie and Hash Table Trie outperform Hash Tree in Spark-based Apriori.
- Both Trie and Hash Table Trie have similar performance.
- Performance improvements are multiple times better than Hash Tree.

## Abstract

During the recent years, a number of efficient and scalable frequent itemset mining algorithms for big data analytics have been proposed by many researchers. Initially, MapReduce-based frequent itemset mining algorithms on Hadoop cluster were proposed. Although, Hadoop has been developed as a cluster computing system for handling and processing big data, but the performance of Hadoop does not meet the expectation for the iterative algorithms of data mining, due to its high I/O, and writing and then reading intermediate results in the disk. Consequently, Spark has been developed as another cluster computing infrastructure which is much faster than Hadoop due to its in-memory computation. It is highly suitable for iterative algorithms and supports batch, interactive, iterative, and stream processing of data. Many frequent itemset mining algorithms have been re-designed on the Spark, and most of them are Apriori-based. All these Spark-based Apriori algorithms use Hash Tree as the underlying data structure. This paper investigates the efficiency of various data structures for the Spark-based Apriori. Although, the data structure perspective has been investigated previously, but for MapReduce-based Apriori, and it must be re-investigated in the distributed computing environment of Spark. The considered underlying data structures are Hash Tree, Trie, and Hash Table Trie. The experimental results on the benchmark datasets show that the performance of Spark-based Apriori with Trie and Hash Table Trie are almost similar but both perform many times better than Hash Tree in the distributed computing environment of Spark.

---
Source: https://tomesphere.com/paper/1908.01338