【问题标题】:Input files with different columns to be loaded in single Nifi flow在单个 Nifi 流中加载具有不同列的输入文件
【发布时间】:2020-09-03 22:14:20
【问题描述】:

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

【问题讨论】:

    标签: apache-nifi


    【解决方案1】:

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

    如果您根本不想拆分流程,您可能需要执行相同的工作来识别文件类型和设置属性,但要使用单个脚本(例如使用 ExecuteScript)。在任何情况下,下游处理器都应该能够使用 NiFi Expression Language 的属性,以便同一个处理器可以适当地处理不同的文件类型。

    【讨论】:

      猜你喜欢
      • 2016-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-12
      • 1970-01-01
      相关资源
      最近更新 更多