shr*_*ads 3 mysql apache apache-nifi
我有一个流Getfile -> PutDatabaseRecord,我有一个包含如下字段的 CSV:
模块编号、位置、机器名称、机器类型
我想在我的数据库表“Test”中提取这些字段的值,该表的字段描述为:
Module_No,Pos,Machine_Name,Machine_Type
所以这里是字段名称的更改。在 Putdatabaserecord 中设置什么设置才能成功将数据摄取到 mysql 表中。
现在我收到错误,因为模块号不能为空。如何修复原始 CSV 和 MySQL 表中标题名称的这种更改。谢谢!
在 PutDatabaseRecord 中,您可以将架构配置为使用出现在数据库中的字段名称,并忽略标题名称(略有不同)。如果您Get String Fields From Header用作架构访问策略,Use Schema Text请将其更改为并将以下内容放入架构文本属性中:
{
"namespace": "nifi",
"name": "machine",
"type": "record",
"fields": [
{"name": "Module_No","type": "string"},
{"name": "Pos","type": "string"},
{"name": "Machine_Name","type": "string"},
{"name": "Machine_Type","type": "string"}
]
}
Run Code Online (Sandbox Code Playgroud)
然后设置Treat First Line As Header为true并设置Ignore CSV Header Column Names为true。然后将使用与数据库中的列匹配的显式字段名称读入记录,并且处理器应该可以正常工作。
| 归档时间: |
|
| 查看次数: |
2556 次 |
| 最近记录: |