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

1 ответ

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

Если вам нужны динамические переменные, взгляните на словари http://doc.cloveretl.com/documentation/UserGuide/topic/com.cloveretl.gui.docs/docs/using-dictionary.html?resultof=%22dictionary%22%20

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

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

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

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

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

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