2016-02-17 2 views
2

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

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

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

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

ответ

2

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

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

+0

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

+0

Свойства чайника кажутся ужасно глобальным способом обращения к одному файлу. Предположительно, вам может понадобиться обработать другие входные файлы в какое-то время? –