在NiFi中映射数据库表

时间:2017-11-06 03:11:09

标签: database mapping lookup apache-nifi

这是我的要求。 我在Vertica中有一个大表说base_table如下。 base_table

ID |路径|服务|经验

20 | / abc / xyz | trz |适度
22 | / wer / cmz | brd |专业

映射表

map_table1

path_id |路径

1 | / ABC / XYZ

map_table2

exp_id |经验

1 |初学者

决赛桌

ID | path_id |服务| exp_id

20 | 1 | trz | -

22 | - | brd | 2

在第一种情况下,我需要将ID设置为1,因为map_table1中存在路径列以及基表,并将该记录插入到最终表中。

在第二种情况下,我需要在map_table2中插入id为2,因为该表中不存在体验专业人员以及将其插入到最终表中。

我应该选择哪些处理器或Nifi中的流程如何?

1 个答案:

答案 0 :(得分:0)

我不确定我是否正确理解了您的问题,但是如果我将这种情况概括化,则希望插入一条不存在的记录,然后获取相应ID的值(可能存在或可能不存在)之前)。

好消息是NiFi可以轻松地与Vertica之类的数据库一起使用,看看QueryDatabaseTable处理器。

然而,这里的挑战是NiFi旨在有效处理许多单独的消息,因此其设计并不是非常了解上下文。对于您的用例,您可能需要使用为与表一起使用而构建的工具。通常,解决方案为Spark,或者可以通过一些过程将其内置到数据库中。