我有csv文件,我想使用NiFi将文件的内容及其元数据(文件名,源(要硬编码),控制号(文件名的一部分-要从文件名本身提取))一起移动。这是示例文件名和布局-
文件名- 12345_user_data.csv(control_number_user_data.csv)
source-纽约
CSV文件内容/列-]
字段- abc1,abc2,abc3,abc4]
values- 1,2,3,4
Postgres数据库表布局
表名- User_Education
字段名称-
控制编号,文件名,源,abc1,abc2,abc3,abc4
值-]
12345,12345_user_data.csv,纽约,1,2,3,4
我计划在以下处理器上使用-
ListFile
FetchFile
UpdateAttributes
PutDatabaseRecords
LogAttributes
但是我不确定如何将实际内容与元数据结合起来以加载到一个表中。请帮助
您可以在UpdateRecord
之前使用PutDatabaseRecord
将control_number
,file_name
和source
字段添加到每个记录,将填充的“替换价值策略”属性设置为“文字价值”并使用表达式将值设置为相应属性的语言。
例如,您可以将用户定义的属性/file_name
设置为${filename}
,它将为每个记录添加file_name
字段,并将该值设置为FlowFile的“文件名”属性中的任何值。