| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 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中更新算子相关功能。 ???????? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 5:47:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |