栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Kettle中更新算子的具体实现(根据一张表内容更新另一张表)

Kettle中更新算子的具体实现(根据一张表内容更新另一张表)

        想必大家都用过Kettle中的更新算子,接下来我来聊聊Kettle中的更新算子的具体实现。

        【示例】

        我们目前有两张表。第一张表(china),记录所有省份人口和GDP数据,但数据是老旧数据。

        另一张表(china2021),是统计的最新2021年省份人口和GDP数据,数据是最新的,但是只有部分省份。

        我们就需要根据省份名称,将2021年最新的人口和GDP数据更新至总表(china表)。

【实现思路】

        1.JDBC连接china2021表,读取数据存入Map中(记录比对字段、更新字段、具体数据)。

        2.JDBC连接China表,按照(1)中的Map拼接Update语句对数据进行条件更新。其SQL语法如下:

        UPDATE tableName SET field1 =(CASE WHEN fileld2 = 'XXX' THEN 'XXX'  ELSE field1 END)

        本示例中的拼接出的具体SQL如下:

        UPDATE china SET population = (CASE WHEN province = '广东' THEN    11346 WHEN province = '江苏' THEN    8051 WHEN province = '山东' THEN    10047 ELSE population END),gdp = (CASE WHEN province = '广东' THEN    110760 WHEN province = '江苏' THEN    102700 WHEN province = '73129' THEN    10047 ELSE gdp END)

        实践结果我们发现,china表中广东、江苏、山东三省份对应的人口和GDP数据已更新,其他数据仍旧保持不变。

         至此,我们已实现Kettle中更新算子相关功能。

        

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/701581.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号