Интеграция данных Pentaho - убедитесь, что один шаг будет выполнен перед другим - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть преобразование в Pentaho Data Integration, которое хранит данные в нескольких таблицах из базы данных.

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

Иногда это работает, иногда нет, зависит от удачи параллелизма.

Итак, я должен убедиться, что Table Output 1 полностью запускается до запуска Table Output 2.

Как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 27 апреля 2020

Вы можете использовать шаг с именем «Заблокировать этот шаг до тех пор, пока шаги не будут завершены sh».

Вы помещаете это перед шагом, который должен ждать. А внутри блока вы определяете, какие шаги следует ожидать.


Ниже предположим, что Table Output 2 содержит внешний ключ для поля в таблице 1, но строки, на которые вы будете ссылаться в таблице 2, все еще не существуют в таблице 1. Это означает, что Table Output 2 нужно подождать, пока Table Output не закончится.

Поместите «блок», подключенный перед выходом таблицы 2:

Place the block

Затем введите свойства шага «блок». Внутри добавьте Table Output в список (и любые другие шаги, которые вы хотите ждать):

Tell it what to wait for

1 голос
/ 27 апреля 2020

Для этого вы можете использовать задание вместо преобразования. потому что при преобразовании все шаги выполняются параллельно . поэтому используйте задание, в котором добавьте первое преобразование, в котором таблица output1 будет выполнена первой, а во втором преобразовании table output2 будет выполнено

...