我将解释我的用例,以了解要使用的数据库提取实用程序。
我每天需要以不同的频率从SQL Server表中提取数据。每个提取查询是一个复杂的SQL语句,在联接等中涉及5-10个表,原因多种多样。总体上大约有20-30条这样的陈述。
可能要求所有这些提取查询每天运行多次,并且每天运行的频率不同。这取决于我们从源系统或其他情况接收数据的次数。
我们计划使用Kafka发布消息,以便每当RDBMS表更新并且需要触发流量时就让Nifi工作流知道(我不能仅基于“增量”列值触发Nifi流,可能只有所有行更新方案,我们可能不会在表中创建新行。
我应该如何设计Nifi。有ExecuteSQL / GenerateTableFetch / ExecuteSQLRecord / QueryDatabaseTable各种组件可用。哪一个最适合我的要求?
谢谢!
答案 0 :(得分:0)
我建议您使用ExecuteSQL。您可以从属性设置查询,也可以使用属性进行查询。最简单的方法是创建json,然后解析该json并创建属性。检查此示例,这是从文件创建的sql,您可以对其进行调整以从kafka link创建它