Spark computeSVD 替代方案
Spark computeSVD Alternative
提前感谢您对此提供的任何帮助。我正在做一个项目,对一些非常大的数据集进行一些系统日志异常检测(我们每天汇总约 100gb 的系统日志)。我们选择的 method/road 需要每个日志消息的标识符矩阵上的奇异分解值。随着我们的进步,我们发现 Spark 2.2 提供了一个 computeSVD 函数(我们正在使用 Python API - 我们知道这在 Scala 和 Java 中可用,但我们的目标是使用 Python),但我们是 运行 Spark 2.1.1(HortonWorks HDP 2.6.2 发行版)。我询问了关于就地升级我们的 2.1.1 版本,但是 2.2 版本还没有针对 HDP 进行测试。
我们考虑过直接使用 Python 中的 Numpy 的想法,但我们担心我们会破坏 Spark 的无私性,并可能在 Spark 之外使工作节点过载 API. SVD 的 Spark 2.1.1 Python API 是否有任何替代方案?任何建议或指示将不胜感激。谢谢!
另一个虽然我在最初的帖子中忘记了 - 有没有一种方法我们可以主要在 Python API 中编写我们的机器学习,但也许可以调用我们需要的 Scala 函数,return 结果并继续 Python?不知道是不是这样....
为了结束这个,我们最终根据以下示例编写了自己的 SVD 函数:
有一些小的调整,我会在完成后立即 post,但总的来说是一样的。这是针对 Spark 1.5 编写的 post,我们使用的是 Spark 2.1.1。然而,注意到 Spark 2.2 包含一个 computeSVD() 函数 - 不幸的是,在 posting 时,我们使用的 HDP 分布不支持 2.2。昨天 (11.1.2017),HDP 2.6.3 发布并支持 Spark 2.2。升级后,我们将转换代码以利用 Spark 2.2 提供的内置 computeSVD() 函数。感谢上面 link 的所有帮助和指点,他们帮助很大!
提前感谢您对此提供的任何帮助。我正在做一个项目,对一些非常大的数据集进行一些系统日志异常检测(我们每天汇总约 100gb 的系统日志)。我们选择的 method/road 需要每个日志消息的标识符矩阵上的奇异分解值。随着我们的进步,我们发现 Spark 2.2 提供了一个 computeSVD 函数(我们正在使用 Python API - 我们知道这在 Scala 和 Java 中可用,但我们的目标是使用 Python),但我们是 运行 Spark 2.1.1(HortonWorks HDP 2.6.2 发行版)。我询问了关于就地升级我们的 2.1.1 版本,但是 2.2 版本还没有针对 HDP 进行测试。
我们考虑过直接使用 Python 中的 Numpy 的想法,但我们担心我们会破坏 Spark 的无私性,并可能在 Spark 之外使工作节点过载 API. SVD 的 Spark 2.1.1 Python API 是否有任何替代方案?任何建议或指示将不胜感激。谢谢!
另一个虽然我在最初的帖子中忘记了 - 有没有一种方法我们可以主要在 Python API 中编写我们的机器学习,但也许可以调用我们需要的 Scala 函数,return 结果并继续 Python?不知道是不是这样....
为了结束这个,我们最终根据以下示例编写了自己的 SVD 函数:
有一些小的调整,我会在完成后立即 post,但总的来说是一样的。这是针对 Spark 1.5 编写的 post,我们使用的是 Spark 2.1.1。然而,注意到 Spark 2.2 包含一个 computeSVD() 函数 - 不幸的是,在 posting 时,我们使用的 HDP 分布不支持 2.2。昨天 (11.1.2017),HDP 2.6.3 发布并支持 Spark 2.2。升级后,我们将转换代码以利用 Spark 2.2 提供的内置 computeSVD() 函数。感谢上面 link 的所有帮助和指点,他们帮助很大!