基于 RDD 的 Spark 上 Apriori 算法之数据结构视角
分布式、并行与集群计算
2019-08-06 v1 数据库
摘要
近年来,许多研究者提出了大量用于大数据分析的高效可扩展频繁项集挖掘算法。最初,提出了基于 Hadoop 集群的 MapReduce 频繁项集挖掘算法。尽管 Hadoop 已发展为用于处理和处理大数据的集群计算系统,但由于其高 I/O 以及将中间结果写入磁盘再读取,Hadoop 的性能无法满足数据挖掘迭代算法的预期。因此,Spark 作为另一种集群计算基础设施被开发出来,因其内存计算而远快于 Hadoop。它高度适合迭代算法,并支持数据的批处理、交互式、迭代式和流式处理。许多频繁项集挖掘算法已在 Spark 上重新设计,其中大多基于 Apriori。所有这些基于 Spark 的 Apriori 算法均使用哈希树作为底层数据结构。本文研究了各种数据结构对于基于 Spark 的 Apriori 的效率。尽管数据结构视角此前已被研究过,但那是针对基于 MapReduce 的 Apriori,且必须在 Spark 的分布式计算环境中重新研究。所考虑的底层数据结构为哈希树、Trie 和哈希表 Trie。在基准数据集上的实验结果表明,采用 Trie 和哈希表 Trie 的基于 Spark 的 Apriori 性能几乎相似,但二者在 Spark 分布式计算环境中的表现均比哈希树好数倍。
引用
@article{arxiv.1908.01338,
title = {A Data Structure Perspective to the RDD-based Apriori Algorithm on Spark},
author = {Pankaj Singh and Sudhakar Singh and P. K. Mishra and Rakhi Garg},
journal= {arXiv preprint arXiv:1908.01338},
year = {2019}
}
备注
14 pages