Синхронизированное общее определение в Pentaho

Есть ли способ в Pentaho создать синхронизированное общее определение?

Допустим, у нас есть исходный файл s1, который используется в двух преобразованиях t1, t2. Теперь предположим, что если я внесу изменения в t1 и добавлю туда еще один столбец в s1, я хочу, чтобы это отразилось и в t2. Есть ли способ в Pentaho добиться этого?

Когда мы делимся подключением к базе данных в Pentaho, все изменения отражаются везде, где мы его используем. Можем ли мы сделать то же самое и с файлами (если я создаю общее определение файла и сохраняю его в репозитории, а затем использую его в других преобразованиях)?

Спасибо за ваше время.


person Explorer    schedule 17.02.2016    source источник


Ответы (1)


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

Другой подход заключается в использовании шага «Внедрение метаданных», чтобы вы могли иметь динамические структуры потоков. Это, вероятно, излишне, если у вас есть только один исходный файл, используемый в двух преобразованиях, но если у вас много исходных файлов, совместно используемых многими преобразованиями, это хороший подход. В Интернете есть несколько источников о том, как использовать этот шаг; один такой можно найти здесь .

person Ken Clubok    schedule 23.02.2016
comment
Спасибо @Ken за ответ. Я нашел способ добиться этого: допустим, у меня есть исходный файл File.xlsx в C:\Users\Desktop. Теперь я могу создать переменную в свойствах чайника с именем INPUT_FILE. Значение этой переменной будет C:\Users\Desktop\File.xlsx, то есть расположение файла. Теперь, находясь в T1, для определения местоположения файла я бы просто назвал ${INPUT_FILE}. То же самое и с Т2. Если местоположение этого файла изменится, я просто отредактирую INPUT_FILE и изменю местоположение, и если мне нужно что-то изменить в файле, это изменение отразится на всех преобразованиях, поскольку они относятся к общему файлу. - person Explorer; 23.02.2016
comment
Свойства чайника кажутся ужасно глобальным способом обращения к одному файлу. Возможно, вам когда-нибудь понадобится обработать другие входные файлы? - person Ken Clubok; 23.02.2016