gpt4 book ai didi

apache-nifi - Apache NiFi : Add column to csv using mapped values

转载 作者:行者123 更新时间:2023-12-02 03:07:36 25 4
gpt4 key购买 nike

使用 GetFile 处理器将 csv 带入 NiFi 工作流程。我有一个由“id”组成的列。每个 id 表示一个特定的字符串。大约有 3 个 ID。例如,如果我的 csv 包含

name,age,id
John,10,Y
Jake,55,N
Finn,23,C

我知道 Y 表示 York,N 表示 Old,C 表示 Cat。我想要一个标题为“nick”的新列,并且每个 ID 都有相应的昵称。

name,age,id,nick
John,10,Y,York
Jake,55,N,Old
Finn,23,C,Cat

最后,我想要一个包含额外列和每条记录的适当数据的 csv。这怎么可能使用 Apache NiFi。请告诉我必须使用的处理器和必须更改的配置才能完成此任务。

最佳答案

流程:

  • 添加一个新的昵称列
  • 将 id 复制到 nick 列
  • 查看每一行并将 id 与其对应的值匹配
  • 将这个值设置到昵称列的当前行

您可以使用 ReplaceText 来实现这一点或 ReplaceTextWithMapping .我用 ReplaceText 来做:

enter image description here

UpdateRecord 将解析 csv 文件,添加新列并复制 id 值:

enter image description here

创建一个 CSVReader 并保留默认属性。创建一个 CSVRecordSetWriter 并将 Schema 访问策略设置为 Schema Text。将架构文本属性设置为

{
"type":"record",
"name":"foobar",
"namespace":"my.example",
"fields":[
{
"name":"name",
"type":"string"
},
{
"name":"age",
"type":"int"
},
{
"name":"id",
"type":"string"
},
{
"name":"nick",
"type":"string"
}
]
}

请注意,它有新列。最后用映射替换原始值:

enter image description here

PS:我注意到你是 SO 的新手,欢迎!在您之前的任何问题中,您都没有接受一个单一的答案。如果他们解决了您的问题,请接受他们,因为这将帮助其他人找到解决方案。

关于apache-nifi - Apache NiFi : Add column to csv using mapped values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58554652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com