Apache NiFi:使用条件创建新列

问题描述 投票:0回答:1

我问了类似的问题。但是,我无法通过这种方法找到解决问题的方法。我有一个看起来像这样的csv:

studentID,regger,age,number
123,west,12,076392367
456,nort,77,098123124
231,west,33,076346325

我想添加新列并根据数字字段中的数据添加值。这是逻辑。

If the first 4 digits of data in the number column is equal to "0763" then the new column named (status) must be set as INSIDE or if it is any other value its OUTSIDE

如逻辑中所述,输出必须看起来像这样:

studentID,regger,age,number,status
123,west,12,076392367,INSIDE
456,nort,77,098123124,OUTSIDE
231,west,33,076346325,INSIDE

我的方法

我试图通过首先将数字列复制到状态列来实现这一点。然后尝试取前4位数字并进行处理。

希望您能够为Nifi Workflow提出一种建议,以实现这一目标。

csv apache-nifi
1个回答
0
投票

您可以尝试以下逻辑:-

SplitText->ExtractText处理器->RouteOnAttribute(如果前四个数字为0763,则添加条件)

-----匹配关系-> ReplaceText(从文件中提取的属性+“ INSIDE”)-> PutFile

-----不匹配关系-> ReplaceText(从文件中提取属性+“ OUTSIDE”)-> PutFile

希望这会对您有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.