• 1. 什么是Kitchen Kitchen是执行Spoon设计的任务(jobs)的程序,任务可以在xml或者数据库中。通常jobs会以批处理的形式定期自动执行。
  • 2. Kitchen的安装第一步必须安装jre1.5或者更高的版本,可以从http://www.java.com获取。 之后你可以选择一个目录来解压kettle的压缩文件。例如C:\kettle 在kettle的解压目录下你会看到很多文件。 在solaris,linux,osx等非windows环境下,你需要有执行shell脚本的权利,执行以下命令使你拥有执行在kettle目录下shell脚本执行的权利。 cd kettle chmod +x *.sh
  • 3. 启动KitchenKettle目录下提供了不同平台下启动Kichen的脚本 Kitchen.bat:在windows平台下运行。 Kitchen.sh: 在unix平台下运行。 Kitchen能在拥有jre1.5或更高版本的任何平台上运行。
  • 4. 命令行选项你可以使用以下的命令行选项 显示版本信息 -version 这个选项显示kettle核心库(kettle.jar)的版本。版本号和日期将会显示 运行xml文件 -file=filename 这个选项运行定义job的xml文件(.kjb:kettle job)
  • 5. 命令行选项指定命名参数 -param:key=value 指定命名参数的值,例如“-param:master_host=192.168.1.3” “-param:master_port=8181” 设置日志文件 -log=logging filename 指定日志文件,默认是标准输出
  • 6. 命令行选项设置日志级别 -level=logging level 为将要执行的job设置日志级别,取值如下 Error:只显示错误 Nothing:不显示任何输出 Minimal:只使用最少的记录 Basic:这是默认的基本日志记录级别 Detailed:详细的日志输出 Debug:以调试为目的,非常详细的输出 Rowlevel:使用行级记录,会产生大量的数据。
  • 7. 命令行选项选择资源库 -rep=Repository name 使用给定的“Repository name”连接资源库。 你也必须指定-user,-pass,-dir,-job选项。 你也可以用环境变量KETTLE_REPOSITORY的形式来执行此选项。
  • 8. 命令行选项设置资源库用户名 -user=username 指定连接资源库的用户名,也可以使用环境变量KETTLE_USER的形式指定。 设置资源库密码 -pass=password 指定连接资源库的密码,也可以使用环境变量KETTLE_PASSWORD的形式指定。
  • 9. 命令行选项选择要运行的资源库job -job = job name 使用此选项来从资源库中选择要运行的job,请同时使用“-dir”选项来指定目录。 设置资源库目录 -dir=diretory 指定资源库中使用的目录,目录指定如下 根目录:/ 子目录:/production/Dimensions 从2.2.2版本开始,在所有平台上使用/作为目录分隔符
  • 10. 命令行选项列出资源库中所有目录 -listdir=Y 打印 -dir”选项指定目录下的所有子目录。 列出资源库下的jobs -listjobs=Y 显示 “-dir”选项指定目录下的所有jobs.
  • 11. 命令行选项列出可用的资源库 -listrep=Y 打印定义的所有资源库列表 不记录日志到资源库 -norep=Y 如果您已设置的环境变量KETTLE_REPOSITORY , KETTLE_USER , KETTLE_PASSWORD ,可以防止向资源库中写日志。例如,如果你想从一个XML文件中启动job。
  • 12. 路径运行下面例子之前,确保当前路径在kettle安装路径下。 如果kettle安装在windows平台d:下 D: Cd \kettle 如果安装在unix系统的、product目录下 cd /product/kettle/
  • 13. 从文件运行job这个例子在widows平台上从文件运行job. Kitchen.bat /file:d:\jobs\updatewarehouse.kjb /level:Basic 这个例子在linux平台下从文件运行job Kitchen.sh –file=/prd/updatewarehouse.kjb –level=Minimal
  • 14. 从资源库运行job这个例子在windows平台上从资源库运行job. Kitchen.bat /rep:”production repository” /job:”Update dimensions” /dir:/Dimensions /user:matt /pass:somepassword123 /level:Basic
  • 15. 重定向输出如果你不想文件输出直接显示在屏幕上而是输出到一个日志文件中,你可以使用重定向。 这个例子增加kitchen输出到不断增长的日志文件: Kitchen.sh –file=“prd/updatewarehouse.kjb” –level=Minimal >>/Log/trans.log 这个例子没次重写输出到文件 Kitchen.bat /file:c:\prd\runall.kjb /level:Basic >C:\log\trans.log
  • 16. 返回状态码Kitchen会基于执行状况返回一个错误码。 0:job执行成功 1:处理过程中发生错误 2:在装载或者运行时发生意外的错误 7:job不能从资源库或xml中装载 8:装载步骤或插件错误(通常是装载其中一个插件错误) 9:命令行用法错误
  • 17. 调度在windows上job调度 最好的方法是首先在dos下测试命令 之后你可以使用windows调度器运行命令 自从windows 2000之后控制面板中提供了gui,不过你仍然可以使用下面的命令 At 23:30 /every:Moday,Wednesday,Friday “D:\updateWarehouse.bat” 查看预定的命令列表只需输入 at
  • 18. Unix上调度job首先创建一个shell脚本运行你需要的所有job,之后你可以调度这个脚本运行,在unix系统上最简单的方法调度一个命令使用”cron table”,你可以通过下面命名使用它。 Crontab –e 之后你可以输入执行时间。选项如下 Minute:0-59 Hour:0-23 Month day:1-31 Month:1-12 Weekday:0-6,0=sunday