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

一、目的

在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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Arduino程序设计(四)按键消抖+按键计数

按键消抖按键计数 前言一、按键消抖二、按键计数1、示例代码2、按键计数实验 参考资料 前言 本文主要介绍两种按键控制LED实验:第一种是采用软件消抖的方法检测按键按下的效果;第二种是根据按键按下次数,四个LED灯呈现不同的流水灯效果。 一…

python二维索引转一维索引 多维索引转一维索引

将二维索引转为1维索引 原博客地址:https://blog.csdn.net/qq_42424677/article/details/123011642 将n维索引映射成1维索引 def ravel_index(x, dims):i 0for dim, j in zip(dims, x):i * dimi jreturn i

Vue2(状态管理Vuex)

目录 一,状态管理Vuex二,state状态三,mutations四,actions五,modules最后 一,状态管理Vuex Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并…

opencv 水果识别+UI界面识别系统,可训练自定义的水果数据集

目录 一、实现和完整UI视频效果展示 主界面: 测试图片结果界面: 自定义图片结果界面: 二、原理介绍: 图像预处理 HOG特征提取算法 数据准备 SVM支持向量机算法 预测和评估 完整演示视频: 完整代码链接 一、…

基于SpringBoot的在线聊天系统

基于SpringBoot的在线聊天系统 一、系统介绍二、功能展示三.其他系统实现五.获取源码 一、系统介绍 源码编号:F-S03点击查看 项目类型:Java EE项目 项目名称:基于SpringBoot的在线聊天系统 项目架构:B/S架构 开发语言&#x…

线性代数的学习和整理13: 函数与向量/矩阵

目录 1 函数与 向量/矩阵 2 函数的定义域,值域,到达域 3 对应关系 1 函数与 向量/矩阵 下面两者形式类似,本质也类似 函数的: axy ,常规函数里,a,x,y 一般都是单个数矩阵: AXY &a…

【CSS】CSS 背景设置 ( 背景半透明设置 )

一、背景半透明设置 1、语法说明 背景半透明设置 可以 使用 rgba 颜色值设置半透明背景 ; 下面的 CSS 样式中 , 就是 设置黑色背景 , 透明度为 20% ; background: rgba(0, 0, 0, 0.2);颜色的透明度 alpha 取值范围是 0 ~ 1 之间 , 在使用时 , 可以 省略 0.x 前面的 0 , 直接…

在线OJ平台项目

一、项目源码 Online_Judge yblhlk/Linux课程 - 码云 - 开源中国 (gitee.com) 二、所用技术与开发环境 1.所用技术: MVC架构模式 (模型-视图-控制器) 负载均衡系统设计 多进程、多线程编程 C面向对象编程 & C 11 & STL 标准库 C Boost 准标…

Docker打包JDK20镜像

文章目录 Docker 打包 JDK 20镜像步骤1.下载 jdk20 压缩包2.编写 dockerfile3.打包4.验证5.创建并启动容器6.检查 Docker 打包 JDK 20镜像 步骤 1.下载 jdk20 压缩包 https://www.oracle.com/java/technologies/downloads/ 2.编写 dockerfile #1.指定基础镜像,并…

网络:RIP协议

1. RIP协议原理介绍 RIP是一种比较简单的内部网关协议(IGP协议),RIP基于距离矢量的贝尔曼-福特算法(Bellman - Ford)来计算到达目的网络的最佳路径。最初的RIP协议开发时间较早,所以在带宽、配置和管理方面的要求也较低。 路由器运…

如何管理多个大型数据中心,这回总算说全了!

当谈及现代科技基础设施中的关键元素时,数据中心无疑占据着核心地位。然而,无论多么强大的硬件和网络系统,都无法摆脱电力供应的依赖。 在电力中断或突发情况下,数据中心的稳定运行将受到威胁,进而导致业务中断和数据丢…

Postman测WebSocket接口

01、WebSocket 简介 WebSocket是一种在单个TCP连接上进行全双工通信的协议。 WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直…

pandas数据分析——groupby得到分组后的数据

groupbyagg分组聚合对数据字段进行合并拼接 Pandas怎样实现groupby聚合后字符串列的合并(四十) groupby得到分组后的数据 pandas—groupby如何得到分组里的数据 date_range补齐缺失日期 在处理时间序列的数据中,有时候会遇到有些日期的数…

Linux安装FRP(内网穿透)

项目简介需求背景 1.FileBrowser访问地址:http://X.X.X.X:8181,该地址只能在局域网内部访问而无法通过互联网访问,想要通过互联网 访问到该地址需要通过公网IP来进行端口转发,通常家里的路由器IP都不是公网IP,通常公司…

如何用Dockerfile部署LAMP架构

目录 构建LAMP镜像(Dockerfile) 第一步 创建工作目录 第二步 编写dockerfile文件 Dockerfile文件配置内容 第三步 编写网页执行文件 第四步 编写启动脚本 第五步 赋权并且构建镜像 第六步 检查镜像 第七步 创建容器 第八步 浏览器测试 构建LA…

mysql 存储引擎系列 (一) 基础知识

当前支持存储引擎 show engines; 显示默认存储引擎 select default_storage_engine; show variables like ‘%storage%’; 修改默认引擎 set default_storage_enginexxx 或 set default_storage_enginexxx; my.ini 或者 my.cnf ,需要重启 服务才能生效 systemctl …

mongodb聚合排序的一个巨坑

现象: mongodb cpu动不动要100%,如下图 分析原因: 查看慢日志发现,很多条这样的查询,一直未执行行完成,占用大量的CPU [{$match: {"tags.taskId": "64dae0a9deb52d2f9a1bd71e",grnty: …

【Unity学习笔记】DOTween(1)基础介绍

本文中大部分内容学习来自DOTween官方文档 文章目录 什么是DOTween?DOSetOnTweenerSequenceTweenNested tween 初始化使用方式 什么是DOTween? DOTween是一个动画插件,Tween是补间的意思。这个插件以下简称DOT,DOT很方便使用&…

可扩展的单核至四核Cortex-A53@1.4GHz工业级核心板规格书

1 核心板简介 创龙科技SOM-TL62x是一款基于TI Sitara系列AM62x单/双/四核ARM Cortex-A53 + 单核ARM Cortex-M4F多核处理器设计的高性能低功耗工业核心板,通过工业级B2B连接器引出2x TSN Ethernet、9x UART、3x CAN-FD、GPMC、2x USB2.0、CSI、DISPLAY等接口。处理器ARM Corte…

C++string类

目录 一、为什么学习string 二、标准库中的string类 2.1 string类的简介 2.2 成员类型 2.3 成员函数 2.3.1 构造、析构与运算符重载 2.3.2 迭代器 2.3.3 容量 2.3.4 元素的存取 2.3.5 修改 2.3.6 字符串操作 2.4 成员常量 2.5 非成员函数重载 三、string编程题练…