1. Pan 

transformation (.ktr)을 terminal에서 수행시 사용

windows linux
pat.bat  /file:<ktr file> pan.sh /file:<ktr file>

 

2. Kitchen

Job (.kjb)을 terminal에서 수행시 사용

windows linux
kitchen.bat  /file:<kjb file> kitchen.sh /file:<kjb file>

 

3. Exit code

Pan 또는 Kitchen 수행후 수행결과(exit) 코드 체크

 

echo %ERRORLEVEL%  (window)

echo $?                    (linux)

Exit 코드 내용
0 성공
1 Errors occurred during processing
2 An unexpected error occurred during loading/running of the Transformation/Job
3 Unable to prepare and initialize the Transformation (only in Pan)
7 The Transformation/Job couldn't be loaded from XML or the repository
8 Error loading steps or plugins (error in loading one of the plugins mostly)
9 Command line usage printing

 

4. 변수 지정

 

1) spoon에서 변수 지정

2) Pan / Kitchen에서 변수 지정

 

Pan.bat  /param:"FILENAME=test"  /file:c:\pdi\work\test.ktr   (window)

 

5. Arguments 사용

1) spoon 

Job 또는 transformation 수행시  Run Options 창이 뜰때 Argument(인자) 버튼을 클릭하여 argument 지정

 

2) pan or kitchen

 

Pan.bat /file:c:\pdi\work\test.ktr  test1

 

6. loglevel과 logging 

아래와 같은 형식으로 pan, kitchen에서 loglevel과 log 파일을 지정해서 수행

pan.bat /file:"c:\pdi\work\test.ktr" /level:Detailed > c:\pdi\work\log\test.log (-file="test.ktr" 가능)

 

7. 자동화 스크립트 생성

1) windows

 

아래 내용을 .bat으로 만들어 scheduler에 등록

============================================================

for /f "tokens=1-3 delims=/- " %%a in ('date /t') do set    XDate=%%c%%b%%a 
for /f "tokens=1-3 delims=: " %%a in ('time /t') do set    XTime=%%b:%%c 

 

set home=C:\pdi\work

 

kitchen.bat /file:%home%\test.kjb /level:Detailed >> %home%\logs\test_"%Xdate%-%XTime%".log

 

 

2) linux

아래 내용을 .sh로 만들어 cron에 등록

=============================================================

home=/home/pdi/work

pan_cmd=/data/pdi/pan.sh

kit_cmd=/data/pdi/kitchen.sh

java=/app/jdk1.8

 

export KETTLE_HOME=$home

export LANG=C

export PATH=$PATH:$java/bin

 

$kit_cmd -param:"name=test1" -file:${home}/test.kjb -level:Detailed >> ${home}/test_`date +%y%m%d-%H%M`.log

$pan_cmd -param:"name=test1" -file:${home}/test.ktr -level:Detailed >> ${home}/test_`date +%y%m%d-%H%M`.log

 

 

'RDB > ETL' 카테고리의 다른 글

PDI Home 디렉토리 변경  (0) 2020.09.10
PDI 프로젝트 디렉토리 지정  (0) 2020.09.10
PDL transformation 반복 사용  (0) 2020.09.08
PDI db 데이터 처리 로직  (0) 2020.09.02
PDI query 변수 처리  (0) 2020.09.02

+ Recent posts