Получение параметров из BigInsights

Я разработал приложение Java и развернул его в BigInsights. Но мне пришлось дать некоторые параметры в коде. Как я могу получить их со страницы приложения BigInsights? Я добавляю поля ввода при публикации проекта BigInsights на вкладке параметров, но как я могу связать их с приложением? Я не смог найти никаких документов по этому поводу.

3 ответа

Я знаю, что это старый вопрос, но я только что экспериментировал с такими вещами на BigInsights, так что вот что я обнаружил до сих пор.

Я создал очень простой метод main, который просто регистрирует аргументы. Чтобы настроить приложение BigInsights для передачи параметра, я сделал следующее.

Добавьте аргумент ${exampleParameter} к моему действию Java в BIApp/workflow/workflow.xml

Редактор workflow.xml, показывающий пример параметра в качестве значения аргумента Java Action

Который выглядит так в 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 в качестве параметра, который затем можно отредактировать по мере необходимости.

Мастер публикации приложений 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>

После того, как приложение было опубликовано, я мог указать значение параметра example при его запуске... которое, как и ожидалось, было передано методу main!

Консоль BigInsights, показывающая, как выглядит пример параметра при запуске приложения

Эти ссылки казались полезными для соединения двух битов:

Вы проверяли аргументы основного метода? Может быть, вы найдете там настроенные параметры?

Единственный вариант, который я заметил до сих пор, это то, что после развертывания приложения вы можете указать путь ввода из "области параметров" в веб-консоли biginsights.

Другие вопросы по тегам