我有两个CSV文件:
Identity(no,name,Age)
有十行Location(Address,no,City)
有100行我需要提取行并检查no
在列Identity
与Location
CSV文件。
从Identity
CSV文件中获取单行,然后检查CSV文件中是否Identity.no
包含Location.no
100行Location
。
如果匹配,则组合name, Age, Address, City
入Identity, Location
注:我需要从获得第1行Identity
与100行进行比较Location
CSV文件,然后让第二排与100行进行比较。它将在Identity
CSV文件中最多连续10行。
然后将整体结果转换为Json,然后将结果移至SQL Server。
Apache Nifi中可能吗?
任何帮助表示赞赏。
您可以使用DistributedMapCache功能在NiFi中执行此操作,该功能实现了用于查找的键/值存储。该设置需要一个分布式地图缓存,外加两个流程-一个流程用地址记录填充缓存,另一个流程按no
字段查找地址。
DistributedMapCache由两个控制器服务(一个DistributedMapCacheServer和一个DistributeMapCacheClientService)定义。如果您的数据集很小,则可以仅使用“ localhost”作为服务器。
填充缓存需要读取地址文件,拆分记录,提取no
键并将键/值对放入缓存。大概的流程可能包括GetFile-> SplitText-> ExtractText-> UpdateAttribute- > PutDistributedMapCache。
查找您的身份记录实际上与上面的流程非常相似,因为它需要读取身份文件,拆分记录,提取no
密钥,然后获取地址记录。处理器流可能包括GetFile-> SplitText-> ExtractText-> UpdateAttribute- > FetchDistributedMapCache。
您可以使用AttributesToJSON或ExecuteScript将全部或部分从CSV转换为JSON。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句