【问题标题】:How can I segment/split a file in NiFi getting the small pieces?如何在 NiFi 中分割/拆分文件以获得小块?
【发布时间】:2020-10-06 18:38:47
【问题描述】:

晚安

我有 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

获取文件

细分内容

PutFile

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

有任何选项可以获得像 linux split 之类的东西

[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

【问题讨论】:

  • 您是否自动终止了来自 segmentContent 处理器的“原始”输出?

标签: apache-nifi


【解决方案1】:

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

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

并且使用 UpdateAttribute,我通过 UUID 更改文件的名称,所以我很确定我没有任何重复记录。

分割文本

升级属性

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多