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
之前使用 UpdateRecord
将 control_number
、file_name
和 source
字段添加到每条记录,设置填充 "Replacement Value Strategy" 属性 到 "Literal Value" 并使用表达式语言将值设置为相应的属性。
例如,您可以将用户定义的 属性 /file_name
设置为 ${filename}
,这会将 file_name
字段添加到每个记录并设置值到 FlowFile 的 "filename" 属性中的任何内容。
我有 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
之前使用 UpdateRecord
将 control_number
、file_name
和 source
字段添加到每条记录,设置填充 "Replacement Value Strategy" 属性 到 "Literal Value" 并使用表达式语言将值设置为相应的属性。
例如,您可以将用户定义的 属性 /file_name
设置为 ${filename}
,这会将 file_name
字段添加到每个记录并设置值到 FlowFile 的 "filename" 属性中的任何内容。