我成为 h2o 用户已经一年半多了,但我的工作仅限于 R api; h2o flow 对我来说相对较新。如果它对您来说也是新的,那么它基本上是 0xdata 的 iPython 版本,但是 iPython 可以让您将笔记本导出为脚本。我在流程中找不到类似的选项...
我正在将模型(内置流程)转移到生产中,我想知道如何使其自动化。使用 R api,在构建并保存模型后,我可以轻松地将它加载到 R 中,只需通过从 CLI 运行 nohup Rscript <the_file> &
就可以对新数据进行预测,但我不确定如何使用 flow 做类似的事情,特别是因为它在 Hadoop 上运行。
按照目前的情况,每次运行都被分成三个部分,其中的流程在中间创建了一个相对笨拙的过程:
nslookup
运行 h2o 的 IP 地址,手动逐个单元运行流动 这是一个非常具有侵入性的制作过程,我想把所有的结果都绑起来,但是流程让它变得相当困难。提炼问题:有没有办法将流压缩到一个 hadoop jar 中,然后像
hadoop jar <my_flow_jar.jar> ...
一样运行 jar ?编辑:
这是 h2o R 包 documentation 。 R API 允许您加载 H2O 模型,因此我尝试加载流(就像它是一个 H2O 模型),不出所料,它不起作用(因
water.api.FSIOException
失败),因为它在技术上不是一个 h2o 模型。 最佳答案
这真的很晚了,但是(现在)h2o 流模型具有自动生成的 Java 代码,该代码表示可以剪切和粘贴的训练模型(称为 POJO)(例如从远程 hadoop session 到本地 java 文件)。有关如何使用 java 对象 ( https://h2o-release.s3.amazonaws.com/h2o/rel-turing/1/docs-website/h2o-docs/pojo-quick-start.html ) 的快速入门教程,请参见此处。您必须引用 h2o java api ( https://h2o-release.s3.amazonaws.com/h2o/rel-turing/8/docs-website/h2o-genmodel/javadoc/hex/genmodel/easy/EasyPredictModelWrapper.html ) 来开始自定义您希望如何使用 POJO,但您本质上将其用作黑盒,对正确格式化的输入进行预测。
假设您的 hadoop session 是远程的,请将示例中的“localhost”替换为您的(远程)流 session 的 IP 地址。
关于hadoop - 自动化 H2O 流 : run flow from CLI,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34340698/