一百六十四、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

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

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

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

相关文章

【PHP】echo 输出数组报Array to string conversion解决办法

代码&#xff1a; <?PHP echo "Hello World!";$demoName array("kexuexiong","xiong");echo "<pre>";var_dump($demoName);echo $demoName; print_r($demoName);echo "</pre>"; ?>输出结果&#xff1…

土豆叶病害识别(图像连续识别和视频识别)

效果视频&#xff1a;土豆叶病害识别&#xff08;Python代码&#xff0c;pyTorch框架&#xff0c;视频识别&#xff09;_哔哩哔哩_bilibili 代码运行要求&#xff1a;Torch库>1.13.1&#xff0c;其它库无版本要求 1..土豆叶数据集主要包好三种类别&#xff08;Early_Blight…

自然语言处理(二):近似训练

近似训练 近似训练&#xff08;Approximate Training&#xff09;是指在机器学习中使用近似的方法来训练模型&#xff0c;以降低计算复杂度或提高训练效率。这种方法通常用于处理大规模数据集或复杂模型&#xff0c;其中精确的训练算法可能过于耗时或计算资源不足。 近似训练…

机器学习理论笔记(二):数据集划分以及模型选择

文章目录 1 前言2 经验误差与过拟合3 训练集与测试集的划分方法3.1 留出法&#xff08;Hold-out&#xff09;3.2 交叉验证法&#xff08;Cross Validation&#xff09;3.3 自助法&#xff08;Bootstrap&#xff09; 4 调参与最终模型5 结语 1 前言 欢迎来到蓝色是天的机器学习…

【springboot】Spring Cache缓存:

文章目录 一、导入Maven依赖&#xff1a;二、实现思路&#xff1a;三、代码开发&#xff1a; 一、导入Maven依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId><…

lnmp架构-mysql

1.MySQL数据库编译 make完之后是这样的 mysql 初始化 所有这种默认不在系统环境中的路径里 就这样加 这样就可以直接调用 不用输入路径调用 2.初始化 重置密码 3.mysql主从复制 配置master 配置slave 当master 端中还没有插入数据时 在server2 上配slave 此时master 还没进…

2.文章复现《热电联产系统在区域综合能源系统中的定容选址研究》(附matlab程序)

0.代码链接 1.简述 光热发电是大规模利用太阳能的新兴方式&#xff0c;其储热系 统能够调节光热电站的出力特性&#xff0c;进而缓解光热电站并网带来的火电机组调峰问题。合理配置光热电站储热容量&#xff0c;能够 有效降低火电机组调峰成本。该文提出一种光热电站储热容 量配…

HLS实现CORDIC算法计算正余弦并上板验证

硬件&#xff1a;ZYNQ7010 软件&#xff1a;MATLAB 2019b、Vivado 2017.4、HLS 2017.4、System Generator 2017.4 1、CORDIC算法计算正余弦 CORDIC算法详细分析网上有很多资料&#xff0c;它的原理是用一系列旋转去逼近目标角度&#xff0c;这一系列旋转的角度为 θ a r c t…

Unity中实现获取InputField选中的文字

一&#xff1a;前言 获取到选中的文字&#xff1a;哈哈 二&#xff1a;实现 UGUI的InputField提供了selectionAnchorPosition和selectionFocusPosition&#xff0c;开始选择时的光标下标和当前光标下标 using UnityEngine; using UnityEngine.EventSystems; using UnityEngin…

蓝蓝设计ui设计公司作品案例-中节能现金流抗压测试软件交互及界面设计

中国节能是以节能环保为主业的中央企业。中国节能以生态文明建设为己任&#xff0c;长期致力于让天更蓝、山更绿、水更清&#xff0c;让生活更美好。经过多年发展&#xff0c;中国节能已构建起以节能、环保、清洁能源、健康和节能环保综合服务为主业的41产业格局&#xff0c;成…

机器视觉-外观缺陷检测已成笑话

外观检测盛行几年,只要做机器视觉工程师,每个人都好奇都想做做。不做不知道,一做吓一跳。我将从各大家一线公司掌握的信息来具体分析外观缺陷检测埋了多少坑: 明显的现象,公司摆了很多设备,都在公司,都没有出售。我从业15年,从来没有经历过有这么多设备待在公司。从来…

基于Java的旅游信息推荐系统设计与实现,springboot+vue,MySQL数据库,前后端分离,完美运行,有三万字论文。

基于Java的旅游信息推荐系统设计与实现&#xff0c;springbootvue&#xff0c;MySQL数据库&#xff0c;前后端分离&#xff0c;完美运行&#xff0c;有三万字论文。 前台主要功能&#xff1a;登录注册、旅游新闻、景区信息、美食信息、旅游线路、现在留言、收藏、预定旅游线路…

深度学习5:长短期记忆网络 – Long short-term memory | LSTM

目录 什么是 LSTM&#xff1f; LSTM的核心思路 什么是 LSTM&#xff1f; 长短期记忆网络——通常被称为 LSTM&#xff0c;是一种特殊的RNN&#xff0c;能够学习长期依赖性。由 Hochreiter 和 Schmidhuber&#xff08;1997&#xff09;提出的&#xff0c;并且在接下来的工作中…

Python自动化小技巧21——实现PDF转word功能(程序制作)

案例背景 为什么这个年代PDF转word&#xff0c;某wps居然还要收费.....很多软件都可以实现这个功能&#xff0c;但是效果都有好有坏&#xff0c;而且有的还付费&#xff0c;很麻烦。 那就用python实现这个功能吧&#xff0c;然后把代码打包为.exe的程序&#xff0c;这样随便在…

Docker容器:docker consul的注册与发现及consul-template守护进程

文章目录 一.docker consul的注册与发现介绍1.什么是服务注册与发现2.什么是consul3.consul提供的一些关键特性4.数据流向 二.consul部署1.consul服务器&#xff08;192.168.198.12&#xff09;&#xff08;1&#xff09;建立 Consul 服务&#xff08;2&#xff09;查看集群信息…

Tomcat10安装及配置教程win11

Tomcat10安装及配置教程win11 Tomcat下载链接 Tomcat官网 Tomcat官网地址 https://tomcat.apache.org/ Tomcat的版本列表 点击上图中左侧红框内**Which version?**即可得下图 下载Tomcat 点击上图中左侧红框内红框内tomcat版本即可得下图&#xff0c;下载zip包 解压zip包…

Maven聚合项目(微服务项目)创建流程,以及pom详解

一、创建流程 1、首先创建springboot项目作为父项目 只留下pom.xml 文件&#xff0c;删除src目录及其他无用文件 2、创建子项目 子项目可以是maven项目&#xff0c;也可以是springboot项目 3、父子项目关联 4、父项目中依赖管理 <?xml version"1.0" encoding…

MES管理系统如何让传统汽车行业从“制造”走向“智造”

在传统制造业中&#xff0c;“数字化转型”是一个老生常谈的话题&#xff0c;然而&#xff0c;许多传统制造业仍处于“信息化”的阶段&#xff0c;距离真正的数字化还有很长的路要走。如果要在所有传统制造行业中寻找那些可以成为转型“先行者”的领域&#xff0c;那么深度与广…

09-微信小程序 网络请求API(实现轮播广告和简易的聊天窗口)

09-微信小程序API网络请求(实现轮播广告和简易的聊天窗口) 文章目录 微信小程序API服务器域名配置注意网络相关APIrequestRequestTask 请求任务对象object.success 回调函数object.fail 回调函数案例代码&#xff08;实现轮播图&#xff09; WebSocket案例代码&#xff08;实现…

C语言——指针进阶(一)

目录 ​编辑 一.字符指针 1.1 基本概念 1.2 面试题 二.指针数组 三.数组指针 3.1 数组指针的定义 3.2 &数组名VS数组名 3.3 数组指针的使用 四.数组参数、指针参数 4.1 一维数组传参 ​编辑 4.2 二维数组传参 4.3 一级指针传参 4.4 二级指针传参 ​编辑 五.…