首页 > 解决方案 > 如何使用 NiFi 拆分文本文件中的列?

问题描述

我有一个包含 2000 列的 excel 文件,我的要求是从这个 excel 文件中提取特定的列子集并将它们发送到各种不同的文件,如下例所示

A、B 列转到一个文件

A、C 列转到第二个文件

A、D列转到第三个文件

A、E 列转到第三个文件....

我将如何使用 NiFi 实现这一目标?提前致谢。

标签: apache-nifi

解决方案


如果是 .xlsx,则使用 ConvertExcelToCSVProcessor 转换 .xlsx 并将其发送到具有这种设置的 PartitionRecord:

您需要设置 CSVReader / Writer(默认设置 - inferschema)并启用它们。

  • 您可以像下面看到的那样进行多列设置(另请参见记录路径上的文档!)

  • 然后您可以使用 routeon 属性将输出流路由到您想要对其进行更多处理或合并并放入文件的位置。

在此处输入图像描述 在此处查看有关记录路径的更多信息https://nifi.apache.org/docs/nifi-docs/html/record-path-guide.html#structure

是的,在您的情况下,您有 2000 列 OK !属性不必对列的映射进行硬编码,属性支持表达式语言(可以派生)

  • 在 Stackoverflow 上没有现成可用的解决方案。

因为这个,我已经停止在 Stackoverflow 上发帖一段时间了!来挤压那个大脑


推荐阅读