Apache Nifi - 从单个流中的多个表中读取数据

问题描述:

我打算将Apache Nifi用于数据提取用例。来源可能是平面文件和Teradata数据库,并且输出接收器将是Oracle数据库。我创建了几个流程,使用GetFile和Teradata数据库使用ExecuteSQL从平面文件中读取数据,并使用PutSQL将数据加载到Oracle数据库。一切似乎都工作正常。我们预测未来的源系统可能会发生变化,我注意到Nifi提供的处理器可以支持这些来源。Apache Nifi - 从单个流中的多个表中读取数据

现在我的问题是,是否有可能从Teradata数据库读取多个表,并将数据加载到单个Nifi流中的oracle数据库中的多个表中?我已经为每个表建立了单独的流程,它似乎工作正常。

您使用的是什么版本的Nifi?如果您为每个表使用ExecuteSQL,并且最近版本的NiFi(1.0.0和更高版本)可以使用ListDatabaseTables处理器,然后ReplaceText创建SQL语句以获取该表的行(使用NiFi Expression Language),然后将它发送给ExecuteSQL来执行读取操作,无论下游处理器如何,都必须将这些行放到Oracle表中。