我开发了一个Java应用程序并将其部署到BigInsights。但我不得不在代码中给出一些参数。如何从BigInsights应用程序页面获取它们?我在参数选项卡中发布BigInsights项目时添加输入字段但是如何将它们与应用程序绑定?我找不到任何关于此的文件。
答案 0 :(得分:1)
我知道这是一个老问题,但我刚刚在BigInsights上尝试过这种事情,所以这就是我迄今为止所发现的。
我创建了一个非常基本的主要方法,只记录参数。要配置BigInsights应用程序以通过参数,我执行了以下操作。
在BIApp / workflow / workflow.xml中为我的Java操作添加$ {exampleParameter} arg
在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 Application Publish向导将其作为参数拾取,然后您可以根据需要进行编辑。
这里结果是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方法!
将这两个位放在一起似乎很有用:
答案 1 :(得分:0)
我到目前为止唯一注意到的选项是,在部署应用程序后,您可以选择指定&#34;参数区域&#34;的输入路径。在biginsights Web控制台中。
答案 2 :(得分:0)
您是否从主要方法检查了args?也许你在那里找到配置的参数?