NiFi-用于100个表的QueryDatabaseTable-通用解决方案

NiFi-用于100个表的QueryDatabaseTable-通用解决方案,database,etl,apache-nifi,Database,Etl,Apache Nifi,目前有一个从数据库读取数据并将数据放入HDFS的流。 决定使用QueryDatabaseTable,因为: 保留用于增量负载的状态 还有微调 当表格在100万条记录中时 我的问题是,我现在有100个表需要相同的流(DB=>HDFS)。我不想创建相同的流100次。我已经研究过哪一个是完美的,但QueryDatabaseTable似乎不接受任何输入 有人遇到过类似的情况吗?QueryDatabaseTable用于对表进行增量加载,因此必须维护表的状态,以便它现在可以在下次执行时检索什么。因此,它

目前有一个从数据库读取数据并将数据放入HDFS的流。 决定使用QueryDatabaseTable,因为:

  • 保留用于增量负载的状态
  • 还有微调 当表格在100万条记录中时
我的问题是,我现在有100个表需要相同的流(DB=>HDFS)。我不想创建相同的流100次。我已经研究过哪一个是完美的,但QueryDatabaseTable似乎不接受任何输入


有人遇到过类似的情况吗?

QueryDatabaseTable用于对表进行增量加载,因此必须维护表的状态,以便它现在可以在下次执行时检索什么。因此,它不能允许动态表,因为这样就需要保持无限量的状态


ListDatabaseTables更多地与GenerateTableFetch和ExecuteSQL一起使用,用于批量加载DB表。

谢谢您的回答。但是GenerateTableFetch也保持状态正确吗?使用与QueryDatabaseTableYes GenerateTableFetch保持状态相同的
最大值列
,您只需要在每个列中包含一个流文件属性,该属性指定该表的最大值列,并在表达式语言表达式中为最大值列属性使用该属性。该答案表示“QueryDatabaseTable不能允许动态表,因为这样需要保留无限量的状态。”。。那么,GenerateTableFetch与GenerateTableFetch有什么区别,因为它也保持相同的状态?