apache-nifi - 如何使用 NiFi 拆分文本文件中的列?
问题描述
我有一个包含 2000 列的 excel 文件,我的要求是从这个 excel 文件中提取特定的列子集并将它们发送到各种不同的文件,如下例所示
A、B 列转到一个文件
A、C 列转到第二个文件
A、D列转到第三个文件
A、E 列转到第三个文件....
我将如何使用 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 上发帖一段时间了!来挤压那个大脑
推荐阅读
- sql-server - 带有表和运算符的 SQL CASE 语句
- github-actions - GitHub Action 内联 if
- r - 仅提取每行开头的数字
- sql - 如何在 MERGE 语句的 WHEN NOT MATCHED 部分插入 IF
- html - 是否有“任意 2 个元素之间”的选择器
- python - 如何从不同形状的二维数组(通过填充 NaN)创建形状相同的二维矩阵列表?
- swift - 在 while 循环中使用完成处理程序
- c# - C# 8 - CS8605“取消装箱可能为空值”枚举
- python - 在我的“组合总和”解决方案中找不到错误
- java - 从Java中的当天减去日期