Kettle可以在Window、Linux、Unix上运行,数据抽取高效稳定,使用之前需要准备环境。
准备java环境,这里就不赘述了,建议jdk7以上版本。

上传kettle压缩包,并解压,我解压的路径是/usr/soft/kettle

以下是重点:
确保kettle脚本可执行权限
使用命令查看文件权限
ls -l /data-integration
如图:

如果没有执行权限,执行以下命令:
chmod +x /usr/soft/kettle/dist/*.sh

使用命令测试是否部署成功
./dist/kitchen.sh
部署成功后的截图:

常用命令

ktr的运行:运行transformation文件是通过pan.sh来运行的。

打开cmd命令行窗口,转到pan.sh所在的目录,如/home/zzq/data-integration,然后执行文件的命令为

./pan.sh -file=/home/zzq/work/test.ktr
1
如果要输出日志则

./pan.sh -file=/home/zzq/work/test.ktr >> /home/zzq/log/kettle.log
1
后台模式运行使用

./pan.sh -file=/home/zzq/work/genotypeHiveLinux.ktr >> /home/zzq/log/kettle.log &
1
kjb的运行:运行job文件是通过kitchen.sh来运行的。

打开cmd命令行窗口,转到kitchen.sh所在的目录,如/home/zzq/data-integration,然后执行文件的命令为

./kitchen.sh -file=/home/zzq/work/test.kjb
1
如果要输出日志则

./kitchen.sh -file=/home/zzq/work/test.kjb >> /home/zzq/log/kettle.log
1
配置参数:

Pan——转换执行器
用来执行转换。参数与Kitchen类似,如下。

1- -version显示版本信息

2- -file=filename运行xml文件

3- -param:key=value指定命名参数

4- -log=logging filename 设置日志文件

5- -level=logging level 设置日志级别

Error:只显示错误

Nothing:不显示任何输出

Minimal:只使用最少的记录

Basic:这是默认的基本日志记录级别

Detailed:详细的日志输出

Debug:以调试为目的,非常详细的输出

Rowlevel:使用行级记录,会产生大量的数据

返回状态,Pan会基于执行状况返回一个错误码:

0:转换执行成功
1:处理过程中发生错误
2:在装载或者运行时发生意外的错误
3:不能初始化转换
7:转换不能从资源库或xml中装载
8:装载步骤或插件错误(通常是装载其中一个插件错误)
9:命令行用法错误

Kitchen——作业执行器
用来执行作业。这是一个命令行执行工具,参数说明如下。

1) -rep:Repositoryname任务包所在存储名

2) -user:Repositoryusername执行人

3) -pass:Repositorypassword执行人密码

4) -job:Thenameofthejobtolaunch任务包名称

5) -dir:Thedirectory(don’tforgettheleading/or)

6) -file:Thefilename(JobXML)tolaunch

7) -level:Thelogginglevel(Basic,Detailed,Debug,Rowlevel,Error,Nothing)指定日志级别

8) -log:Theloggingfiletowriteto指定日志文件

9) -listdir:Listthedirectoriesintherepository列出指定存储中的目录结构。

10) -listjobs:Listthejobsinthespecifieddirectory列出指定目录下的所有任务

11) -listrep:Listthedefinedrepositories列出所有的存储

12) -norep:Don’tlogintotherepository不写日志

示例: 1. Windows 中多个参数以 / 分隔,key 和value之间以:分隔

作业存储在文件

Kitchen.bat /level:Basic>D:\etl.log /file:F:\Kettledemo\email.kjb
1
作业存储在数据库

Kitchen.bat /rep kettle /user admin /pass admin /job F_DEP_COMP
1
(Rep的值为数据库资源库ID)

Linux 中参数以 –分隔

作业存储在文件

./kitchen.sh-file=/home/job/huimin.kjb >> /home/ log/kettle.log
1
作业存储在数据库

./kitchen.sh -rep=kettle1 -user=admin -pass=admin -level=Basic -job=job

kettle之linux使用kettle的更多相关文章

  1. Linux启动kettle及linux和windows中kettle往hdfs中写数据(3)

    在xmanager中的xshell运行进入图形化界面 sh spoon.sh 新建一个job

  2. 关于linux安装kettle的总结

    一.部署准备 1.1 JDK安装配置 命令行键入“cd /etc”进入etc目录 命令行键入“vi profile”打开profile文件 敲击键盘ctrl+F到文件末尾 在末尾处,即第一个~的地方, ...

  3. Kettle学习系列之kettle的下载、安装和初步使用(windows平台下)(图文详解)

    不多说,直接上干货! kettle的下载 žKettle可以在http://kettle.pentaho.org/网站下载                   http://sourceforge.n ...

  4. kettle系列-[KettleUtil]kettle插件,类似kettle的自定义java类控件

    该kettle插件功能类似kettle现有的定义java类插件,自定java类插件主要是支持在kettle中直接编写java代码实现自定特殊功能,而本控件主要是将自定义代码转移到jar包,就是说自定义 ...

  5. Linux中kettle自动化部署脚本

    自己写的一个自动化在Linux中部署kettle的脚本,包括一些遇到的问题在脚本中都有涉及. kettle是官网最新版本pdi-ce-6.1.0.1-196.zip 目前最新版本下载地址:https: ...

  6. Linux下面kettle的部署

    一直以来服务器是linux系统,但是感觉linux图形化不强,于是从接触kettle以来都是在windows系统操作ETL的设计和处理.现在需要在linux中查看一下kettle资源库是否连接正常,以 ...

  7. linux上Kettle定时执行(转换的单步执行,job的单步执行,环境变量,kettle定时功能,效率问题等)转自(http://blog.csdn.net/feng19821209/article/details/5800960)

    1,Kettle跨平台使用.    例如:在AIX下(AIX是IBM商用UNIX操作系统,此处在LINUX/UNIX同样适用),运行Kettle的相关步骤如下:    1)进入到Kettle部署的路径 ...

  8. kettle在linux安装

    1 首先保证linux上面已经安装jdk,因为kettle是用Java开发,依赖于jdk 2 将pdi-ce-7.1.0.0-12.zip 上传到linux对应文件夹下面(笔者上传到/opt/kett ...

  9. kettle在linux下面用于shell脚本执行:转换或者作业

    1 将windows下面创建好的转换,放到Linux某一个文件夹下面.如:把0816_em.ktr文件放到/home/cfj/kettle/testdemo下面. 注意里面的数据库用户名和密码可能需要 ...

随机推荐

  1. 创建nodejs服务

    1.终端窗口输入:npm init 2.终端输入:npm install 3.修改代码后重启服务:ctrl+c 启动服务:node 文件名.js

  2. js删除数组中元素 delete 和splice的区别

    例如我有一个数组: var array = ["aa","dd","cc","aa"] ,我想删除这个数组的“dd”元素 ...

  3. 网页布局中页面内容不足一屏时页脚footer固定底部

    方法一:给html.body都设置100%的高度,确定body下内容设置min-height有效,然后设置主体部分min-height为100%,此时若没有header.footer则刚好完美占满全屏 ...

  4. MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example1.6 Defining Projections and Extents

    MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example1.6 Defining Projections and Extents 一.前言 当在m ...

  5. 部署你的CRM程序

    教你发布CRM   发布CRM你将使用以下软件 nginx uWSGI CentOS7 CRM项目文件 virtualenv supervisor WSGI.uWSGI python web服务器开发 ...

  6. .net正则匹配

    char[] weixin = txtweixinhao.Text.Trim().ToCharArray(); for (int i = 0; i < weixin.Length; i++) i ...

  7. linux 迁移项目ProtocolException

    背景:服务器跟换机房,虚拟机完整迁移项目,只修改ip和主机名 1.检查/etc/hosts 中ip 和主机名映射 2.检查网络端口是否有限制以及端口开放是否全了,检查ip有没有配对.RMI注册不上.

  8. C++中的字符串的输入输出函数、空字符与空格的区别、字符变量赋值和字符串初始化

      一.字符串输入输出函数 1.  cin.get()   逐个字符输入输出 2.  cin 可以将整个字符串一次性输入,但是,cin将空格.Tab和回车键,因此不能用于数组的一次性输入. 注意:ci ...

  9. Java将ip字符串转换成整数的代码

    下面代码是关于Java将ip字符串转换成整数的代码,希望对各位有较大用途. public class IpUtil { public static int Ip2Int(String strIp){ ...

  10. linux - man 提示:-bash: man: command not found

    在执行man命令时,提示:-bash: man: command not found 原因1:没有配置path环境 解决:vi /etc/profile JAVA_HOME=/usr/java/jdk ...