StreamDM:基于Spark Streaming、支持在线学习的流式分析算法引擎

时间:2023-03-08 23:25:39
StreamDM:基于Spark Streaming、支持在线学习的流式分析算法引擎

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)