如何将一个 CSV 文件中的一行与另一个 CSV 文件中的所有行进行比较?
How can I compare the one line in one CSV with all lines in another CSV file?
我有两个 CSV 文件:
Identity(no,name,Age)
有 10 行
Location(Address,no,City)
有 100 行
我需要提取行并使用 Location
CSV 文件检查 Identity
中的 no
列。
从 Identity
CSV 文件中获取单行并检查 Identity.no
和 Location.no
在 Location
CSV 文件中有 100 行。
如果匹配则合并Identity, Location
中的name, Age, Address, City
注意:我需要从 Identity
中获取第一行并将其与 Location
CSV 文件中的 100 行进行比较,然后获取第二行并将其与 100 行进行比较。它将在 Identity
CSV 文件中继续最多 10 行。
并且整体结果转换为 Json.Then 将结果移至 SQL 服务器。
Apache Nifi 可以吗?
感谢任何帮助。
您可以在 NiFi 中使用 DistributedMapCache 功能执行此操作,该功能实现了 key/value 存储以供查找。该设置需要一个分布式地图缓存,以及两个流程 - 一个用于使用您的地址记录填充缓存,另一个用于通过 no
字段查找地址。
DistributedMapCache 由两个控制器服务定义,DistributedMapCacheServer and a DistributeMapCacheClientService。如果你的数据集很小,你可以直接使用 "localhost" 作为服务器。
填充缓存需要读取地址文件,拆分记录,提取 no
键,并将 key/value 对放入缓存。大概的流程可能包括 GetFile -> SplitText -> ExtractText -> UpdateAttribute -> PutDistributedMapCache.
查找您的身份记录实际上与上面的流程非常相似,因为它需要读取身份文件、拆分记录、提取 no
密钥,然后获取地址记录。处理器流程可能包括 GetFile -> SplitText -> ExtractText -> UpdateAttribute -> FetchDistributedMapCache.
您可以使用 AttributesToJSON 或 ExecuteScript 将整个或部分从 CSV 转换为 JSON。
我有两个 CSV 文件:
Identity(no,name,Age)
有 10 行Location(Address,no,City)
有 100 行
我需要提取行并使用 Location
CSV 文件检查 Identity
中的 no
列。
从 Identity
CSV 文件中获取单行并检查 Identity.no
和 Location.no
在 Location
CSV 文件中有 100 行。
如果匹配则合并Identity, Location
name, Age, Address, City
注意:我需要从 Identity
中获取第一行并将其与 Location
CSV 文件中的 100 行进行比较,然后获取第二行并将其与 100 行进行比较。它将在 Identity
CSV 文件中继续最多 10 行。
并且整体结果转换为 Json.Then 将结果移至 SQL 服务器。
Apache Nifi 可以吗?
感谢任何帮助。
您可以在 NiFi 中使用 DistributedMapCache 功能执行此操作,该功能实现了 key/value 存储以供查找。该设置需要一个分布式地图缓存,以及两个流程 - 一个用于使用您的地址记录填充缓存,另一个用于通过 no
字段查找地址。
DistributedMapCache 由两个控制器服务定义,DistributedMapCacheServer and a DistributeMapCacheClientService。如果你的数据集很小,你可以直接使用 "localhost" 作为服务器。
填充缓存需要读取地址文件,拆分记录,提取
no
键,并将 key/value 对放入缓存。大概的流程可能包括 GetFile -> SplitText -> ExtractText -> UpdateAttribute -> PutDistributedMapCache.查找您的身份记录实际上与上面的流程非常相似,因为它需要读取身份文件、拆分记录、提取
no
密钥,然后获取地址记录。处理器流程可能包括 GetFile -> SplitText -> ExtractText -> UpdateAttribute -> FetchDistributedMapCache.
您可以使用 AttributesToJSON 或 ExecuteScript 将整个或部分从 CSV 转换为 JSON。