如何在 Pentaho Spoon 中拆分列的值?
Posted
技术标签:
【中文标题】如何在 Pentaho Spoon 中拆分列的值?【英文标题】:How to split values of an column in Pentaho Spoon? 【发布时间】:2012-02-01 13:20:59 【问题描述】:我想创建一个Spoon
转换,它将作用于列的多个值。
我的转换输入是一个 CSV 文件。在该 CSV 文件中有一个名为“技术”的列,其中包含 0 个或多个用分号分隔的值,如下所示。
+------------------------------------------------------+
row_id | Technology
+------------------------------------------------------+
1 | Cobol ; Db2 ; Jcl ; Vsam ; Cics ; Changeman ;
2 | Oracle ; Sql ; Db2 ; Oracle 9i ;
3 | Windows 2000 ; SQL ;
+------------------------------------------------------+
我在数据库中有一个名为“Technologies”的表,其架构如下:
+----------------------+
Technologies
+----------------------+
id | technology_name
+----------------------+
其中id
列设置为自动递增。
只有当Technologies
表中不存在technology
列的值时,我才想插入该值。
谁能告诉我
1) 使用哪种类型的步骤来拆分technology
列的值?
2)如何只插入一次值?例如在row 1
和row 2
中,Db2
被重复,但我只想插入一次Db2
。
提前致谢!
【问题讨论】:
【参考方案1】:使用“拆分字段”(在“转换”下)拆分内容。
CSV 文件输入 --> 拆分字段 --> 其余转换
将“要拆分的字段”设置为“技术”,并将“分隔符”设置为分号。
关于非重复字段,我的建议是您将名称本身作为表格的关键。将其转换为小写并用数据库安全等效替换任何空格/特殊字符,然后将其设为主键。您最终应该得到一个只包含唯一实例的表。
第
【讨论】:
以上是关于如何在 Pentaho Spoon 中拆分列的值?的主要内容,如果未能解决你的问题,请参考以下文章