商务科技网站建设,如何申请电商网站,上海高端网站定制建设公司,演员王野天一、目的
在kettle的转换任务以及共享资源库、Carte服务创建好后#xff0c;需要对kettle的转换任务用海豚调度器进行调度#xff0c;调度的前提的写好脚本。所以#xff0c;这篇博客首先介绍在Linux上脚本运行kettle的转换任务
二、前提准备
#xff08;一#xff09;…一、目的
在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 -repinitech_pdi_repo -userpgibbons -passlumburghsux -transTPS_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防止 PanKitchen登录到存储库。如果您已经设置了 KETTLE_REPOSITORY、KETTLE_USER 和 KETTLE_PASSWORD 环境变量那么这个选项将使您能够阻止 Pan Kitchen登录到指定的存储库假设您要执行本地 KTR 文件14safemode在安全模式下运行可以进行额外检查15version显示版本、修订和构建日期16param以namevalue 格式设置命名参数 。例如 -param:FOObar17listparam列出有关指定转换中定义的命名参数的信息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 -rephurys_linux_kettle_repository -useradmin -passadmin -listdir 找到资源库的文件目录hive_to_clickhouse、mysql_to_hdfs 3、listtrans列出指定文件目录里的转换任务
sh /opt/install/kettle9.2/data-integration/pan.sh -rephurys_linux_kettle_repository -useradmin -passadmin -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 -rephurys_linux_kettle_repository -useradmin -passadmin -dir/mysql_to_hdfs/ -trans01_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 -rephurys_linux_kettle_repository -useradmin -passadmin -dir/mysql_to_hdfs/ -trans01_MySQL_to_HDFS_t_event_dispose levelBasic /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 -rephurys_linux_kettle_repository -useradmin -passadmin -dir/mysql_to_hdfs/ -trans01_MySQL_to_HDFS_t_event_dispose levelBasic /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 乐于奉献共享帮助你我他