<文章翻译自官方文档>  官方文档链接

Pan使用文档

1.什么是Pan?

  Pan是可以执行转换的程序,转换可以使Spoon设计出来的ktr格式文件也可以是资源库里的。通常转换都是以一定间隔时间去计划执行的(通过PDI企业版资源库计划功能,或者第三方工具像Cron和windows任务计划功能)。

2.安装

  第一步安装Oracle公司的java 1.7以上运行环境。之后,选择一个版本下载并解压 PDI software: pdi-ce-VERSION.zip压缩包,在解压文件夹里面你会发现许多文件(废话)。

  当你使用Unix风格运行环境(Solaris,Linux,OSX,...),需要给shell脚本执行权限,可以执行下面的命令让kettle文件夹下所有的shell脚本有执行权限;

cd data-integration
chmod +x *.sh

2.1启动Pan

  为了在不同平台使用,Kettle提供了不同的启动方式:

  • Pan.bat :windows 平台运行
  • pan.sh :Unix平台和OSX平台运行

  Pan能够在安装有Java 1.7以上的任何平台运行。

3.命令行操作选项

  以下是你可以使用的命令行操作选项。

重要提示:

  • 在windows平台上,在选项中使用(“-”)减号和等号(“=”)有问题,所以从2.2.2开始,新增加选项中可以使用斜线(“/”)和冒号(“:”);
  • 斜线后面跟的是选项字段
  • 如果选项值中存在空格,使用单引号或者双引号将他们包起来,看下面的例子了解更多。
/option:value

  以下为有效的选项。

3.1显示版本信息

-version

  这个选项显示了Kettle核心二进制文件(kettle.jar)的版本。也显示了编译版本号以及编译时间等等。

3.2启动XML文件

-file=filename

  这个选项启动定义好的XML文件(.ktr:Kettle的转换文件)

3.3命名参数

-param

  你可以命名一个参数并赋值,举个例子:-param:FOO=value

-listparam

  列出制定指定转换中所有的命名参数(名字,默认值以及描述)

3.4设置日志文件

-log=Logging Filename

  指定日志文件,默认是标准输出。

3.5设置日志等级

-level=Logging Level

  这个等级选项可以设置在运行转换的日志等级。以下是可以取的值:

  • Error:只显示错误信息
  • Nothing:不做任何日志输出
  • Minimal:仅仅最小输出
  • Basic:基本信息输出,默认日志级别
  • Detailed:详细日志输出
  • Debug:调试使用,非常详细
  • RowLevel:行级别日志,会产生大量日志

3.6选择一个资源库

-rep=Repository name

  使用资源库名字连接至资源库,同时你也需要指定下面的操作选项  --user , --pass 以及 --trans 。你也可以在环境变量中指定 KETTLE_REPOSITORY 这些操作选项值。

3.7设置资源库的用户名

-user-Username

  这个是你想要连接的资源库的用户名,你也可以在环境变量中指定 KETTLE_USER。

3.8设置资源库密码

-pass=Password

  这是你想连接的资源库的用户密码,同样你也可以在环境变量中指定 KETTLE_PASSWORD。

3.9选在资源库中的转换启动

  

-trans=Transformation Name

  利用这个操作选项可以选择资源库中的转换。

3.10列出资源库中所有目录

-listdir=Y

  在使用 -dir 时,打印出资源库目录下所有子目录。

3.11设置资源库目录

-dir=directory

  指定资源库目录,资源库目录可以像是这样的:

  • 根目录:/
  • 子目录:/production/Dimensions/

  从2.2.2版本开始,分隔符 / 可以被用到各种平台。

3.12列出资源库下所有转换

-listtrans=Y

  在使用 -dir 时,列出资源库目录下所有的转换。

3.13列出所有可用的资源库

-listrep=Y

  列出所有的已经定义的资源库

3.14导出整个资源库

-exprep=filename.xml

  这个操作选项导出整个资源库至一个XML文件,回复成资源库需要使用Spoon的资源库管理器,详情参见Spoon文档。

3.15日志禁止写入资源库

-norep=Y

  如果你已经设置了环境变量 KETTLE_REPOSITORY, KETTLE_USER, KETTLE_PASSWORD, 你可以阻止 pan 将日志写入到资源库。举个例子,如果你想执行一个xml文件格式的转换。

4.路径 

  在运行以下例子之前,请确保你在data-integration目录下。如果你将这些脚本文件放到批处理或者shell脚本中,将会很容易修改目录为安装目录。
  如果data-integration被安装在 D:\ drive

D:cd \data-integration

  如果data-integration 被安装在Unix系统的 /product 目录下:

cd /product/data-integration/

5.从文件运行转换

  从windows平台运行一个转换文件

pan.bat /file:"D:\Transformations\Customer Dimension.ktr" /level:Basic

  在Linux平台上运行一个转换文件

pan.sh -file="/PRD/Customer Dimension.ktr" -level=Minimal

6.从资源库运行一个转换

  这个例子是在Windows平台从资源库运行一个转换(一行输入没有返回...)

pan.bat /rep:"Production Repository"/trans:"update Customer Dimension"/dir:/Dimensions//user:matt/pass:somepassword123/level:Basic

7.重定向输出

  如果你不想输出出现在屏幕,更想输出到日志文件,你可以使用重定向。这个例子添加pan的输出到一个不断增长的日志文件。

pan.sh -file="/PRD/trans.ktr" -level=Minimal >> /LOG/trans.log

  这个例子将pan输出每次重写进文件

pan.bat /file:C:\PRD\trans.ktr /level:Basic > C:\LOG\trans.log

8.返回码

  pan 基于异常事件返回相应的错误码:

  • 0:转换运行正常
  • 1:处理过程中出错
  • 2:在加载/运行转换过程中发生意外错误
  • 3:无法解析和初始化此转换
  • 7:无法从XML或资源库加载转换
  • 8:加载步骤或插件时出错(主要是加载其中一个插件时出错)
  • 9:Command line usage printing

9.定时调度(scheduling)

9.1在windos平台上定时调度转换

  最好的方法是先在DOS提示符下测试命令。然后,您可以使用Windows任务调度程序启动此命令。Windows 2000版本之后有一个GUI,通过控制面板可以做到这一点。它也可以使用命令行来做这个:

at 23:30 /every:Monday,Wednesday,Friday "D:\update_dimensions.bat"

  查看定时调度命令清单(To see a list of the scheduled commands simply type):

at

9.2在Unix平台上定时调度一个转换

  首先创建一个shell脚本来运行所有的转换,然后你只需要定时调度运行这个shell脚本就可以了。

  在Unix平台最简单的定时调度命令方式是使用cron 表达式,你可以使用下面的命令:

crontab -e

  然后你可以在命令中输入你要运行的时间(Then you can enter the time at which the command needs to be run as well as the command
on a single line in the text file that is presented)

  • Minute:分钟,0-59
  • Hour:小时,0-23
  • Month day:天,1-31
  • Month:月, 1-12
  • Weekday:周, 0-6, 0=星期天

  你可以为每一个参数指定一个数字以上的值,两个数字使用连字符 - 分隔起来,这意味着是一个数字范围。如果你使用逗号分隔两个数字,这意味着可以取不同的值。如果你使用 * 代替一个数字,意味着可以取任意的小时、分钟、天、月或者周。

  因此,如果你想在每周工作日每个小时在15分和45分时更新dimensions ,可以输入下面的cron命令:

#
# Launches the update of the dimensions in the warehouse
#
15,45 * * * 1-5 /PROD/update_dimensions.sh
#

转载于:https://www.cnblogs.com/xiaopan-cp9/p/7608203.html

【Kettle】第一篇,Pan 的使用相关推荐

  1. ETL第一篇(Kettle Spoon) 初遇

    ETL第一篇(Kettle Spoon) 初遇 ETL第二篇 调用webservice 简介 Kettle 是一款国外开源的 ETL 工具,纯 Java 编写,绿色无需安装,数据抽取高效稳定(数据迁移 ...

  2. 编程书籍阅读随谈(第一篇)

    做.NET程序员也有几年了,从在大学到现在读过的编程书也的确有不少,读过.NET.Java.Python.Node.JS.底层原理等等的书籍.不知道自己学习的怎么样,但是也的确去学习过这些东西. (备 ...

  3. Python人工智能第一篇:语音合成和语音识别

    Python人工智能第一篇:语音合成和语音识别 ​此篇是人工智能应用的重点,只用现成的技术不做底层算法,也是让初级程序员快速进入人工智能行业的捷径.目前市面上主流的AI技术提供公司有很多,比如百度,阿 ...

  4. 2020年我的第一篇博客日报

    博客日报缘由 谈起博客我们常想到CSDN.博客园.github等 谈起日报.周报我们自然想到了,工作工作工作... 但是谈起博客日报,那又是什么呢? "博客日报"不知道有没有这个词 ...

  5. 计算机网络原理第一篇 概述

    计算机网络原理第一篇. 第一章: - 1.1 计算机网络在信息时代中的作用 .21世纪的一些重要特征是..数字化.网络化.和信息化,他是一个以..网络为核心的信息时代. .网络现在已经成为信息社会的命 ...

  6. Java小白入门系列 第一篇 写在前面

    2018年8月30日  22:00:17 郑州  多云 Sue Java小白入门系列 第一篇  写在前面 写在前面: 首先声明一下,本人也是正在学Java,并不是多么专业人士,只是最近受老师的启发,所 ...

  7. 决策树经典算法ID3——我的第一篇博客

    简介 决策树是机器学习中一种常见的分类算法,属于有监督学习算法(至于什么是有监督学习,什么是无监督学习读者可以自行百度).决策树算法有多种,ID3算法是其中一种经典的决策树算法,这种算法的核心是信息熵 ...

  8. 属于窄带噪声的是热噪声_时钟201系列: 非相位噪声的情况 (第一篇)

    欢迎来到Silicon Labs(亦称"芯科科技")的新系列博客文章"时钟201"的第一篇内容-非相位噪声的情况-第一部分.我们之前的系列博文"时钟1 ...

  9. linux的自定义input,Linux Input子系统之第一篇(input_dev/input_handle/input_handler)

    Input子系统是linux kernel中与部分外围器件驱动联系比较紧密的模块,常用于Sensor,TP(touch panel),power key等器件的驱动.这类模块有个共同特点:字符设备,且 ...

  10. 第一篇文章,做个纪念

    第一篇文章,做个纪念,这个blog好吗?拭目以待! 转载于:https://blog.51cto.com/197536/88241

最新文章

  1. Akamai CDN技术调研
  2. python 二叉树遍历
  3. 《数字短片创作(修订版)》——第一部分 剧本创作 第1章 数字短片创意技法 剧本创作的构思...
  4. exists的用法 python_5 年 Python ,总结的 10 条 Python 使用技巧
  5. (求助)請問DE2-70版子 音樂合成器
  6. [virtualbox] win10与centos共享目录下,nginx访问问题
  7. Java 语法 索引 ----- 继承(Inheritance) 和重写(Overriding)
  8. Microsoft JET Database Engine 错误 '80040e09' 解决方法
  9. 【0x50 动态规划】Mobile Service【线性DP】
  10. 训练集和测试集的划分
  11. 就晚间宿舍熄灯时间调查
  12. jpa+hibernate整合达梦数据库(附源码)
  13. Android源码解析系列
  14. golang consul 观察者watch
  15. 程序员的呐喊--读书感悟
  16. 利用Http实现屏幕监控
  17. 【matlab图像处理】理想低通滤波器
  18. 人人都能当“苍天哥” 手把手教你制作游戏视频
  19. 创始团队如何保持对公司的控制权?Snapchat这里可能有一份指南
  20. 程序员男友“嫌”我收入低,劝我转行互联网,我该听他的吗?

热门文章

  1. x+=y与x=x+y有什么区别?
  2. RN性能优化以及事件监听
  3. LeetCode(965)——单值二叉树(JavaScript)
  4. Wampserver 下载安装!!!踩坑总结系列
  5. 小程序本地图片偶尔加载不出来_小程序优化的20中策略
  6. 给你工资1000一天,让你在没有网络手机电脑的大山里做森林管理工作半年,你愿意吗?
  7. 上了高中应该注意什么?
  8. 现在70岁左右的人算不算是老年人?
  9. 楼房顶顶面起渣是何原因?怎么修补?
  10. 你以为写小说就只有一种签约方式?