一百六十四、Kettle——Linux上脚本运行kettle的转换任务(Linux本地、Linux资源库)

news2024/12/22 19:41:34

一、目的

在kettle的转换任务以及共享资源库、Carte服务创建好后,需要对kettle的转换任务用海豚调度器进行调度,调度的前提的写好脚本。所以,这篇博客首先介绍在Linux上脚本运行kettle的转换任务

二、前提准备

(一)我的kettle任务为转换任务ktr,不是作业任务kjb

(二)ktr任务使用pan文件,kjb任务使用的是kitchen文件

注意:两种任务使用两种文件,它们使用是不同的文件

(三)这篇博客是在Linux上脚本运行kettle转换任务,不是在Windows本地脚本运行kettle转换任务

(四)下方这篇博客详细的介绍了转换执行器pan和作业执行器Kitchen的使用方法,所以我这边只展示转换执行器pan的使用方法,如果需要查看作业执行器Kitchen的使用方法,请自行查看下方的博客链接

http://t.csdn.cn/hc6SIhttp://t.csdn.cn/hc6SI

(五)kettle任务已保存到kettle共享资源库的目录文件里

1、在资源库根目录右键——创建新目录,输入目录名,点击🆗

 2、在保存kettle任务时,点击要保存到资源库的文件夹下

3、打开资源库的对应文件夹下查看转换1任务是否保存 

如图所示,kettle任务样例转换1在资源库的mysql_to_hdfs文件夹下保存成功!

三、转换执行器pan介绍

(一)pan简介

pan是一个转换执行器,专门用来执行kettle的转换任务

(二)pan工具的官网文档

Use Command Line Tools to Run Transformations and Jobs - Hitachi Vantara Lumada and Pentaho Documentation

(三)pan在Linux上执行kettle转换任务命令语句(官网案例

sh pan.sh -rep=initech_pdi_repo -user=pgibbons -pass=lumburghsux -trans=TPS_reports_2011

 (四)pan在Windows本地执行kettle转换任务命令语句(官网案例

pan.bat /rep:initech_pdi_repo /user:pgibbons /pass:lumburghsux /trans:TPS_reports_2011

(五)pan参数含义(非常重要!非常重要!非常重要!

序号参数名参数含义
1rep资源库名称
2user用户名
3pass密码
4trans要启动的转换任务的名称
5dir资源库目录
6file如果调用的是本地ktr文件,则为文件名;如果不在本地目录中,则包括路径
7level日志级别(基本、详细、调试、行级别、错误、无)(Basic, Detailed, Debug, Rowlevel, Error, Nothing)
8logfile将日志输出写入的本地文件名
9listdir列出指定资源库中的文件目录
10listtrans列出指定文件目录里的转换任务
11listrep列出可用的资源库
12exprep将所有存储库对象导出到一个 XML 文件
13norep防止 Pan(Kitchen)登录到存储库。如果您已经设置了 KETTLE_REPOSITORY、KETTLE_USER 和 KETTLE_PASSWORD 环境变量,那么这个选项将使您能够阻止 Pan( Kitchen)登录到指定的存储库,假设您要执行本地 KTR 文件
14safemode在安全模式下运行,可以进行额外检查
15version显示版本、修订和构建日期
16param以name=value 格式设置命名参数 。例如: -param:FOO=bar
17listparam列出有关指定转换中定义的命名参数的信息
18maxloglinesPDI 内部保留的最大日志行数。设置为 0 以保留所有行(默认)
19maxlogtimeout由 PDI 内部保留的日志行的最长期限(以分钟为单位)。设置为 0 以无限期地保留所有行(默认)

注释:这19个pan的参数,除了红色标记的3个参数外,其余16个都是pan和kitchen的通用参数

另附kitchen的特有参数

序号参数名参数含义
1job要启动的作业任务的名称
2listjob列出指定资源库文件夹里的作业任务

(六)pan参数的语句案例

1、listrep(列出可用的资源库)

 sh  /opt/install/kettle9.2/data-integration/pan.sh -listrep

找到资源库:hurys_linux_kettle_repository

 2、listdir(列出指定资源库中的文件目录)

sh  /opt/install/kettle9.2/data-integration/pan.sh -rep=hurys_linux_kettle_repository -user=admin -pass=admin -listdir

找到资源库的文件目录hive_to_clickhouse、mysql_to_hdfs

 3、listtrans(列出指定文件目录里的转换任务)

sh  /opt/install/kettle9.2/data-integration/pan.sh -rep=hurys_linux_kettle_repository -user=admin -pass=admin -dir=/mysql_to_hdfs/ -listtrans

找到文件夹mysql_to_hdfs的转换任务01_MySQL_to_HDFS_t_event_dispose 

(七)pan的运行状态码

1、官网文档截图

 2、运行状态码及其含义

运行状态码状态码含义
0转换运行没有问题
1处理过程中发生错误
2加载/运行转换期间发生意外错误
3无法准备和初始化此转换
7无法从 XML 或存储库加载转换
8加载步骤或插件时出错(主要是加载插件之一时出错)
9命令行使用打印

 四、pan命令语句执行kettle转换任务

(一)在Linux中执行pan命令语句,运行转换任务,没有日志文件

1、在Linux中执行pan命令语句

sh  /opt/install/kettle9.2/data-integration/pan.sh -rep=hurys_linux_kettle_repository -user=admin -pass=admin -dir=/mysql_to_hdfs/ -trans=01_MySQL_to_HDFS_t_event_dispose

2、pan命令语句执行结果:转换成功

 3、由于kettle任务是从MySQL到HDFS,所以还可以到Hadoop中验证一下文件

(二)在Linux中执行pan命令语句,运行转换任务,导出日志到文件

1、在Linux中执行pan命令语句

sh  /opt/install/kettle9.2/data-integration/pan.sh -rep=hurys_linux_kettle_repository -user=admin -pass=admin -dir=/mysql_to_hdfs/ -trans=01_MySQL_to_HDFS_t_event_dispose level=Basic >>/home/log/kettle/01_MySQL_to_HDFS_t_event_dispose_`date +%Y%m%d`.log

注意:提前创建好日志文件路径/home/log/kettle

2、pan命令语句执行结果:转换成功

 3、由于kettle任务是从MySQL到HDFS,所以还可以到Hadoop中验证一下文件

 4、由于pan语句导出日志到日志文件,因此可以查看日志文件

到/home/log/kettle路径下找到对应的日志文件,然后vi打开查看

 # vi    01_MySQL_to_HDFS_t_event_dispose_20230824.log

 可以看到日志中,kettle的转换任务执行成功!

五、Linux上脚本运行kettle的转换任务

(一)前提条件

1、Linux上kettle转换任务的存储位置

2、脚本文件存放目录下执行脚本(首先需要对脚本赋权)

脚本赋权后ll查看脚本

(二)不使用资源库,脚本运行Linux本地上的kettle转换任务

1、kettle脚本内容

#!/bin/bash
source /etc/profile

/opt/install/kettle9.2/data-integration/pan.sh -file=/opt/soft/kettle_job/01_mysql_to_hdfs_t_event_dispose.ktr >> /home/log/kettle/01_mysql_to_hdfs_t_event_dispose_`date +%Y%m%d`.log

2、sh执行脚本(注意 /root/.kettle/里的配置文件,不要有资源库文件

sh test_no.sh

 3、脚本执行结果(执行时间11:09:18)

 4、 由于kettle任务是从MySQL到HDFS,所以还可以到Hadoop中验证一下文件

文件时间是11:09 

5、 查看11:09 的日志文件

 # vi  01_MySQL_to_HDFS_t_event_dispose_20230824.log

 可以看到日志中,kettle的转换任务执行成功!

(三)使用资源库,脚本运行Linux上的kettle转换任务

1、kettle脚本内容

#!/bin/bash
source /etc/profile

/opt/install/kettle9.2/data-integration/pan.sh -rep=hurys_linux_kettle_repository -user=admin -pass=admin -dir=/mysql_to_hdfs/ -trans=01_MySQL_to_HDFS_t_event_dispose level=Basic >>/home/log/kettle/01_MySQL_to_HDFS_t_event_dispose_`date +%Y%m%d`.log 

 2、sh执行脚本(注意 /root/.kettle/里的配置文件,一定要有资源库文件

 # sh test1.sh

3、脚本执行结果(执行时间09:53)

4、 由于kettle任务是从MySQL到HDFS,所以还可以到Hadoop中验证一下文件

5、 查看09:53的日志文件

#  vi  01_MySQL_to_HDFS_t_event_dispose_20230824.log

 可以看到日志中,kettle的转换任务执行成功!

到这里,Linux上脚本运行kettle的转换任务就成功了,包括Linux本地和Linux资源库两种!

最要注意是转换任务的执行器pan,它的参数和kitchen是不太一样的。尤其pan的任务参数是trans,而kitchen的任务参数是job

至于在Windows本地执行kettle的转换任务pan命令语句请参考下面博客

http://t.csdn.cn/YGSSzhttp://t.csdn.cn/YGSSz

乐于奉献共享,帮助你我他!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/921416.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

运算放大器发展史

在内部集成了一个补偿电容 MPS公司OP07推出后,大受欢迎。各家厂商都推出了自己的 这4款都是可以替换的

Apache StreamPark系列教程第二篇——项目打包和开发

一、项目打包 项目依赖maven、jdk8.0、前端(node、npm) //下载代码 git clone//maven打包相关内容 mvn -N io.takari:maven:wrapper //前端打包相关内容 curl -sL https://rpm.nodesource.com/setup_16.x | bash - yum -y install nodejs npm -v npm install -g pnpm默认是h2…

小兔鲜儿 - 推荐模块

目录 动态获取数据 静态结构 获取页面参数​ 获取数据​ 类型声明 热门推荐 – 渲染页面和Tab交互 热门推荐 – 分页加载 热门推荐 – 分页条件 type 和 interface 的区别 type 和 interface 的相似之处 type 的特点和用途 interface 的特点和用途 何时使用 type…

基于JAVA SpringBoot和UniAPP的宠物服务预约小程序

随着社会的发展和人们生活水平的提高,特别是近年来,宠物快速进入人们的家中,成为人们生活中重要的娱乐内容之一,过去宠物只是贵族的娱乐,至今宠物在中国作为一种生活方式得到了广泛的认可,随着人们精神文明…

Spring---Bean的生命周期

目录 何为Spring生命周期 Bean的生命周期 生命周期图 生命周期的流程 Spring Bean的单列与多列的作用域 单例Bean的配置方式 注解方式 XML方式 单列案列 后端Servlet 测试类 Spring Config文件配置 何为Spring生命周期 Bean的生命周期 对于一个Bean的生命周期&#xff…

SpringBoot集成Mybatis-Plus增删改查

一、前言 Mybatis:数据持久化框架Mybatis-Plus:对Mybatis进行了增强,它封装了基本的增删改查操作,使我们自己不需要再去写很多重复的代码,大大解放了生产力! 二、创建项目 创建成功后删除src下面的test目…

iTwin Capture Modeler中文版安装包 图文安装教程

iTwin Capture Modeler中文版安装包图文安装教程 一、下载软件 您可以登录官网下载ITwin Capture模型 https://www.bentley.com/zh-Hans 当然也可以在下面的评论区或者后台私信我 选择 二、安装程序 侧面下载的安 上传的安装文件 运行 Bentley iTwin Capture Modeler x64 .…

6.oracle中listagg函数使用

1. 作用 可以实现行转列,将多列数据聚合为一列,实现数据的压缩 2. 语法 listagg(measure_expr,delimiter) within group ( order by order_by_clause); 解释: measure_expr可以是基于任何列的表达式 delimiter分隔符&#xff0c…

centos服务器系统下安装python3并与自带的python2

centos服务器系统下安装python3并与自带的python2 在centos中,自带有python2,因此需要经常安装python3。但是这里有一个坑,就是centos的yum是用python2写的,如果正常编译安装python3,那么yum就会直接挂了。为了方便以…

AI大模型潮水中,医疗数字化加速「求解」

蝴蝶挥动翅膀,医疗行业每个角落开始连锁反应,曾经被忽视的问题也愈发明显。但与之对应的是,对数字化和AI大模型的价值认可,在中国医疗赛道也正在加速来临。 作者|斗斗 编辑|皮爷 出品|产业家 重庆市某地方人民医院&#xf…

仓储财产如何保存,教你一个小技巧~

仓库作为储存重要货物、设备和文件的场所,常常面临着各种潜在的风险,其中之一就是水浸事件。一旦发生水浸,不仅可能造成货物和设备的损坏,还可能导致生产中断和财产损失。 因此,水浸监控系统不仅仅是一项科技创新&…

Camunda 7.x 系列【25】发送任务 接收任务

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 2.7.9 本系列Camunda 版本 7.19.0 源码地址:https://gitee.com/pearl-organization/camunda-study-demo 文章目录 1. 概述2. 案例演示2.1 接收任务2.2 发送任务2.3 测试1. 概述 Send Task发送任务用于将消息…

笔记:transformer系列

1、和其他网络的比较 自注意力机制适合处理长文本,并行度好,在GPU上,CNN和Self-attention性能差不多,在TPU(Tensor Processing Uni)效果更好。 总结: 自注意力池化层将当做key,value,query来…

GitHub的PUSH显示网络超时,小乌龟网络代理办法

前言 (1)我能够正常访问GitHub,但是每次将代码提交到GitHub常常显示网络超时。这是因为提交是走的国内的网络,对GitHub访问会被进行限速。 (2)为了让小乌龟也拥有魔法,我们可以使用代理工具。注…

rabbitmq卸载重新安装3.8版本

卸载之前的版本的rabbitmq 卸载rabbitmq 卸载前先停止rabbitmq服务 /usr/lib/rabbitmq/bin/rabbitmqctl stop查看rabbitmq安装的相关列表 yum list | grep rabbitmq卸载rabbitmq相关内容 yum -y remove rabbitmq-server.noarch 卸载erlang 查看erlang安装的相关列表 …

Linux CentOS安装抓包解包工具Wireshark图形化界面

1.Wireshark介绍 Wireshark 是一个开源的网络协议分析工具,它能够捕获和分析网络数据包,提供深入的网络故障排除、网络性能优化和安全审计等功能。它支持跨多个操作系统,包括 Windows、macOS 和 Linux。 2.Wireshark主要使用方法 捕获数据…

韶音属于什么档次的品牌,韶音骨传导耳机值得入手吗

骨传导领域中流传着一句话,就是“配置看南卡,颜值看韶音”,之所以有这句话,是因为韶音的骨传导耳机在颜值方面可以说是无可挑剔的,每款耳机的颜色挑选上基本都能达到六七种,对于户外而言可以说是回头率满满…

VSCode\PyCharm23.2+PyQGIS(QGIS3.32.1)插件开发配置相关要点

近期利用VSCode\PyCharmPyQGIS进行插件开发,现将要点总结一下: 一、VSCode,我没有配置成功,主要是最后一个阶段调试的时候老是不成功。以后会持续关注。但是有几个要点: 1、VSCodePyQIS开发,智能提示的设…

pip批量下载包、批量安装离线包

requirements.txt 格式 批量下载 pip download -d D:\packs -r requirements.txt-d 参数设置下载包存放的目录 -r 包列表 批量在线安装 pip install -r requirements.txt 批量离线安装 pip install --no-index --find-linksD:\packs -r requirements.txt–no-index 参数表…

c#设计模式-创建型模式 之 原型模式

概述 原型模式是一种创建型设计模式,它允许你复制已有对象,而无需使代码依赖它们所属的类。新的对象可以通过原型模式对已有对象进行复制来获得,而不是每次都重新创建。 原型模式包含如下角色: 抽象原型类:规定了具…