我正在从数据库中读取数据,并使用QueryDatabaseRecord和ConvertRecord处理器将其制成csv 。
我想提取csv中的一列并用于命名我的CSV文件,该文件将通过PutFile或S3本地存储在我的系统中。
CSV看起来像
cola,colb,colc,date
A1,123,vin9,2020-02-04
A2,456,vin9,2020-02-04
A3,789,vin9,2020-02-04
我只想提取第一行的colc和date字段来为我的输出转储生成一个名为vin9-2020-02-04 .csv的文件名。
哪个处理器可以帮助我实现这一目标?谢谢!
我们可以使用ExecuteStreamCommand + UpdateAttribute
处理器来做到这一点!
Flows:
Option1:
1.QueryDatabaseRecord
2.ConvertRecord
3.ExecuteStreamCommand
Sample Shell Script:
该脚本获取文件内容,并且仅second line
进入流文件的attr
属性。
$ cat second_line.sh
#!/bin/sh
cat $1 |head -2|tail -1
4.UpdateAttribute:
添加新属性:
filename
${attr:replaceAll('.+?,.+?,(.*)','$1'):replace(',','-')}.csv
Updateattribute
处理器的输出流文件将具有所需的文件名。
Option2:
另一种方法是使用Extract Text
处理器:
将新属性添加为:
attr
^.*\r?\n(.*)
一旦我们获得了attr
作为第二行数据的值,则使用UpdateAttribute处理器更改文件名。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句