kettle之linux使用kettle
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的更多相关文章
- Linux启动kettle及linux和windows中kettle往hdfs中写数据(3)
在xmanager中的xshell运行进入图形化界面 sh spoon.sh 新建一个job
- 关于linux安装kettle的总结
一.部署准备 1.1 JDK安装配置 命令行键入“cd /etc”进入etc目录 命令行键入“vi profile”打开profile文件 敲击键盘ctrl+F到文件末尾 在末尾处,即第一个~的地方, ...
- Kettle学习系列之kettle的下载、安装和初步使用(windows平台下)(图文详解)
不多说,直接上干货! kettle的下载 Kettle可以在http://kettle.pentaho.org/网站下载 http://sourceforge.n ...
- kettle系列-[KettleUtil]kettle插件,类似kettle的自定义java类控件
该kettle插件功能类似kettle现有的定义java类插件,自定java类插件主要是支持在kettle中直接编写java代码实现自定特殊功能,而本控件主要是将自定义代码转移到jar包,就是说自定义 ...
- Linux中kettle自动化部署脚本
自己写的一个自动化在Linux中部署kettle的脚本,包括一些遇到的问题在脚本中都有涉及. kettle是官网最新版本pdi-ce-6.1.0.1-196.zip 目前最新版本下载地址:https: ...
- Linux下面kettle的部署
一直以来服务器是linux系统,但是感觉linux图形化不强,于是从接触kettle以来都是在windows系统操作ETL的设计和处理.现在需要在linux中查看一下kettle资源库是否连接正常,以 ...
- linux上Kettle定时执行(转换的单步执行,job的单步执行,环境变量,kettle定时功能,效率问题等)转自(http://blog.csdn.net/feng19821209/article/details/5800960)
1,Kettle跨平台使用. 例如:在AIX下(AIX是IBM商用UNIX操作系统,此处在LINUX/UNIX同样适用),运行Kettle的相关步骤如下: 1)进入到Kettle部署的路径 ...
- kettle在linux安装
1 首先保证linux上面已经安装jdk,因为kettle是用Java开发,依赖于jdk 2 将pdi-ce-7.1.0.0-12.zip 上传到linux对应文件夹下面(笔者上传到/opt/kett ...
- kettle在linux下面用于shell脚本执行:转换或者作业
1 将windows下面创建好的转换,放到Linux某一个文件夹下面.如:把0816_em.ktr文件放到/home/cfj/kettle/testdemo下面. 注意里面的数据库用户名和密码可能需要 ...
随机推荐
- oracle中“ORA-00060: 等待资源时检测到死锁” 或存储过程编译卡死 解决方法
之前在调试存储过程时,出现卡死情况,无法插入数据 解决方法 1.查看那些表被锁住: --1.查看那些表被锁住--- select b.owner,b.object_name,a.session_id, ...
- Angular2 之父子组件交互方式
父子组件交互方式,这里介绍主要的三种方式 1.事件传值 下面以列表页和分页组件举例. list.component.html <pagination *ngIf="pageParams ...
- FTP软件FileZilla 3.38.1下载
FTP软件FileZilla 3.38.1下载 filezilla软件简介 FileZilla是一个免费开源的FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能,具备极好的可控性及条理性 ...
- git切换用户踩坑
1)配置用户信息 git config --global user.name "username" git config --global user.email "**@ ...
- Python语言:Day9练习题及其答案
1.使用while循环输出1,2,3,4,5,6, 8,9,10 #!/usr/bin/python3 n = 1 while n <= 10: if n != 7: print(n) else ...
- Android : Camera之camx hal架构
一.camx的代码结构 目前主流的机型都使用camx架构,这个架构和之前架构的主要区别就是 芯片接口层的代码从hardware/qcom 迁移到 vendor/qcom/proprietary/下面, ...
- 背景图片利用backgrond-posintion属性实现不同形式的分割
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 1.2 SQL运算与控制程序执行流程
列出需要注意和学习的运算 1.取余 2.begin....end:中间包含两条或两条以上的SQL语句 3.case:进行多重选择,免于写if then的嵌套循环. 通配符:(实现模糊查询) %: ...
- linux发布环境初始化脚本
#参数配置 homeDir=$(pwd) tomcatDir=$homeDir/tomcat logDir=$homeDir/tomcat/logs backUpDir=$homeDir/backup ...
- 信号single
信号 Django中提供了“信号调度”,用于在框架执行操作时解耦.通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者. 1.Django内置信号 Model signals pre ...