Kettle使用_20 笛卡尔积与前一行后一行Lead Lag
需求:通过Kettle通过两种数据源(其中一个是随机数)实现120条记录并生成两列,分别对应每条记录的前一行和后一行。
解决方法:通过Kettle的生成记录、增加序列、生成随机数、关联(笛卡尔积)、前后行查询组件来解决。
Step1:新建个转换
Step2: 拖个生成记录组件,(该组件位于转换的输入分类下),配置如下:
Step3: 拖个增加序列组件,(该组件位于转换的转换分类下),SHIFT连接生成记录与该组件。配置如下:
扫描二维码关注公众号,回复:
12408374 查看本文章

Step4: 拖个生成记录组件,(该组件位于转换的输入分类下),配置如下:
Step5: 拖个生成随机数组件,该组件位于转换下的输入分类下。SHIFT与生成40条记录相连。配置如下:
Step6:拖个笛卡尔输出组件,该组件位于转换的连接分类下。SHIFT连接生成序列字段组件与生成随机数组件。 配置关联笛卡尔积组件如下:
Step7:拖个排序组件,SHIFT连接笛卡尔组件,配置如下:
Step8:拖个分析查询(实际应该是前后行查询)组件,SHIFT连接之前的排序组件,配置如下:
Step9:保存、运行、验证转换。
完整流程示意: