我开发了一个 Java 应用程序并将其部署到 BigInsights。但我不得不在代码中给出一些参数。如何从 BigInsights 应用程序页面获取它们?我在参数选项卡中发布 BigInsights 项目时添加了输入字段,但是如何将它们与应用程序绑定?我找不到任何关于此的文件。
问问题
264 次
3 回答
1
我知道这是一个老问题,但我刚刚在 BigInsights 上尝试过这种事情,所以这就是我迄今为止发现的。
我创建了一个非常基本的主要方法,它只记录参数。为了配置 BigInsights 应用程序以传递参数,我执行了以下操作。
在 BIApp/workflow/workflow.xml 中将 ${exampleParameter} 参数添加到我的 Java 操作
在 XML 中看起来像这样。
<workflow-app name="wfapp" xmlns="uri:oozie:workflow:0.2">
<start to="java-action"/>
<action name="java-action">
<java>
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<main-class>com.ibm.uk.jamest.JavaAction</main-class>
<arg>${exampleParameter}</arg>
</java>
<ok to="end" />
<error to="kill" />
</action>
<!-- add actions here -->
<kill name="kill">
<message>error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name="end"/>
</workflow-app>
BigInsights 应用程序发布向导会将其作为参数拾取,然后您可以根据需要对其进行编辑。
结果在 BIApp/application/application.xml 中结束。(听起来这就是你所做的。)
<application-template xmlns="http://biginsights.ibm.com/application" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<name>BIProject</name>
<properties>
<property isInputPath="false" isOutputPath="false" isRequired="true" label="Example parameter" name="exampleParameter" paramtype="TEXTAREA" uitype="textfield"/>
</properties>
<assets>
<asset id="BIProject" type="WORKFLOW"/>
</assets>
<imagePath>defaultApp_L.png</imagePath>
<categories>Sandbox</categories>
</application-template>
一旦应用程序发布,我可以在运行它时为示例参数提供一个值......它按预期传递给 main 方法!
这些链接对于将这两个部分放在一起似乎很有用:
于 2014-11-06T14:50:45.227 回答
0
到目前为止,我注意到的唯一选项是,在部署应用程序后,您可以选择从 biginsights Web 控制台的“参数区域”中指定输入路径。
于 2014-03-11T19:40:10.613 回答
0
您是否从主要方法中检查了参数?也许你在那里找到配置的参数?
于 2014-09-10T14:55:16.967 回答