如果我们清洗的数据是多个维度的,那么很有可能对数据进行关联得到一张最终表进行分析。
比如
回答集合的数据里有如下字段
id optionId user
包含了 谁 回答了哪个问题,选项是什么。

选项集合的数据里有如下字段
id question option

我们最终希望得到的数据集合是
id question option user

那么就需要对两个集合进行关联

新建流程如下:

kettle案例六数据表关联--排序记录-记录集连接-过滤记录_字段

排序记录

排序记录只需要指定排序字段和方向即可,其他临时目录可以使用默认目录。

kettle案例六数据表关联--排序记录-记录集连接-过滤记录_数据_02

记录集连接

记录集连接可以实现数据集合的关联,也分为内连接,左连接,右连接,外连接。

我们这里以用户回答为主表,则选择左连接即可。

连接字段就是集合一与集合二哪个字段相等时合并成一条记录。

这里是回答集合的optionId和选项集合的id

kettle案例六数据表关联--排序记录-记录集连接-过滤记录_数据_03

过滤记录

把两个集合连接关联起来之后我们发现有些脏数据存在,就是一些老的用户回答没有对应的问题和选项,那么这部分数据我们是不存入数据库的,则在入库之前需要对数据进行过滤。

新建过来记录流程如下:

kettle案例六数据表关联--排序记录-记录集连接-过滤记录_数据集_04

填写过滤的条件即可。

我们这里判断条件是

option 不为空时 为true,然后把为true的数据传送到下一步MongoDB Output里。

如下:

kettle案例六数据表关联--排序记录-记录集连接-过滤记录_字段_05