Запуск Pentaho DI джобов из командной строки (Launching Pentaho DI Jobs from the Command Line).
Трансформации тоже можно запускать из командной строки, но в данной заметке речь только о запуске джобов.
Для запуска в Windows используется Kitchen.bat, в Linux - Kitchen.sh. Оба файла находятся в домашней папке Pentaho. У меня на домашнем ноутбуке это c:\Progs\Pentaho CE
Для учебных целей создал элементарный джоб, который просто инсертит в специально созданную таблицу 2 значения, которые являются параметрами джоба.
Скрипт создания таблицы (PostgreSQL).
CREATE TABLE ods.table_2_test_rundeck ( num_field int4 NULL, txt_field text NULL, cr_date timestamp NULL DEFAULT CURRENT_TIMESTAMP ); COMMENT ON TABLE ods.table_2_test_rundeck IS 'таблица для тестирования запуска джоба пентахи из rundeck';
Проверяем, что джоб отработал и данные в табличку встали.
select * from ods.table_2_test_rundeck
--num_field txt_field cr_date --28 twenty eight 2022-11-29 01:59:45.491
Красота! С запуском джоба с передачей параметров в Linux примерно так же. На скрине пример вызова этого же джоба в Linux из Rundeck.
Из Rundeck можно передавать переменные, так что вместо того, чтобы менять каждый раз параметры джоба в строке команды при запуске, можно менять значения переменных. Например, вместо con_prop_path=/opt/pdi-data можно написать con_prop_path=${option.con_prop_path}
P.P.S. Это были примеры запуска джобов из командной строки, используя абсолютный путь к файлу джоба, который является точкой входа в etl-процесс.
В реальности проект Pentaho DI, скорее всего, находится в репозитории. Для этого случая нужны кое-какие дополнительные манипуляции, и сам вызов из командной строки немножко изменится.