Nifi:如何使用 NiFi 将 CSV 内容及其元数据移动到 Postgres 数据库中的单个 table

Nifi : How to move CSV content and its meta data to single table in Postgresdatabase using NiFi

我有 csv 文件,我想移动文件的内容及其元数据(文件名、源(要硬编码)、控制号(文件名的一部分 - 从文件名本身提取) 使用 NiFi。这里是示例文件名和布局 -

文件名-12345_user_data.csv(control_number_user_data.csv)

来源-纽约

CSV 文件 Content/columns -

字段 - abc1、abc2、abc3、abc4

值 - 1,2,3,4

Postgres 数据库table 布局

Table姓名-User_Education

字段名称 -

control_number、file_name、来源、abc1、abc2、abc3、abc4

值 -

12345,12345_user_data.csv,纽约,1,2,3,4

我打算使用以下处理器 -

列表文件

获取文件

更新属性

PutDatabaseRecords

日志属性

但我不确定如何将实际内容与元数据结合起来加载到一个单独的文件中 table。请帮忙

您可以在 PutDatabaseRecord 之前使用 UpdateRecordcontrol_numberfile_namesource 字段添加到每条记录,设置填充 "Replacement Value Strategy" 属性 到 "Literal Value" 并使用表达式语言将值设置为相应的属性。

例如,您可以将用户定义的 属性 /file_name 设置为 ${filename},这会将 file_name 字段添加到每个记录并设置值到 FlowFile 的 "filename" 属性中的任何内容。