在Apache NiFi中,您可以使用UpdateRecord处理器将外部文件映射到新的列。下面是一个示例解决方法,其中包含了使用UpdateRecord处理器的代码示例:
首先,将一个GetFile处理器配置为获取外部文件。您可以在GetFile处理器的属性中指定要获取的文件的路径。
接下来,将一个UpdateRecord处理器添加到流程中。将Success关系从GetFile处理器连接到UpdateRecord处理器。
在UpdateRecord处理器的属性中,将Record Reader属性设置为CSVReader或其他适用于您的文件格式的读取器。
在UpdateRecord处理器的属性中,将Record Writer属性设置为CSVRecordSetWriter或其他适用于您的文件格式的写入器。
在UpdateRecord处理器的属性中,将Record Reader和Record Writer的Schema Access Strategy属性都设置为Inherit Record Schema.
在UpdateRecord处理器的属性中,将Replacement Value Strategy属性设置为Record Path Value。
在UpdateRecord处理器的属性中,将Record Path设置为要映射到新列的路径。例如,如果您的外部文件具有以下内容:
column1,column2
value1,value2
您可以将Record Path设置为/column1,这将映射外部文件中的column1值到新列。
在UpdateRecord处理器的属性中,将New Column设置为要创建的新列的名称。例如,您可以将New Column设置为new_column。
将UpdateRecord处理器的输出连接到其他处理器,以便继续处理新列。
这样,当流程运行时,UpdateRecord处理器将从外部文件中读取记录,并根据指定的Record Path将外部文件中的值映射到新列中。您可以根据需要使用其他处理器来进一步处理新列的值。