NIFI - 如何从流中插入不同的数据并在其他地方引用该数据 ID
NIFI - How to insert distinct data from the flow and refer to that data ID in other places
我正在尝试学习 NIFI,所以这对我来说是全新的,我曾经与 Talend 一起工作,但我很难翻译成 NIFI。所以主要的想法是:例如我在 Postgresql
中有两个 tables
Table 城市:
ID(自动生成),city_name
Table 个人:
ID(自动生成),first_name,last_name,city_id
我有一个 CSV 文件:
first_name、last_name、city_name
你能解释一下我如何从一个流文件中插入两个 tables 并在 table PERSON 中引用城市 ID 而不是 table 中的名称城市。
谢谢
您可以使用 LookupRecord 用城市 ID 丰富每条记录并将输入拆分为两个文件:matched/unmatched.
对于匹配,您必须执行简单的插入到 PERSON table - 因为找到了城市 ID。
如果不匹配,您必须将 insert/upsert 生成到 CITY table 中,然后将所有这些记录再次路由到查找记录。
或者您可以将所有内容按原样插入临时 table 中,其结构与您的 CSV 相匹配。
然后执行 2 个简单的 sql 语句:
- 根据温度填充缺失的城市 table
- 从 temp table 插入 person 并在 SQL server
级别上查找城市 ID
我正在尝试学习 NIFI,所以这对我来说是全新的,我曾经与 Talend 一起工作,但我很难翻译成 NIFI。所以主要的想法是:例如我在 Postgresql
中有两个 tablesTable 城市:
ID(自动生成),city_name
Table 个人:
ID(自动生成),first_name,last_name,city_id
我有一个 CSV 文件:
first_name、last_name、city_name
你能解释一下我如何从一个流文件中插入两个 tables 并在 table PERSON 中引用城市 ID 而不是 table 中的名称城市。
谢谢
您可以使用 LookupRecord 用城市 ID 丰富每条记录并将输入拆分为两个文件:matched/unmatched.
对于匹配,您必须执行简单的插入到 PERSON table - 因为找到了城市 ID。
如果不匹配,您必须将 insert/upsert 生成到 CITY table 中,然后将所有这些记录再次路由到查找记录。
或者您可以将所有内容按原样插入临时 table 中,其结构与您的 CSV 相匹配。
然后执行 2 个简单的 sql 语句:
- 根据温度填充缺失的城市 table
- 从 temp table 插入 person 并在 SQL server 级别上查找城市 ID