在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
将外部文件中的值映射到新列中。您可以根据需要使用其他处理器来进一步处理新列的值。