Display 和 shell 都是swt 里面的对象,你只用知道他们是表示UI的就可以了. DateFromProposal和DateToProposal都是前面传过来的字段,dateFromAsString和dateToAsString都是需要输出的内容,整个脚本只是简单的取了两个日期变量的时间部分,使用了字符串操作的substr()函数。 其中有三点需要注意: 1. dialog对象的初始化方式:使用的构造函数类型为
EnterTextDialog(Shell parent,String title,String message,String text) ,另一种构造函数类型是加一个参数fixed :
EnterTextDialog(Shell parent,String text,boolean fixed) fixed代表字体是否用固定宽度,text参数代表的是输入在对话框里面的值,一般可以默认为空或输入一段用户提示信息,例子中是设置成原先转换之前的值,相当于默认值。 2. 使用open()函数取得输入值 我们调用dialog 的open()函数取得输入的值。 3. 异常的处理方式 基本上是一个标准的java 语法的try catch throw . 最后运行一下并查看输出,运行的时候什么都不输入接受默认值就可以了,最后查看输出,以下是文本方式的输出,以分号分割
DateFromProposal;DateToProposal;dateFromAsString;dateToAsString 2006/01/01 00:00:00.000;2006/12/31 00:00:00.000;2006/01/01;2006/12/31 最后需要注意的是这种方式的实现可能将来会直接用一个新的step来实现,不用这样写脚本。
调试
调试可不是程序的专利,ETL过程同样需要调试过程,Kettle同样支持比较简单的调试过程,你可能已经发现了在菜单下面的工具栏下面有一个debug 和preview 按钮来支持调试过程,这种调试的技巧同样可以用来帮助你完成一些复杂的ETL工程,下面以一个例子来解释调试过程. 首先,打开samples / add sequence specify a common counter.ktr 文件,你会发现一个定义了两个sequence 的转换,点击debug按钮,它会弹出一个Transformation debug dialog 窗口。

这个窗口左边列出了在这个转换中所有的步骤,我们选取Generate ID 步骤,然后设置断点的条件: Kettle支持两种断点的方法,一种基于限定结果集的数量大小,另一种是基于条件的判断过程。 我们选择基于结果集大小的方式,只查看前面5条数据。 你会看到Kettle列出了Generate ID 步骤产生的前面5条数据,

从上图中可以看到这个generate id 步骤产生了5个值并不是连续的,下面的按钮Close,Stop 可以控制当前线程是继续还是停止.
利用调试的方法可以帮住我们设计一些需要基于条件判断的复杂ETL过程,我们使用调试的方法来查看数据中是否可能存在某些特定数据,以此来设计一些ETL过程针对这些数据进行处理。
(编辑:鹤壁站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|