Nifi从CSV列值获取文件名

Cyber​​_Tron

我正在从数据库中读取数据,并使用QueryDatabaseRecordConvertRecord处理器将其制成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

我只想提取第一行的colcdate字段来为我的输出转储生成一个名为vin9-2020-02-04 .csv的文件名

哪个处理器可以帮助我实现这一目标?谢谢!

Shu

我们可以使用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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将数据导出到CSV文件并获取文件名

来自分类Dev

Windows Powershell Export-CSV列/行值作为文件名

来自分类Dev

从文件句柄值中获取文件名

来自分类Dev

Nifi:捕获文件名的中间部分

来自分类Dev

从目录到 .csv 列的文件名(每行文件名;无间隙行)

来自分类Dev

Git-通过文件名获取树的哈希值

来自分类Dev

Git-通过文件名获取树的哈希值

来自分类Dev

如何从其他两列更新基于文件名的文件名的最高值

来自分类Dev

在列中提取部分csv文件名

来自分类Dev

文件名到CSV

来自分类Dev

RadGrid附件列在上传之前获取文件名

来自分类Dev

读取多个csv文件并获取R中每个csv文件的文件名

来自分类Dev

从路径获取文件名

来自分类Dev

Laravel获取文件名

来自分类Dev

从uri获取文件名

来自分类Dev

从ActionDispatch获取文件名

来自分类Dev

从 HttpRequest 获取文件名

来自分类Dev

根据文件名生成熊猫列值

来自分类Dev

Powershell脚本获取具有文件夹的文件名和文件大小的csv文件

来自分类Dev

熊猫:如何使用文件名在生成的DF中水平合并多个CSV(键,值)文件和名称“值”列

来自分类Dev

从文件名获取目录名

来自分类Dev

熊猫:在ID列的值上拆分数据框并写入CSV,从列中的唯一值生成文件名

来自分类Dev

在read.csv中获取与write.csv中相同的文件名

来自分类Dev

SQLite:从包含文件名的列中获取不带扩展名的文件

来自分类Dev

从FileNotFoundException获取文件的文件名

来自分类Dev

从zip文件获取文件名

来自分类Dev

通过文件名掩码获取文件

来自分类Dev

从文件获取原始文件名

来自分类Dev

获取不带文件名的文件的路径

Related 相关文章

热门标签

归档