etl - 如何提取NiFi中引号中的字段?
问题描述
我有一些管道分隔的文件。每个字段都由这样的引号限定。
"Created_Date__c"|"CreatedById"|"CreatedDate"|"Guid_c"
"2020-03-02 00:00:00"|"0053i000002XCpAAG"|"2020-03-02 16:01:34"|"94bf83ccf9daf610VgnVCM100000307882a2RCRD"
"2020-03-03 00:00:00"|"0053i000002XCpAAG"|"2020-03-03 09:15:56"|"1a4bb238cdedd610VgnVCM100000307882a2RCRD"
"2020-03-03 00:00:00"|"0053i000002XCpAAG"|"2020-03-03 09:52:33"|"22408baca6fee610VgnVCM100000307882a2RCRD"
我需要清理这些数据并且需要看起来像这样。
Created_Date__c|CreatedById|CreatedDate|Guid_c
2020-03-02 00:00:00|0053i000002XCpAAG|2020-03-02 16:01:34|94bf83ccf9daf610VgnVCM100000307882a2RCRD
2020-03-03 00:00:00|0053i000002XCpAAG|2020-03-03 09:15:56|1a4bb238cdedd610VgnVCM100000307882a2RCRD
2020-03-03 00:00:00|0053i000002XCpAAG|2020-03-03 09:52:33|22408baca6fee610VgnVCM100000307882a2RCRD
我尝试将 ReplaceText 与这些配置一起使用。搜索值 -^"(.*)"$
和替换值 - $1
。但是这些配置不起作用,文件路由失败。不确定可能是什么问题。
接受其他建议。提前致谢。
解决方案
我认为您最好的选择是ConvertRecord
处理器,具有CSVReader
推断架构 + 将 csv sep 更改为您自己的 |,以及CSVRecordSetWritter
选项Quote Mode
设置为Do Not Quote Values
并根据您的需要设置您的 sep。
推荐阅读
- javascript - 使用 php 编码的 mysql 中的 nodejs 进行解码
- r - 根据第一个保险ID过滤
- ios - SwiftUI 手动控制 Text Filed 的提交
- sql - 使用(Barker's Notation)将概念图转换为关系图
- javascript - 通过javascript将参数传递给动作不会传递整数值
- github - 为什么即使在正确安装后我也会收到 ModuleNotFoundError?
- reactjs - 尝试导入错误:“firestore”未从“firebase/app”导出(导入为“firebase”)
- matrix - 行矩阵优于计算机图形的矩形矩阵?
- python - 使用迭代堆栈方法检测有向图中的循环
- c# - 二进制文件的十六进制值不会使用 C# 更改