Как изменить значение параметров с помощью компонента переформатирования в Clover ETL

Я пытаюсь найти метод, как изменить значение параметра, который я определил, а также как создать новый параметр динамически, используя компонент REFORMAT в Clover ETL.

Я написал небольшую логику в своем методе преобразования, который обеспечивает компонент переформатирования:

        function integer transform() {
            string myparam1 = getParamValue("MY_PARAM1");
            string changeParam = getParamValue("CHANGE_PARAM_VALUE");

            if(changeParam =="true"){
                myparam1 = myparam1 +"_changed";
            }
       // update the value of parameter MY_PARAM1     
       // updateParameter("MY_PARAM1", myparam1 );  

       // create a new parameter
       // createNewParameter("MY_NEW_PARAM", "some_sample_data"); 

            return OK;
        }

В конструкторе клевера я попытался проверить доступные методы, но я не нашел подходящего метода, который помог бы мне предоставить функцию, которую я ищу.

Я новичок в Clover ETL, поэтому столкнулся с трудностями в том, как это сделать, пожалуйста, помогите мне, если мы можем добиться этого с помощью компонента REFORMAT или нам нужно использовать другой компонент?


person Chaitanya    schedule 26.12.2013    source источник


Ответы (2)


Вы не можете изменить значение (простым способом, возможно, есть способ прямого доступа с помощью java и модели графика, но это, вероятно, не то, что вам нужно) параметров в CloveETL, поскольку они используются статически, все вхождения параметров разрешается при составлении графика и заменяется результирующими значениями.

Если вам нужны динамические переменные, посмотрите словари http://doc.cloveretl.com/documentation/UserGuide/topic/com.cloveretl.gui.docs/docs/using-dictionary.html?resultof=%22%64%69%63%74%69%6f%6e%61%72%79%22%20

Но вам нужно подумать, что словарь не является мертвой заменой параметров. Статическое использование параметров имеет некоторые точки, места использования, которые нельзя заменить словарем.

Кстати, почему вам нужно изменить значение параметра во время запуска графика? Пожалуйста, объясните вариант использования, и, возможно, я мог бы дать вам несколько советов...

person Dolfa    schedule 27.12.2013

Вы не можете изменить значение параметров графика, так как они задаются на этапе инициализации графика. Однако есть несколько способов добиться того, чего вы, вероятно, хотите:

  • Вариант 1. Запустите график по расписанию, а затем передайте значение параметра из планировщика.

  • Вариант 2: Каким бы компонентам ни требовалось измененное значение параметров, поместите их в подграф и создайте параметр подграфа с тем же именем и передайте измененное значение как часть вашего входного сопоставления из основного графика в подграф. график.

person Gaurav Lohiya    schedule 16.10.2019