微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在NiFi中分段/分割文件以获得小片段?

如何解决如何在NiFi中分段/分割文件以获得小片段?

晚安

我有5个文件

[azureuser@ibpoccloudera output]$ pwd
/home/azureuser/logs_auditoria/output
[azureuser@ibpoccloudera output]$ ls -lrth
total 5.1G
-rw-r--r-- 1 nifi nifi 1.2G Oct  6 00:38 auditoria_20200928.txt
-rw-r--r-- 1 nifi nifi 433M Oct  6 00:38 auditoria_20200927.txt
-rw-r--r-- 1 nifi nifi 1.5G Oct  6 00:38 auditoria_20200929.txt
-rw-r--r-- 1 nifi nifi 1.6G Oct  6 00:38 auditoria_20200925.txt
-rw-r--r-- 1 nifi nifi 427M Oct  6 00:38 auditoria_20200926.txt

我想将它们分成小块,然后使用NiFi将其放在另一个目录中。我使用这种处理器安全性:

Getfile-> SegmentContent-> Putfile

GetFile

enter image description here

SegmentContent

enter image description here

PutFile

enter image description here

但是当我检查输出目录(PutFile)时,我得到了最后一个给我SegmentContent的片段。

有任何选择可以让Linux分裂

[azureuser@ibpoccloudera output]$ split -b 524288000 auditoria_20200929.txt auditoria_20200929

[azureuser@ibpoccloudera output]$ ls -lrth
total 6.5G
-rw-r--r-- 1 nifi      nifi      1.2G Oct  6 00:38 auditoria_20200928.txt
-rw-r--r-- 1 nifi      nifi      433M Oct  6 00:38 auditoria_20200927.txt
-rw-r--r-- 1 nifi      nifi      1.5G Oct  6 00:38 auditoria_20200929.txt
-rw-r--r-- 1 nifi      nifi      1.6G Oct  6 00:38 auditoria_20200925.txt
-rw-r--r-- 1 nifi      nifi      427M Oct  6 00:38 auditoria_20200926.txt
-rw-rw-r-- 1 azureuser azureuser 500M Oct  6 00:54 auditoria_20200929aa
-rw-rw-r-- 1 azureuser azureuser 500M Oct  6 00:55 auditoria_20200929ab
-rw-rw-r-- 1 azureuser azureuser 500M Oct  6 00:55 auditoria_20200929ac
-rw-rw-r-- 1 azureuser azureuser  14M Oct  6 00:55 auditoria_20200929ad

解决方法

我使用SplitText和UpdateAttribute解决了这个问题。

我使用SplitText是因为我有一个json文件,因此,如果我使用SegmentContent,有时会剪切一条记录并出现错误。

并使用UpdateAttribute,我通过UUID更改了文件的名称,因此,我很确定自己没有重复的记录。

SplitText

enter image description here

UpgradeAttribute

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。