When we prefer to design and execute our job/transformation arranged in regular .kjb & .ktr files instead of repository, we usually faced with a couple of problems :
And since Kettle use Apache VFSfor all its file system manipulation process, we can take advantage of its ability to access zip file - which is a very popular compression format in several operating system.
Attached is the sample zip file which contains 1 job and 2 transformation files with very basic operation steps (Generate Rows). The files are :
In which job_1.kjb call transformation_1.ktr and transformation_2.ktr respectively (Screenshot below).
Zip all the 3 files, named it job_package.zip and put it under C:\ETL_PRODUCTION directory.
Goto your Kettle installation directory (KETTLE_HOME). Then execute the job/transformation inside the zipped package with the following URI format :
zip://arch-file-uri [! absolute-path ] |
So, in our case if we want to execute transformation_1.ktr inside job_package.zip using Pan we do it with the following command :
pan /file:"zip://C:\ETL_PRODUCTION\job_package.zip!transformation_1.ktr" |
OR
pan -file="zip://C:\ETL_PRODUCTION\job_package.zip!transformation_1.ktr" |
And with the same manner in executing job job_1.kjb inside the package with the following command :
kitchen /file:"zip://C:\ETL_PRODUCTION\job_package.zip!job_1.kjb" |
OR
kitchen -file="zip://C:\ETL_PRODUCTION\job_package.zip!job_1.kjb" |
This article is a complement to PDI Advanced FAQ on VFS usage