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. VNPY 文件目录结构

    VNPY ├─examples 可以运行起来的实际程序│ ├─CoinapiDataService│ ├─CryptoTrader│ ├─CtaBacktesting│ ├─CtaTrading│ ├ ...

  2. 了解计算机与操作系统发展阶段以及android操作系统的发展史

    计算机与操作系统发展阶段 计算机的发展: 第一代(1946-1957年),电子管计算机 第二代(1958-1964年),晶体管计算机 第三代  (1964—1970年),集成电路数字机 第四代 (19 ...

  3. CSS3特性

    2018-08-20 CSS3:用于控制网页的样式和布局 1.transform:rotate(30deg);      CSS3 模块 选择器 盒模型 背景和边框 文字特效 2D/3D转换 动画 多 ...

  4. js零碎知识汇总

    1.window.location.href 表示在当前页面打开,不会打开新窗口. window.open 表示打开新窗口. 2.<input name="action" t ...

  5. docker 镜像运行问题

  6. java web中验证码生成的demo

    首先创建一个CaptailCode类 package com.xiaoqiang.code; import java.awt.*; import java.awt.font.FontRenderCon ...

  7. 爬取字段 spider_text

    __author__ = 'sus'import urllibimport urllib2import re def getPage(url):        #获取网页 request = urll ...

  8. MongoDB的数据库导出和导入以及备份

    数据库的导出 mongoexport -d 数据库名 -c 集合名 -o 导出文件的保存地址及保存文件名.json --type json 数据库的导入 mongoimport -d 数据库名 -c ...

  9. Centos 7防火墙firewalld开放端口

    firewall-cmd --zone=/tcp --permanent 出现success表明添加成功 命令含义:--zone #作用域--add-port=80/tcp #添加端口,格式为:端口/ ...

  10. HFun.快速开发平台(二)=》自定义列表实例

    应用系统中数据列表的展现是开发内容之一,实现的方式基本是通过编号具体的访问列表页实现,通过检索条件进行数据源的获取,列字段的描述,还可能会有检索条件的实现,列表数据的导出等功能. 为了将重复工作进行简 ...