在Kettle中,如何拆分一列的值并插入到两个不同的表中?
In Kettle, how to split values of an column and insert into two different tables?
我想创建一个 Spoon 转换,它可以拆分列的不同部分并插入到相应的 table 中。
来源 table 看起来像这样
+------------------------------------------------------+
row_id | Technology
+------------------------------------------------------+
1 | Cobol, programming
2 | Oracle,database
3 | Ruby, programming
4 | Java, programming
5 | Mysql,database
+------------------------------------------------------+
其中一个目标 table 看起来像这样,应该插入到 cobol、Oracle、Ruby 等等
+----------------------+
Technologies
+----------------------+
id | technology_name
+----------------------+
另一个目标 table 看起来像,应该插入到编程和数据库中
+----------------------+
Category
+----------------------+
id | category_name
+----------------------+
谁能告诉我
- 技术列的值拆分采用哪种步骤?
- 如何只插入一次值?
您可以使用 Split Fields
步骤拆分 'technology' 字段。您可能需要通过 String Operations
步骤将结果列传递到 trim 它。
您只能通过 Insert/Update
步骤插入一次。
您可以使用 "Split Fields" 步骤将 Technology
列拆分为两个不同的新列,Technologies
和 Category
,并且您可以 trim生成的字符串同时去掉不需要的空格:
然后您可以 distribute
行到两个不同的分支:
- 在第一个分支上,您可以按技术分组,然后您可以将得到的不同技术插入 table
- 在第二个分支上,您可以按类别分组,然后您可以将生成的不同类别插入另一个 table
转换可能与此类似:
我想创建一个 Spoon 转换,它可以拆分列的不同部分并插入到相应的 table 中。 来源 table 看起来像这样
+------------------------------------------------------+
row_id | Technology
+------------------------------------------------------+
1 | Cobol, programming
2 | Oracle,database
3 | Ruby, programming
4 | Java, programming
5 | Mysql,database
+------------------------------------------------------+
其中一个目标 table 看起来像这样,应该插入到 cobol、Oracle、Ruby 等等
+----------------------+
Technologies
+----------------------+
id | technology_name
+----------------------+
另一个目标 table 看起来像,应该插入到编程和数据库中
+----------------------+
Category
+----------------------+
id | category_name
+----------------------+
谁能告诉我
- 技术列的值拆分采用哪种步骤?
- 如何只插入一次值?
您可以使用 Split Fields
步骤拆分 'technology' 字段。您可能需要通过 String Operations
步骤将结果列传递到 trim 它。
您只能通过 Insert/Update
步骤插入一次。
您可以使用 "Split Fields" 步骤将 Technology
列拆分为两个不同的新列,Technologies
和 Category
,并且您可以 trim生成的字符串同时去掉不需要的空格:
然后您可以 distribute
行到两个不同的分支:
- 在第一个分支上,您可以按技术分组,然后您可以将得到的不同技术插入 table
- 在第二个分支上,您可以按类别分组,然后您可以将生成的不同类别插入另一个 table
转换可能与此类似: