首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Kettle之“检查表是否存在”

Kettle之“检查表是否存在”

作者头像
用户1148526
发布于 2019-05-25 19:46:19
发布于 2019-05-25 19:46:19
6.3K0
举报
文章被收录于专栏:Hadoop数据仓库Hadoop数据仓库

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1433223

想用Kettle实现一个非常简单的需求,从MySQL向Oracle导入一个表的数据,如果在oracle里表不存在,先建表再导入数据。这个功能看似非常简单,但对于刚开始接触Kettle的用户来说,可能会有些疑惑。Kettle的转化和作业中都有“检查表是否存在”步骤,但是如果要实现上述的需求,只能用作业,而不能使用转换。

在Kettle中,作业是串行执行的,只有前一个作业项执行成功才会开始下一个作业项。而转换中的多个步骤是并行执行的,数据流会在构成转换的所有步骤中同时操作。因此,如果使用转换,不能保证先建表再导入数据的执行顺序。下面为实验步骤。

  1. 建立一个名为“mysql to oracle”的作业,如下图所示。
  1. “检查表是否存在”作业项如下图所示。
  1. “create table”SQL脚本作业项如下图所示。
  1. “mysql to oracle”转换如下面三张图所示。

参考:http://www.it4biz.com.br/cursos/kettle-cookbook/Samples/html/jobs/Slowly%20Changing%20Dimension/create%20-%20populate%20-%20update%20slowly%20changing%20dimension.kjb.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016年12月26日,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档