开源 | 华为开源streamDM:用于Spark Streaming的数据挖掘软件
选自huawei-noah.github.io
机器之心编译
参与:杜夏德
华为诺亚方舟实验室开源 stream DM ,是一种使用 Spark Streaming 挖掘大数据的开源软件。Stream DM 是 Apache Software License v2.0 许可下的开源软件。
大数据流学习
大数据流学习(Big Data stream learning)比批量或离线学习更富有挑战性,因为数据在流动的过程中不太可能保持同一种分布。而且,数据流中的每一个样本只能被处理一次,否则它们就需要占用内存进行总结,同时该学习算法也必须非常高效。
Spark Streaming
Spark Streaming(https://spark.apache.org/streaming/) 是核心 Spark API 的一个扩展,它能让多个源的数据流处理成为可能。Spark 是一个可扩展可编程的框架,用于大规模分布式数据集(也称为弹性分布式数据集(RDD))处理。Spark Streaming 接收输入的数据流后将数据分批,再由 Spark 引擎处理,生成结果。
Spark Streaming 数据被编成一个 DStreams 序列,内在地表示成一个 RDD 序列。
包含以下方法:
在第一次开放的 StreamDM 中,我们部署了:
-
SGD Learner (http://huawei-noah.github.io/streamDM/docs/SGD.html) 和 Perceptron (http://huawei-noah.github.io/streamDM/docs/SGD.html#perceptron)
-
Naive Bayes (http://huawei-noah.github.io/streamDM/docs/NB.html)
-
CluStream (http://huawei-noah.github.io/streamDM/docs/CluStream.html)
-
Hoeffding Decision Trees (http://huawei-noah.github.io/streamDM/docs/HDT.html)
-
Bagging (http://huawei-noah.github.io/streamDM/docs/Bagging.html)
-
Stream KM++ (http://huawei-noah.github.io/streamDM/docs/StreamKM.html)
我们部署了以下数据生成器
(http://huawei-noah.github.io/streamDM/docs/generators.html):
-
HyperplaneGenerator
-
RandomTreeGenerator
-
RandomRBFGenerator
-
RandomRBFEventsGenerator
我们部署了 SampleDataWriter:
(http://huawei-noah.github.io/streamDM/docs/SampleDataWriter.html),它可以调取数据生成器创建样本数据用于模拟和测试。 后面我们将计划开放:
-
分类:随机森林
-
回归:Hoeffding 回归树,Bagging,随机森林
-
聚类:Clustree, DenStream
-
Frequent Itemset Miner:IncMine, IncSecMine
下一步
为了快速介绍一下 StreamDM 的运行,请打开 Getting Started (http://huawei-noah.github.io/streamDM/docs/GettingStarted.html)文件。StreamDM Programming Guide (http://huawei-noah.github.io/streamDM/docs/Programming.html) 展示了 StreamDM 的细节。完整的 API 文档,可以参考这里:http://huawei-noah.github.io/streamDM/api/index.html。
©本文由机器之心编译, 转载请联系本公众号获得授权 。
?------------------------------------------------
加入机器之心(全职记者/实习生):hr@almosthuman.cn
投稿或寻求报道:editor@almosthuman.cn
广告&商务合作:bd@almosthuman.cn