在Nifi中执行复杂连接

时间:2018-11-07 16:40:28

标签: apache-nifi

我对Nifi还是陌生的,我试图对有多个表并从每个表中选择属性的SQL服务器执行SQL。我们如何在Nifi中执行此操作。我看到的是“ Generate Table Fetch”,它允许我提及“ Table Name”及其“ Where Clause”。不确定,如果涉及多个表,我们如何执行复杂的联接。

示例-

Select 
a.col1,
a.col2,
b.col3,
b.col4,
c.col5,
c.col6
from a left outer join b
on a.colx=b.colx
inner join c
on a.coly = c.coly
where exists (some condition etc)

谢谢, 悉达多

1 个答案:

答案 0 :(得分:1)

使用 ExecuteSQL/ExecuteSQLRecord(NiFi-1.8+) 处理器,并将查询保留在SQL select query属性中。

配置/启用 dbcp连接池

请紧记 ExecuteSQL 处理器不存储状态

  • 因此,如果要增量运行处理器,则需要将状态存储在NiFi(或)外部,然后每次提取状态值并执行查询。

  • 请参阅this链接,以获取有关使用NiFi存储/获取状态的更多详细信息。