streamDM,是由华为诺亚方舟实验室开源的使用 Spark Streaming 挖掘大数据的开源软件。
大数据流学习
大数据流学习(Big Data stream learning)比批量或离线学习更富有挑战性,因为数据在流动的过程中不太可能保持同一种分布。而且,数据流中的每一个样本只能被处理一次,否则它们就需要占用内存进行总结,同时该学习算法也必须非常高效。
Spark Streaming
Spark Streaming 是核心 Spark API 的一个扩展,它能让多个源的数据流处理成为可能。Spark 是一个可扩展可编程的框架,用于大规模分布式数据集(也称为弹性分布式数据集(RDD))处理。Spark Streaming 接收输入的数据流后将数据分批,再由 Spark 引擎处理,生成结果。
Spark Streaming 数据被编成一个 DStreams 序列,内在地表示成一个 RDD 序列。
包含以下方法:
在第一次开放的 StreamDM 中,我们部署了:
SGD Learner and Perceptron
Naive Bayes
CluStream
Hoeffding Decision Trees
Bagging
Stream KM++
我们部署了以下数据生成器:
HyperplaneGenerator
RandomTreeGenerator
RandomRBFGenerator
RandomRBFEventsGenerator
我们部署了 SampleDataWriter:
它可以调取数据生成器创建样本数据用于模拟和测试。后面我们将计划开放:
分类:随机森林
回归:Hoeffding 回归树,Bagging,随机森林
聚类:Clustree, DenStream
Frequent Itemset Miner:IncMine, IncSecMine
下一步
为了快速介绍一下 StreamDM 的运行,请打开 Getting Started 文件。StreamDM Programming Guide 展示了 StreamDM 的细节。完整的 API 文档,可以参考这里:http://huawei-noah.github.io/streamDM/api/index.html。
部分内容转载自机器之心