Import and export PDI content
You can import and export PDI content from and to a repository by using PDI's built-in functions, explained in these subsections.
Among other purposes, these procedures are useful for backing up and restoring content in the solution repository. However, users, roles, permissions, and schedules are not included in import/export operations. If you want to back up these items, you should follow the procedure in Backup and restore Pentaho repositories instead.
Note: If you are on Pentaho version 8.0 or earlier, as a best practice to avoid errors when exporting and importing repository contents, select specific content and not the entire repository. For more information, see Importing and exporting PDI content with Pentaho 8.0 and earlier.
Import content into a repository
Follow the instructions below to import the repository. You must already be logged into the repository in the PDI client before you perform this task.
In the PDI client, go to Tools > Repository > Import Repository.
Locate the export (XML) file that contains the solution repository contents.
Click Open.
The Directory Selection dialog box appears.
Select the directory in which you want to import the repository.
Click OK.
Enter a comment, if applicable.
Wait for the import process to complete.
Click Close.
The full contents of the repository are now in the directory you specified.
Import content from the command line
The import script is a command-line utility that pulls content into an enterprise or database repository from an individual .kjb
or .ktr
file, or from complete repository export XML files.
You must also declare a rules file that defines certain parameters for the data integration content you are importing. We provide a sample file called import-rules.xml
, which is included with the standard Data Integration client tool distribution. It contains all the potential rules, along with comments that describe what each rule does. You can either modify the import-rules.xml
file or copy its contents to another file, and then declare the rules file as a command-line parameter.
The table below defines command-line options for the import script, which are declared using the syntax specific to the operating system type:
Linux
Options are declared using a dash (-) followed by the option name, then an equals sign (=) and the value, where applicable. For example:
-option=value
Windows
Options are declared using a forward slash (/) followed by the option name, then a colon (:) and the value, where applicable. For example:
/option:value
Note: For options requiring no value entry (replace, coe, and version), a dash or slash (depending on your OS) followed by the option is the equivalent of selecting ‘Yes’; otherwise, the option is ignored.
rep
The name of the enterprise or database repository to import into.
user
The repository username you will use for authentication.
pass
The password for the username you specified with user.
dir
The directory in the repository that you want to copy the content to.
limitdir
Optional. A list of comma-separated source directories to include (excluding those directories not explicitly declared).
file
The path to the repository export file that you will import from.
rules
The path to the rules file, as explained above.
comment
The comment that will be set for the new revisions of the imported transformations and jobs.
replace
Replace existing transformations and jobs in the repository. (The default is: No)
coe
Continue on error, ignoring all validation errors. (The default is: No)
version
Show the version, revision, and build date of the PDI instance that the import script interfaces with. (The default is: No)
Linux
Import.sh -rep= Archive71 -user=admin -pass=password -coe -replace -dir=/home/admin -file= /Downloads/imagitasDemoEnclosure.ktr -rules=/Downloads/import-rules.xml -comment="New version upload from UAT"
Windows
Import.bat /rep:Archive71 /user:admin /pass:password /coe /replace /dir:\home\admin /file:C:\Downloads\imagitasDemoEnclosure.ktr /rules:C:\Downloads\import-rules.xml /comment:"New version upload from UAT"
Export content from the repository
Follow the instructions below to export the repository. You must already be logged into the repository through the PDI client to complete this task.
In the PDI client, go to Tools > Repository > Export Repository.
In the Save As dialog box, browse to the location where you want to save the export file.
Type a name for your export file in the File Name text box.
Click Save.
The export file is created in the location you specified. This XML file is a concatenation of all of the data integration content you selected. It is possible to break it up into individual KTR and KJB files by hand or through a transformation.
Export content from the command line
To export repository objects into XML format, using command-line tools instead of exporting repository configurations from within Spoon, use named parameters and command-line options when calling Kitchen or Pan from a command-line prompt.
The following is an example command-line entry to execute an export job using Kitchen:
call kitchen.bat /file:C:\Pentaho_samples\repository\repository_export.kjb
"/param:rep_name=PDI2000" "/param:rep_user=admin" "/param:rep_password=password"
"/param:rep_folder=/public/dev"
"/param:target_filename=C:\Pentaho_samples\repository\export\dev.xml"
rep_folder
Repository Folder
rep_name
Repository Name
rep_password
Repository Password
rep_user
Repository Username
target_filename
Target Filename
It is also possible to use obfuscated passwords with Encr, the command line tool for encrypting strings for storage/use by PDI. The following is an example command-line entry to execute a complete command-line call for the export in addition to checking for errors:
@echo off
ECHO This an example of a batch file calling the repository_export.kjb
cd C:\Pentaho\pdi-ee-<filepath>--check--</filepath>10.2.0>\data-integration
call kitchen.bat /file:C:\Pentaho_samples\repository\repository_export.kjb "/param:rep_name=PDI2000"
"/param:rep_user=admin" "/param:rep_password=password" "/param:rep_folder=/public/dev"
"/param:target_filename=C:\Pentaho_samples\repository\export\dev.xml"
if errorlevel 1 goto error
echo Export finished successful.
goto finished
:error
echo ERROR: An error occurred during repository export.
:finished
REM Allow the user to read the message when testing, so having a pause
pause
Last updated
Was this helpful?