首页 文章

Apache Spark(MLLib)用于实时分析

提问于
浏览
7

我有一些与使用Apache Spark进行实时分析相关的问题 . 提交Spark应用程序时,存储在Cassandra数据库中的数据将通过机器学习算法(支持向量机)加载和处理 . 在新数据到达时,通过Spark的流式传输扩展,它们将保留在数据库中,重新训练现有数据集并执行SVM算法 . 此过程的输出也存储在数据库中 .

  • Apache Spark 's MLLib provides implementation of linear support vector machine. In case that I would like a non-linear SVM implementation, should I implement my own algorithm or may I use existing libraries such as libsvm or jkernelmachines? These implementations are not based on Spark'的RDD,如果没有使用RDD集合从头开始实现算法,有没有办法做到这一点?如果不是,如果我想测试几种算法,那将是一项巨大的努力 .

  • MLLib是否在执行SVM算法之前提供了开箱即用的数据扩展工具? http://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf,见2.2节

  • 在流式传输新数据集时,是否需要重新训练孔数据集?有什么方法可以将新数据添加到已经训练过的数据中吗?

1 回答

  • 1

    要分段回答你的问题,

    • Spark提供了MLUtils类,允许您将数据从LIBSVM格式加载到RDD中 - 所以只是数据加载部分赢了't stop you from utilizing that library. You could also implement your own algorithms if you know what you',尽管我的建议是采用现有的并调整目标函数并查看它是如何运行的 . Spark基本上为您提供分布式随机梯度下降过程的功能 - 您可以使用它做任何事情 .

    • 不是我所知道的 . 希望其他人知道答案 .

    • 整个数据流式传输时重新训练是什么意思?

    从文档中,

    ..除了在每批数据上发生拟合,因此模型不断更新以反映来自流的数据 .

相关问题