Quantcast
Channel: Pentaho Community Forums
Viewing all articles
Browse latest Browse all 16689

KettleComponent using files based repository

$
0
0
Hi -

This is more of a note than a question as it took me an age to figure this out.

I wanted to switch from using an RDBMS based repository to using a files based one (managed through git), and was struggling to work out how to get my KettleComponent XAction steps to still work.

I found that the trick was to edit the pentaho-solutions/system/kettle/settings.xml and change the repository.name only eg:
<kettle-repository>
<repositories.xml.file></repositories.xml.file>
<repository.type>rdbms</repository.type>
<repository.name>MY_FILES</repository.name>
<repository.userid>admin</repository.userid>
<repository.password>admin</repository.password>
</kettle-repository>

This left Pentaho still thinking that the repository is an RDBMS one, but in the /home/<user>/.kettle/repositories.xml file MY_FILES looks like:
<repository> <id>KettleFileRepository</id>
<name>MY_FILES</name>
<description>My Files Based</description>
<base_directory>/path/to/kettle</base_directory>
<read_only>N</read_only>
<hides_hidden_files>N</hides_hidden_files>
</repository>

This appears to have tricked KettleComponent into treating the repository like and RDBMS based one but the real source is files based.
The XAction did not need changing at all:

<action-definition>
<component-name>KettleComponent</component-name>
<action-type>Pentaho Data Integration Job</action-type>
<action-inputs>
<inputFILES_DIR type="string"/>
</action-inputs>
<action-resources/>
<action-outputs>
<transformation-output type="result-set" mapping="rule-result"/>
<kettle-execution-log type="string" mapping="execLog"/>
<kettle-execution-status type="string" mapping="execStatus"/>
<transformation-output-rows type="result-set" mapping="outRows"/>
<transformation-output-rows-count type="integer" mapping="outRowsCount"/>
</action-outputs>
<component-definition>
<directory><![CDATA[/]]></directory>
<job><![CDATA[C-MasterJob]]></job>
<kettle-logging-level><![CDATA[basic]]></kettle-logging-level>
<set-parameter>
<name>FILES_DIR</name>
<mapping>inputFILES_DIR</mapping>
</set-parameter>
</component-definition>
</action-definition>

Hopefully this will save others some pain, and remind me.

Using PDI 4.4.0 Bi Server 4.8

Viewing all articles
Browse latest Browse all 16689

Trending Articles