kettle spoon shell批处理脚本模板
经常使用kettle进行etl开发,总结dos命令脚本如下,执行时,仅需替换运行参数即可。
参数列表
| 参数 | 参数描述 | 示例 |
|---|---|---|
| path | kettle应用程序路径 | set path=%path%;d:\data-integration_4.1.0 |
| fileName | 脚本文件名称 | set fileName=脚本名称.ktr |
| param | 脚本参数 | set param="/param:参数名称=参数值" |
执行日志
脚本执行时,默认将日志输出到当前目录的logs目录下;
输出目录
脚本执行时,默认在当前目录生成output目录,用于规范输出结果目录;
脚本模版
- 1、执行Ktr脚本模版:
echo off
clsif "%cnt%"=="" set /a cnt=0
set /a cnt+=1set path=%path%;d:\data-integration_4.1.0
rem ------------------------------------------------------------------
set fileName=脚本名称.ktr
title %fileName% [%date% %time%][%cnt%]
rem ------------------------------------------------------------------if not exist logs md logs
if not exist output md outputset level="/level:Detailed"
set file="/file:%cd%\%fileName%"
set log="/logfile:%cd%\logs\%fileName%.%date:~0,4%%date:~5,2%%date:~8,2%.log"
set param="/param:参数名称=参数值"call pan.bat %level% %file% %log%pause
- 2、执行Ktr脚本模版-资源库
echo off
clsif "%cnt%"=="" set /a cnt=0
set /a cnt+=1set path=%path%;d:\data-integration_4.1.0
rem ------------------------------------------------------------------
set fileName=脚本名称
title %fileName% [%date% %time%][%cnt%]
rem ------------------------------------------------------------------if not exist logs md logs
if not exist output md outputset level="/level:Detailed"
set file="/trans:%fileName%" "/dir:目录"
set log="/logfile:%cd%\logs\%fileName%.%date:~0,4%%date:~5,2%%date:~8,2%.log"
set param="/param:参数名称=参数值"set r="/rep:etl_res" "/user:admin" "/pass:admin"call pan.bat %r% %level% %file% %log% pause
- 3、执行Job脚本模版
echo off
clsif "%cnt%"=="" set /a cnt=0
set /a cnt+=1set path=%path%;d:\data-integration_4.1.0
rem ------------------------------------------------------------------
set fileName=脚本名称.kjb
title %fileName% [%date% %time%][%cnt%]
rem ------------------------------------------------------------------if not exist logs md logs
if not exist output md outputset level="/level:Detailed"
set file="/file:%cd%\%fileName%"
set log="/logfile:%cd%\logs\%fileName%.%date:~0,4%%date:~5,2%%date:~8,2%.log"
set param="/param:参数名称=参数值"call Kitchen.bat %level% %file% %log% pause
- 4、执行Job脚本模版-资源库
@echo off
clsif "%cnt%"=="" set /a cnt=0
set /a cnt+=1set path=%path%;d:\data-integration_4.1.0
rem ------------------------------------------------------------------
set fileName=脚本名称
title %fileName% [%date% %time%][%cnt%]
rem ------------------------------------------------------------------if not exist logs md logs
if not exist output md outputset level="/level:Detailed"
set file="/job:%fileName%"
set log="/logfile:%cd%\logs\%fileName%.%date:~0,4%%date:~5,2%%date:~8,2%.log"
set param="/param:参数名称=参数值"set r="/rep:etl_res" "/user:admin" "/pass:admin"call Kitchen.bat %r% %level% %file% %log%pause
- 5、Linux脚本模版
#!/bin/bash
# PATH=/program/etl/data-integration:$PATH
# The logging level (Basic, Detailed, Debug, Rowlevel, Error, Nothing)file_name=etl_file_name.ktr
base_dir=/path_to_etl_folderfile_path=$base_dir/$file_name
log_path=$base_dir/logs/$file_name.`date +%Y%m%d`if [ ! -d "$base_dir/logs" ]; thenmkdir -p "$base_dir/logs"
fiif [ ! -d "$base_dir/output" ]; thenmkdir -p "$base_dir/output"
fipan.sh -level=Basic -file=$file_path -logfile=$log_path.1.log '-param:year=2021'
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
