使用 Talend ETL 工具,如何将不存在的记录从 Excel Sheet 插入到 MySQL table?
Using Talend ETL tool, How to insert a non existing record to MySQL table from Excel Sheet?
我有一个 excel sheet 列,我只需要在其中插入不存在的记录。
示例:大学列表
1. Sri Krishnadevaraya 大学
2. Sri Krishnadeveraya 大学(SKU)
3. 圣杰罗姆大学
4. St.Peters大学
table 已经有 "St.Peters University"
所以我需要插入
1. Sri Krishnadevaraya 大学
2. Sri Krishnadeveraya 大学(SKU)
3.圣杰罗姆大学
SELECT *
FROM *
WHERE NOT EXISTS
(
SELECT *
FROM *
WHERE * = *
)
不太熟悉 Talend,但是这个 post 非常有用:
如果您写入 MySQL,您正在使用 tMySQLOutput 组件 - 我只是在这里假设,因为没有关于作业布局的任何信息。
由于 MySQL 具有名为 insert ignore 的功能,您应该关注
- 设置一个好的有效主键(忽略主键是否存在的检查)
- 将插入策略设置为在组件中插入忽略
在 talend 中,您将使用组件 tfileinput-->tlogrow-->tmap--tlogrow-tmysqloutput。任何过滤器/转换/业务逻辑都可以在 tmap 组件中完成。
我有一个 excel sheet 列,我只需要在其中插入不存在的记录。
示例:大学列表
1. Sri Krishnadevaraya 大学
2. Sri Krishnadeveraya 大学(SKU)
3. 圣杰罗姆大学
4. St.Peters大学
table 已经有 "St.Peters University"
所以我需要插入
1. Sri Krishnadevaraya 大学
2. Sri Krishnadeveraya 大学(SKU)
3.圣杰罗姆大学
SELECT *
FROM *
WHERE NOT EXISTS
(
SELECT *
FROM *
WHERE * = *
)
不太熟悉 Talend,但是这个 post 非常有用:
如果您写入 MySQL,您正在使用 tMySQLOutput 组件 - 我只是在这里假设,因为没有关于作业布局的任何信息。
由于 MySQL 具有名为 insert ignore 的功能,您应该关注
- 设置一个好的有效主键(忽略主键是否存在的检查)
- 将插入策略设置为在组件中插入忽略
在 talend 中,您将使用组件 tfileinput-->tlogrow-->tmap--tlogrow-tmysqloutput。任何过滤器/转换/业务逻辑都可以在 tmap 组件中完成。