调用kettle转换脚本

文章讲述了如何通过bash脚本调用远程资源库进行数据集成,同时提供了不使用远程资源库时直接运行本地transformation的例子。
摘要由CSDN通过智能技术生成

调用远程资源库转换(ktr)脚本,存放位置/opt/kettle/script

[root@cm01 script]# vim startktr.sh

①调用转换脚本


#!/bin/bash

cmd="sh /opt/kettle/data-integration/pan.sh"
rep="-rep=kettlelib195"
user="-user=xxxx"
pass="-pass=xxxx"
dir="-dir=ktr"
trans="-trans=$1"  # 这里的 $1 表示第一个参数(即传入的 test 参数)
level="-level=Basic"
if [ -n "$2" ]; then
  dir="-dir=$2"
fi
command="$cmd $rep $user $pass $dir $trans $level"
eval $command

执行:

/opt/kettle/script/startktr.sh ods_pm_t100_pmdt_001 ktr/pm

不用远程资源库执行:

/opt/kettle/data-integration/pan.sh -file=/opt/kettle/transformation/test.ktr

②版本迭代,新增一个参数data,这个参数是日期字段,可灵活更新还是删除那个月/天数据

#!/bin/bash

cmd="sh /opt/kettle/data-integration/pan.sh"
rep="-rep=kettlelib195"
user="-user=kettleauto188"
pass="-pass=auto@188"
dir="-dir=ktr"
trans="-trans=$1"  # 这里的 $1 表示第一个参数(即传入的 test 参数)
level="-level=Basic"
today=$(date +"%Y-%m-%d")

# 检查是否有第三个参数(data值)  
if [ -n "$3" ]; then
  data_param="-param:data=$3"
else
  data_param="-param:data=$today"
fi

if [ -n "$2" ]; then
  dir="-dir=$2"
fi
command="$cmd $rep $user $pass $dir $trans $level $data_param"
eval $command

eg:

/opt/kettle/script/startktr_para.sh ads_sf_old_system_delivery_001_tmp2 ktr/back 2024-07-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值