2017-04-05 205 views
5

我对波光粼粼的水有几个疑问或疑问,为什么它需要。H20与火花水的火花差异

让我们假设我有一个生成的二进制和pojo的h2o模型。

现在我想将模型部署到生产环境中,并且可以选择使用pojo和二进制(波光粼粼的水)。

  1. 我应该使用哪一个?与二进制直接点燃Pojo或苏打水。
  2. 当我们可以使用pojo和spark自己轻松部署模型时,波光粼粼的水的确切用途是什么?
  3. 仅当您需要训练大量数据的模型时才需要波光粼粼的水?或者它也可以用于模型的PROD部署。

实施例:https://github.com/h2oai/h2o-droplets/blob/master/h2o-pojo-on-spark-droplet/src/main/scala/examples/PojoExample.scala

用途火花运行POJO模型。

实施例:https://github.com/h2oai/h2o-droplets/blob/master/sparkling-water-droplet/src/main/scala/water/droplets/SparklingWaterDroplet.scala

火车/运行在苏打水的模型。

波光粼粼的水H2O提供超过正常火花的优点是什么?

回答

4
  1. 我应该使用哪一个?与二进制直接点燃Pojo或苏打水。

    • 没有“正确的”答案,这取决于你的用例。这听起来像你想要的是Spark中的POJO/MOJO,所以你可以在没有增加H2O集群的依赖的情况下进行评分。
  2. 什么是波光粼粼的水的确切用途,当我们可以使用pojo和spark自己轻松部署模型?

    • Sparkling Water的确切用途是在Spark上下文中提供一个H2O。这是培训尤其有用:您可以利用星火的许多数据连接器,改写(munging)功能等POJO/MOJO + Spark是足以得分
  3. 是当你要训练模型只需要苏打水大量的数据?或者它也可以用于模型的PROD部署。

    • 当您想要在充分发挥Spark生态系统的环境中利用H2O算法时,需要Sparkling Water。

如果把一个模型中的“生产”是指具有“永远在线”的得分暴露为REST端点或相似:POJO/MOJO是你想要去的方式(H2O集群不具备高可用性)。不过,您需要确保自己正确处理传入的数据。

如果您正在进行批处理评分,每晚或以其他方式进行,那么使用Sparkling Water的二进制模型可能会有意义,因为解析传入数据变得微不足道(asH2OFrame(..)),并且评分很容易,因为predict()