论文部分内容阅读
随着人、机、物三元世界的高度融合,全球数据规模呈爆发式增长,这些数据中隐含着重要的社会和经济价值。但是流数据是数据产生时最真实的状态,之前大部分的挖掘工作都基于批量静态数据。因此,对数据流中数据进行实时、准确、高效的挖掘是一个迫切需要解决的难题。序列数据流中的序列模式挖掘就是数据流挖掘一个重要的研究分支。因此,本文在对传统静态的序列模式挖掘算法研发的基础上,先对算法进行单机的流式改进,然后再基于Spark Streaming分布式流式处理框架对算法进行流式和分布式改进和实现。本文主要的工作是:(1)基于三台Linux系统的计算节点,搭建Spark分布式集群。为了便于算法的开发和测试,在计算节点上配置Java、Scala语言环境和相应的IDE。(2)总结序列模式挖掘算法的发展以及数据流挖掘的挑战和需求,提出基于滑动窗口、压缩前缀树的单机数据流序列模式挖掘算法——SPM-NDS(Sequential Patterns Mining-Non Distributed Streaming)算法,并通过 UCI 序列数据集,验证算法的准确性和稳定性。(3)在分析Spark Streaming分布式流式处理框架的基础上,提出基于该框架的分布式流式序列模式挖掘算法——SPM-SS(Sequential Patterns Mining-Spark Streaming)算法,并通过UCI序列数据集,验证算法的高效性。本文的主要贡献有以下几个方面:(1)提出的SPM-NDS算法在流数据的场景下兼顾了准确性和稳定性,丰富了单机流式序列模式挖掘算法,为后续的算法分布式改进奠定了基础。(2)提出的SPM-SS算法充分利用了分布式并行计算的优点,使之能够高效的挖掘序列数据流中的序列模式,以应对数据流挖掘实时性、高效性的需求,丰富了 Spark平台下流式挖掘的算法集,使之可以应用到对大规模序列数据流进行序列模式挖掘的场景。