hadoop - 自动化 H2O 流量 : run flow from CLI

标签 hadoop h2o

我成为 h2o 用户已经一年半多了,但我的工作仅限于 R api; h2o flow对我来说比较新。如果它对您来说也是新的,它基本上是 0xdata 的 iPython 版本,但是 iPython 让您可以将笔记本导出到脚本。我在流程中找不到类似的选项...

我正要将模型(内置流程)转移到生产中,我想知道如何使其自动化。使用 R api,在构建并保存模型后,我可以轻松地将其加载到 R 中,只需运行 nohup Rscript <the_file> & 即可对新数据进行预测。来自 CLI,但我不确定如何使用 Flow 做类似的事情,特别是因为它在 Hadoop 上运行。

就目前而言,每次运行都分为三部分,流程在中间创建了一个相对笨拙的过程:

  • 预处理数据,将其移动到 hdfs
  • 在 hadoop 上启动 h2o,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/

相关文章:

python - 如何解释 h2o 决策树?

r - 保存使用 h2o 构建的深度学习模型

python - pyspark 试图检索具有相同 id 的行

java - org.apache.hadoop.hbase.MasterNotRunningException

hadoop - Hbase 问题 |反序列化 SCAN 字符串时出现谷歌 protobuf 标签不匹配错误

java - 直接从 Java 保存 H2O 模型

join - Hive 中排序合并桶映射连接的输入

java - 运行Hive查询时权限被拒绝

r - 从机器学习算法的角度看 h2o.ai 和 SparkMLlib 的区别

hadoop - H2o 不工作的执行者数量