05-PDI(Kettle)脚本执行

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 文章目录05-PDI(Kettle)脚本执行pan和kitchen实验背景pan命令演示

05-PDI(Kettle)脚本执行

pan和kitchen实验背景

作业和转换可以在图形化界面里执行,但这只是在开发、测试和调试阶段。在开发完成后,需要部署到实际运行环境,在部署阶段,Spoon就很少用到了。

在部署阶段,一般需要通过命令行执行。需要将命令行输入到执行脚本中,并定时调度这个脚本。Kitchen和Pan 在概念和用法上都非常接近,这两个命令的参数也基本一样。唯一不同的是Kitchen用于执行作业,而Pan用于执行转换。

pan命令演示

pan用于在终端执行转换,可以通过定时调度任务调度,一般可通过spoon开发完ETL过程,然后通过工作流调度pan实现定时执行。

切换到pdi的安装目录:

C:\WINDOWS\system32>cd /d E:\pdi-ce-8.2.0.0-342\data-integration

执行Pan.bat命令,会提示支持的相关参数:

E:\pdi-ce-8.2.0.0-342\data-integration>Pan.bat


返回参数如下。


  1. -version 显示版本信息
  2. -file=filename 运行的文件
  3. -param:key=value 指定命名参数
  4. -log=logging filename 设置日志文件
  5. -level=logging level 设置日志级别

创建脚本文件:transschdule.bat

cd /d E:\pdi-ce-8.2.0.0-342\data-integration
call pan /file="C:\Users\DELL\Desktop\kettle\Transformation 1param.ktr" /level=Detailed /log=D:\1.log0
pause

需要注意,如果路径含有空格,要用双引号引起来

在bat文件中,建议使用 call调用命令,然后添加pause暂停终端关闭

双击ransschdule.bat即可执行。

kitchen命令演示

实验原理

kitchen是一个作业执行引擎,用来执行作业。这是一个命令行执行工具

在Windows系统下,Kitchen通过执行kitchen.bat来执行,Pan通过pan.bat来执行;在类UNIX系统下,Kitchen通过执行kitchen.sh来执行,Pan通过pan.sh来执行。相关详细参数

参数名 参数值 作用
rep 资源库名称 要连接的资源库的名称
user 资源库用户名 要连接的资源库的用户名
pass 资源库用户密码 要连接的资源库的用户密码
listrep 显示所有的可用资源库
dir 资源库里的路径 指定资源库路径
listdir 列出资源库的所有路径
file 文件名 指定作业或转换所在的文件名
level Error|Nothing| Basic|Detailed| Debug|Rowlevel| 指定日志级别
logfile 日志文件名 指定要写入的日志文件名
version 显示Kettle的版本号、build日期


实验步骤

1、切换到kettle文件所在目录

右键点击桌面的spoon图标,打开PDI的安装位置,打开安装目录

E:\pdi-ce-8.2.0.0-342\data-integration

2、运行Kitchen.sh文件

kitchen.bat

可以查看到命令运行结果,并且可以看到相关的命令行提示信息

相关参数设置及运行作业

运行之前的作业,查看运行结果


  • job文件位于本地文件系统中:
kitchen.bat -file=D:\kettle-repository-file/chapter05-1-03作业监控.kjb >> D:\kettle-repository-file\log.t
  • job文件位于资源库中
kitchen.bat -rep=kettle_desk -user=admin -pass=admin -job=chapter05-1-03作业监控 -dir=/ -logfile=D:\kett

定时任务中

将Pan和Kitchen命令写到批处理文件或脚本中后,可以通过定时任务完成脚本的定时调度。在Window中的过程大致为:控制面板–管理工具–任务计划程序–创建基本任务。

在Ubuntu中的过程为通过crontab命令完成调度。可参考https://www.cnblogs.com/yezigege/p/13503795.html

也可通过专用的资源调度器完成脚本的调度任务。


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
8月前
|
关系型数据库 MySQL Shell
shell学习(十七) 【mysql脚本备份】
shell学习(十七) 【mysql脚本备份】
58 0
|
JSON Java Linux
07-PDI(Kettle)源码编译8.2.0.0.R版本
文章目录 07-PDI(Kettle)源码编译8.2.0.0.R版本 1.安装PDI8.2.0.0.R的parent工程到本地 1.1配置Maven的settings.xml文件 1.2安装PDI源码依赖的parent工程到本地仓库
07-PDI(Kettle)源码编译8.2.0.0.R版本
|
JavaScript 前端开发 数据库
Kettle使用脚本实现循环(十)
Kettle使用脚本实现循环(十)
1597 0
Kettle使用脚本实现循环(十)
|
Shell 5G
Shell脚本创建指定大小文件的测试数据
Shell脚本创建指定大小文件的测试数据
89 0
|
存储 Linux 数据库
kettle常用指令
kettle常用指令
212 0
|
安全 Unix Shell
掌握sh文件和shell脚本:如何在串行和并行模式下运行Python脚本
掌握sh文件和shell脚本:如何在串行和并行模式下运行Python脚本
|
关系型数据库 MySQL Shell
开源一个mysql备份的shell脚本
开源一个mysql备份的shell脚本
|
监控 调度 数据安全/隐私保护
04-PDI(Kettle)job案例
文章目录 04-PDI(Kettle)job案例 job简介 job创建案例 1.创建空作业
04-PDI(Kettle)job案例
|
SQL 存储 安全
03-PDI(Kettle)导入与导出CDC(上)
文章目录 03-PDI(Kettle)导入与导出CDC 数据的全量、增量、差异备份 基于时间戳的源数据CDC 实验原理 实验步骤 基于触发器的CDC 实验原理
03-PDI(Kettle)导入与导出CDC(上)
|
SQL 数据库
03-PDI(Kettle)导入与导出CDC(下)
文章目录 03-PDI(Kettle)导入与导出CDC 数据的全量、增量、差异备份 基于时间戳的源数据CDC 实验原理 实验步骤 基于触发器的CDC 实验原理
03-PDI(Kettle)导入与导出CDC(下)