本系列文章主要索引如下:

一、ETL利器Kettle实战应用解析系列一【Kettle使用介绍】

二、ETL利器Kettle实战应用解析系列二 【应用场景和实战DEMO下载】

三、ETL利器Kettle实战应用解析系列三 【ETL后台进程执行配置方式】

本文主要阅读目录如下:

1、简介Kettle的Kitchen和Span

2、命令行调度任务配置方式

3、后台进程配置运行方式

4、Windows任务设置

5、Demo下载

1、简介Kettle的Kitchen和Span

前面两篇文章中主要讲述了Kettle的 Spoon的转换和作业的GUI设计方式以及运行,也给出了Demo实战,那么实际上我们的应用模式可能会要求在服务器上以后台进程的方式运行这个ETL任务,就像我们传统上一般都是用Windows服务的方式来处理数据一样,那么用Kettle我们怎么去实现呢?这就需要我们了解一下Kettle的Kitchen和Span。

Kitchen——工作(job)执行器 (命令行方式)
 Span——转换(trasform)执行器 (命令行方式)

这里我们重点讲一下 Kitchen.bat作业执行器 ,这个是经常要用到的。

它是一个作业执行引擎,用来执行作业。这是一个命令行执行工具,它的参数说明如下:

    -rep      : Repository name   任务包所在存储名
    -user     : Repository username   执行人
    -pass     : Repository password   执行人密码
    -job      : The name of the job to launch 任务包名称
    -dir      : The directory (don''t forget the leading / or \) 
    -file     : The filename (Job XML) to launch 
    -level    : The logging level (Basic, Detailed, Debug, Rowlevel, Error, Nothing) 指定日志级别
    -log      : The logging file to write to  指定日志文件
    -listdir  : List the directories in the repository 列出指定存储中的目录结构。
    -listjobs : List the jobs in the specified directory 列出指定目录下的所有任务
    -listrep  : List the defined repositories 列出所有的存储
    -norep    : Don''t log into the repository  不写日志

2、命令行调度任务配置方式

还是拿我在前面文章中提到的第一个例子来去讲一下具体的配置方式,主要的思路就行首先定位到kettle中Kitchen.bat的根目录,然后执行kitchen命令;

步骤1:首先我们建立一个bat文件,然后点击编辑进入之后,如下所示,这是定位到Kitchen.bat的目录;

E:
cd E:\ETL\pdi-open-3.1.0-826

步骤2:执行kitchen命令,如下:

kitchen /file:E:\ETL\脚本文件\MyTest.kjb /level:Basic>>D:\MyTest.log

这里注意配正确路径,然后后面是一个基本的日志模式,后面也需要配置日志的输出路径;

3、后台进程配置运行方式

前面我们已经把bat文件建立起来了,这时候我们可以以bat方式运行我们的ETL任务了,不过它的问题是服务器桌面上永远有个黑CMD屏幕,而且不能关,怎么让Bat在屏幕上消失而后台还能运行呢?具体方法有很多种这里介绍两种:

方法一

  bat里有隐藏窗口的命令,很简单,只需要在代码头部加一段代码就可以了。

  @echo off

  if "%1" == "h" goto begin

  mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit

  :begin

  ::下面是你自己的代码。

方法二

  在你批处理的相同目录下新建一个记事本,里面输入:

  DIM objShell set objShell=wscript.createObject("wscript.shell")

  iReturn=objShell.Run("cmd.exe /C c:\1.bat", 0, TRUE)   

  (其中win.bat为你自己的批处理名字,自己改)

  然后把这个记事本保存为后缀名为.vbe的文件,到时候你只要运行这个vbe文件就达到目的了!

  可以写的简单点:

  Set ws = CreateObject("Wscript.Shell")

  ws.run "cmd /c c:\1.bat",0

  或者

  CreateObject("WScript.Shell").Run "cmd /c c:\1.bat",0

  (这种写法很多杀软报毒, 需要替换参数0)

  最后那个0是指窗口参数,用法为:

  0 隐藏窗口并激活另一窗口。

  1 激活并显示一个窗口。若窗口是最小化或最大化,则恢复到其原来的大小和位置。

  2 激活窗口并以最小化显示该窗口。

  3 激活窗口并以最大化显示该窗口。

  4 按窗口最近的大小和位置显示。活动窗口保持活动。

  5 以当前大小和位置激活并显示窗口。

  6 最小化指定窗口并激活按 Z 序排序的下一个顶层窗口。

  7 最小化显示窗口。活动窗口保持活动。

  8 以当前状态显示窗口。活动窗口保持活动。

  9 激活并显示窗口。若窗口是最小化或最大化,则恢复到原来的大小和位置。在还原应用程序的最小化窗口时,应指定该标志。

4、Windows任务设置

经过前面的两步,我们已经可以让ETL作业在服务器上无声无息的运行了,但是如何自由调度呢,我们再结合windows的任务计划即可,这里不再赘述!

ETL利器Kettle实战应用解析系列三的更多相关文章

  1. ETL利器Kettle实战应用解析系列三 【ETL后台进程执行配置方式】

    本文主要阅读目录如下: 1.简介Kettle的Kitchen和Span 2.命令行调度任务配置方式 3.后台进程配置运行方式 4.Windows任务设置 5.Demo下载 1.简介Kettle的Kit ...

  2. ETL利器Kettle实战应用解析系列一【Kettle使用介绍】

    本系列文章主要索引如下: 一.ETL利器Kettle实战应用解析系列一[Kettle使用介绍] 二.ETL利器Kettle实战应用解析系列二 [应用场景和实战DEMO下载] 三.ETL利器Kettle ...

  3. (转载)ETL利器Kettle实战应用解析系列一【Kettle使用介绍】

    http://www.cnblogs.com/limengqiang/archive/2013/01/16/kettleapply1.html ETL利器Kettle实战应用解析系列一[Kettle使 ...

  4. ETL利器Kettle实战应用解析系列二

    本系列文章主要索引如下: 一.ETL利器Kettle实战应用解析系列一[Kettle使用介绍] 二.ETL利器Kettle实战应用解析系列二 [应用场景和实战DEMO下载] 三.ETL利器Kettle ...

  5. ETL利器Kettle实战应用解析系列二 【应用场景和实战DEMO下载】

    本文主要阅读目录如下: 1.应用场景 2.DEMO实战 3.DEMO下载 1.应用场景 这里简单概括一下几种具体的应用场景,按网络环境划分主要包括: 表视图模式:这种情况我们经常遇到,就是在同一网络环 ...

  6. ETL利器Kettle

    ETL利器Kettle实战应用解析系列一[Kettle使用介绍] 本系列文章主要索引如下: 一.ETL利器Kettle实战应用解析系列一[Kettle使用介绍] 二.ETL利器Kettle实战应用解析 ...

  7. java基础解析系列(三)---HashMap

    java基础解析系列(三)---HashMap java基础解析系列 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系列(二)-- ...

  8. Telegram学习解析系列(三) : Build Telegram报错分析总结

    正好通过这次 Telegram 的运行,很想把常见的项目运行的错误好好的总结一下,在前面的博客中,又星星散散的总结过错误和一些警告的消除方法,这次把错误处理一下,还有Telegram项目中有999+的 ...

  9. java基础系列(三)---HashMap

    java基础系列(三)---HashMap java基础系列 java基础系列(一)---String.StringBuffer.StringBuilder java基础系列(二)---Integer ...

随机推荐

  1. python爬虫headers设置后无效解决方案

    此次遇到的是一个函数使用不熟练造成的问题,但有了分析工具后可以很快定位到问题(此处推荐一个非常棒的抓包工具fiddler) 正文如下: 在爬取某个app数据时(app上的数据都是由http请求的),用 ...

  2. laravel运行慢是怎么回事?

    因为默认的 hello 页面引用了 google 的字体,至于为什么 google 这么慢就不用我详细说明了吧.

  3. 【集训】练习题 uria

    Description 求有多少组正整数对 \((a, b)\) 满足 \(a + b ≤ n\) \(a + b | ab\) \(n ≤ 10^14\) Solution 这题有点绕啊 设 \(g ...

  4. [NOIP2011]玛雅游戏

    闲的没事干,出来写一下早两天刷的一道搜索题NOIP2011玛雅游戏,其实这道题还是比较水的,虽然看起来可能有点复杂. 方法很简单粗暴,直接根据规则模拟就行. 话不多说直接上代码(关键操作在注释中有提到 ...

  5. BZOJ5305 [Haoi2018]苹果树 【组合数学】

    题目链接 BZOJ5305 题解 妙啊 要求的是所有可能的树形的所有点对距离和 直接考虑点的贡献肯定想不出,这样的所有点对距离问题通常转化为边的贡献 考虑一条边会产生多少贡献 我们枚举\(i\)节点的 ...

  6. 洛谷 P3235 [HNOI2014]江南乐 解题报告

    P3235 [HNOI2014]江南乐 Description 两人进行 T 轮游戏,给定参数 F ,每轮给出 N 堆石子,先手和后手轮流选择石子数大于等于 F 的一堆,将其分成任意(大于1)堆,使得 ...

  7. Solr7.2的安装与使用

    单机安装Solr服务: https://www.cnblogs.com/LUA123/p/7906774.html extend: install_solr_service.sh 参数说明: 安装脚本 ...

  8. bzoj 3772 :精神污染 线段树+打标记 or 主席树

    3772: 精神污染 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 315  Solved: 87[Submit][Status][Discuss] D ...

  9. BZOJ 4802 欧拉函数

    4802: 欧拉函数 Description 已知N,求phi(N) Input 正整数N.N<=10^18 Output 输出phi(N) Sample Input 8 Sample Outp ...

  10. 在ubuntu下安装opencv

    每次学习一个新的东西,最让气恼的也许就是库,软件之类的东西了把.本来以为再ubuntu虚拟机上照着网上的教程一步步做肯定一下子就弄好了,结果发现好多教程都有好多的坑,有些地方他们少一步你也不知道,有些 ...