Apache nifi 在单个Nifi流中加载具有不同列的输入文件

Apache nifi 在单个Nifi流中加载具有不同列的输入文件,apache-nifi,Apache Nifi,我有一些不同列名的输入文件。我可以创建一个通用的Nifi流来处理所有类型的文件吗?每个文件将有不同类型的列和要加载的不同类型的输出表。例如,文件1将有A列、B列加载到表AB,文件2将有C列、D列、E列加载到表CDE。我可以在单个流中实现这一点,还是应该为不同类型的文件创建不同的流?我是Nifi的新手,请建议。您应该能够使用单个流来完成此操作,也许可以使用RouteOnContent来查找头文件,以便知道它是哪种类型的文件。每个传出连接将对应于不同类型的文件/输出表,因此您可以在每个传出连接的另一

我有一些不同列名的输入文件。我可以创建一个通用的Nifi流来处理所有类型的文件吗?每个文件将有不同类型的列和要加载的不同类型的输出表。例如,文件1将有A列、B列加载到表AB,文件2将有C列、D列、E列加载到表CDE。我可以在单个流中实现这一点,还是应该为不同类型的文件创建不同的流?我是Nifi的新手,请建议。

您应该能够使用单个流来完成此操作,也许可以使用RouteOnContent来查找头文件,以便知道它是哪种类型的文件。每个传出连接将对应于不同类型的文件/输出表,因此您可以在每个传出连接的另一端设置UpdateAttribute,以设置表名等属性,可能是记录模式(如果使用基于记录的处理器,我建议),然后,您可以使用漏斗合并子流,或者只将所有传出连接连接到下一个下游处理器(例如PutDatabaseTable)

如果您根本不想分割流,那么您可能需要做相同的工作,即识别文件类型和设置属性,但要从单个脚本(例如使用ExecuteScript)开始。在任何情况下,下游处理器都应该能够使用属性,以便同一处理器可以适当地处理不同的文件类型