Spark与H2O以及Sparkling Water之间的区别

8
我有几个问题或疑惑关于气泡水及其需要性。
假设我已经生成了一个具有二进制和pojo的H2O模型。
现在,我想将该模型部署到生产环境,并提供同时使用pojo和二进制(气泡水)的选项。
1. 我应该使用哪一个?直接使用带有pojo的Spark还是使用二进制的气泡水? 2. 当我们可以轻松地使用pojo和Spark本身部署模型时,气泡水的确切用途是什么? 3. 仅当您需要对大量数据进行训练时才需要气泡水吗?还是它也可以用于模型的生产部署?
示例:https://github.com/h2oai/h2o-droplets/blob/master/h2o-pojo-on-spark-droplet/src/main/scala/examples/PojoExample.scala 使用Spark运行pojo模型。
示例:https://github.com/h2oai/h2o-droplets/blob/master/sparkling-water-droplet/src/main/scala/water/droplets/SparklingWaterDroplet.scala 在气泡水中训练/运行模型。
气泡水H2O相比于普通的Spark提供了哪些优势?
1个回答

7
  1. 我应该使用哪个?直接使用pojo的spark还是使用二进制的Sparkling Water。

    • 没有'正确'的答案,这取决于您的用例。听起来您想要的是Spark中的POJO/MOJO,这样您可以进行评分而不需要添加一个H2O集群。
  2. 当我们可以使用pojo和Spark自身轻松部署模型时,Sparkling Water的确切用途是什么?

    • Sparkling Water的确切用途是在Spark上下文中拥有H2O。这对于训练非常有用:您可以利用Spark的许多数据连接器、搅拌能力等。POJO/MOJO + Spark足以进行评分
  3. 只有在必须处理大量数据的情况下才需要使用Sparkling Water吗?或者它也可以用于模型的生产部署。

    • 当您希望在与Spark生态系统相容的环境中利用H2O算法时,就需要使用Sparkling Water。

如果将模型投入"生产"意味着将"始终开启"评分公开成为REST端点或类似功能:POJO/MOJO是您希望使用的方式(H2O集群不高可用)。但是您需要确保自己正确处理传入的数据。

如果您正在进行批量评分、每晚或其他评分,则使用具有Sparkling Water的二进制模型可能很有意义,因为解析传入数据变得非常简单(asH2OFrame(..))且评分易于预测()。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接