StreamDM:基于Spark Streaming、支持在线学习的流式分析算法引擎
streamDM:Data Mining for Spark Streaming,华为诺亚方舟实验室开源了业界第一个基于 Spark Streaming 的算法引擎StreamDM。
大数据分析按照模型是否在线学习可以分为:
- 离线学习(Offline Learning);
- 在线学习(Online Learning)两大方式,
对应的数据处理模式分别为:
- 批处理(Batch Mode)分析;
- 流处理(Streaming)分析;
在实际应用中,存在连续不断的海量、高速的流数据,这些场景下,数据通常无法全部保存,只能在通过系统时进行一次性分析处理,流数据分析平台可以发挥重要作用。
Spark Streaming 采用基于 RDD 的 mini-batch 模式处理数据,适合于这种场景,现实中被广泛使用。相比离线学习模型,在线学习模型需要同时考虑学习的精度和效率的问题,实现往往更具挑战性。华为诺亚方舟实验室开源了业界第一个基于 Spark Streaming 的算法引擎 StreamDM,结合了流处理算法的在线增量更新和批处理算法的高可并发性,并实现了常用的在线学习的分类、聚类等算法。本文将详细介绍 StreamDM 的框架、API 和算法,并通过具体的例子介绍如何使用 StreamDM 来实现大规模流数据分析。
杂项
- 一些 API:
- addOnWeight, addonWeight
- 前者是函数(def),后者是变量(var)
- addOnWeight, addonWeight