无法获取nifi中文件的文件行数

时间:2019-07-20 10:19:14

标签: apache apache-nifi

我将获取csv文件(每天大约10-12个csv文件一次),并使用nifi,我们需要获取所有csv文件的行数。

我已经做到了 getfile-> counttext-> replacetext(在替换文本中,我用下面的值替换了它) enter image description here

现在我将输出为12个文件,每个文件都有该文件的行数,现在如何在nifi中添加这些数字

样本输出文件 文件1:-40 档案2:-35 文件3:-55 在这里我需要得到一个文件,我的值应该是所有文件中所有数字的总和 例如:-130(根据上述数据)

1 个答案:

答案 0 :(得分:1)

您可以使用getfile -> CountText -> ReplaceText -> mergeContent->QueryRecord的组合通过运行简单的sql查询以流文件的形式获取所有计数的总和。

将replaceText处理器用作具有两个设置的mergeContent处理器后:

Minimum Number of Entries= <set this to minimum number of files you expect i.e. 10 or 12 Demarcator= Shift + Enter for newline character

enter image description here

QueryReecord处理器添加CSVREADER和CSVRECORDSETWRITE控制器服务。

enter image description here

您可以在两个控制器服务中的avro模式下将其用作“ schema.text”

{
  "type": "record",
  "name": "test",
  "fields": [
    {
      "name": "cnt",
      "type": "long"
    }
  ]
}