Столкнулся с таким багом (или фичей) Pentaho DI. В степе Table input селект из IBM DB2 возвращает все строки, не смотря на использование этой кляузы. Гугол на раз не помог - не знал, что гуглить, - нашёл возможное объяснение проблемы в книжке Essential Pentaho ETL A self-study reference and practice book for ETL beginners (Gowda, Aryan Kavan). Есть проверенные (certified) источники, есть - непроверенные.
Это может понадобиться при выполнении запроса к Rest API. Например, какой-то из параметров запроса может быть на кириллице. Строка "Это тестовая строка" должна быть преобразована к "%D0%AD%D1%82%D0%BE+%D1%82%D0%B5%D1%81%D1%82%D0%BE%D0%B2%D0%B0%D1%8F+%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B0"
Не получается у меня никак использовать этот степ для вызова хранимой процедуры PostgreSQL. Для вызова пользовательской функции с аналогичным функционалом - получается. Продемонстрирую пошагово.
Пользуюсь я этим редко и поэтому периодически приходится гуглить одно и то же.
В предыдущей заметке https://teletype.in/@velipre_xella/Z1fFV2m6ctv на это тему шла речь о запуске джобов по абсолютному пути к файлу. Не всегда такое возможно.
Трансформации тоже можно запускать из командной строки, но в данной заметке речь только о запуске джобов.
Для отправки e-mail из Pentaho DI можно использовать степ Mail, который запускается в трансформации, и job entrie - с таким же названием и, видимо, с таким же функционалом.
Это примерный пересказ из главы 8 Executing part of a job once for every row in a dataset книжки A. Meadows, A. S. Pulvirenti, M. C. Roldan - Pentaho Data Integration Cookbook - 2nd Edition (2013). Пример немножко подпилил под свои нужды, плюс, описал базовую трансформацию, которая, собственно, в цикле и вызывается.
Задача из реальной жизни: есть многострочный селект, вертающий список таблиц из БД согласно каким-то правилам. И их нужно, допустим, удалить.
Допустим, нужно запустить в джобе Pentaho DI хранимую процедуру pl/pgsql со следующей сигнатурой: