使用 apache-nifi 将两列加在一起

Add two columns together using apache-nifi

我有以下场景。我有一个数据库 table 我有 :

| id | name | basic_salary | allowance |
_______________________________________|
| 1  | sach | 2000         | 1000      |
| 2  | nala | 5000         | 2500      |
|______________________________________|

basic_salaryallowance 加在一起并使其成为 net_salary 并插入到名为 net_salary

的新 table

第一步,我使用了ExecuteSQLRecord处理器,可以得到所有的记录。但问题是:如何添加流文件中的这两列。

所以最终结果应该是:

| id | name | net_salary |
|________________________|
| 1  | sach | 3000       |
| 2  | nala | 7500       |

这与直接相关。 如何处理流文件变量以在 apache-nifi?

中执行操作

我在 ExecuteSQL 处理器中使用了 How to compute the sum of multiple columns in PostgreSQL,但它无法理解流文件变量。

有一个棘手的问题。使用 UpdateRecord 两次。

第一个是

Record Reader               CSVReader
Record Writer               CSVRecordSetWriter
Replacement Value Strategy  Record Path Value
/net_salary                 concat(/basic_salary, ',', /allowance)

第二个是

Record Reader               CSVReader
Record Writer               CSVRecordSetWriter
Replacement Value Strategy  Literal Value
/net_salary                 ${field.value:substringBefore(','):toNumber():plus(${field.value:substringAfter(','):toNumber()})}

它给出的结果如下。

id,name,basic_salary,allowance,net_salary
1,sach,2000,1000,3000
2,nala,5000,2500,7500