前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Kettle之“检查表是否存在”

Kettle之“检查表是否存在”

作者头像
用户1148526
发布于 2019-05-25 11:46:19
发布于 2019-05-25 11:46:19
3.8K0
举报
文章被收录于专栏: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 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用Kettle连接动态分库
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wzy0623/article/details/53883505
用户1148526
2019/05/25
1.8K0
Spark on YARN 部署实验
    以前的Spark部署都是使用的standalone方式,集群中的每台机器都安装部署Spark,然后启动Master和Worker进程运行Spark。今天尝试一下Spark on YARN的部署方式。 一、实验目的 1. 只在一台机器上安装Spark,基于已有的Hadoop集群,使用YARN调度资源。 2. 不启动Master和Worker进程提交Spark作业。 3. 通过YARN的WebUI查看Spark作业的执行情况。 二、实验环境: 4台CentOS release 6.4虚拟机,IP地址为 192.168.56.101 192.168.56.102 192.168.56.103 192.168.56.104 192.168.56.101是Hadoop集群的主,运行NameNode和ResourceManager进程。 192.168.56.102、192.168.56.103是Hadoop的从,运行DataNode和NodeManager进程。 192.168.56.104安装Pentaho的PDI,安装目录为/home/grid/data-integration。 Hadoop版本:2.7.2 Spark版本:1.5.0 PDI版本:6.0 Hadoop集群的安装配置参考 http://blog.csdn.net/wzy0623/article/details/50681554 三、安装Spark 只在192.168.56.101一台机器上上安装Spark,具体安装步骤参考 http://blog.csdn.net/wzy0623/article/details/50946766 四、配置步骤 1. 启动Hadoop集群 # 启动hdfs /home/grid/hadoop-2.7.2/sbin/start-dfs.sh # 启动yarn /home/grid/hadoop-2.7.2/sbin/start-yarn.sh 2. 将spark自带的与Hadoop集成的jar包上传到hdfs hadoop fs -put /home/grid/spark/lib/spark-assembly-1.5.0-hadoop2.6.0.jar /user/ 3. 编辑spark-defaults.conf文件,添加如下一行 spark.yarn.jar=hdfs://master:9000/user/spark-assembly-1.5.0-hadoop2.6.0.jar 修改后的spark-defaults.conf文件如图1所示
用户1148526
2022/05/07
4530
Spark on YARN 部署实验
Pentaho Work with Big Data(二)—— Kettle提交Spark作业
实验目的: 配置Kettle向Spark集群提交作业。 实验环境: 4台CentOS release 6.4虚拟机,IP地址为 192.168.56.101 192.168.56.102 192.168.56.103 192.168.56.104 192.168.56.101是Spark集群的主,运行Master进程。 192.168.56.102、192.168.56.103是Spark的从,运行Worker进程。 192.168.56.104安装Pentaho的PDI,安装目录为/home/grid/data-integration。 Hadoop版本:2.7.2 Spark版本:1.5.0 PDI版本:6.0 Spark集群的安装配置参考 http://blog.csdn.net/wzy0623/article/details/50946766 配置步骤: 1. 在PDI主机上安装Spark客户端 将Spark的安装目录和相关系统环境设置文件拷贝到PDI所在主机 在192.168.56.101上执行以下命令 scp -r /home/grid/spark 192.168.56.104:/home/grid/ scp /etc/profile.d/spark.sh 192.168.56.104:/etc/profile.d/ 下面的配置均在192.168.56.104上执行 2. 编辑相关配置文件 (1)在/etc/hosts文件中加如下两行 192.168.56.101 master 192.168.56.104 kettle master和kettle为各自主机的hostname (2)编辑spark-env.sh文件,写如下两行,如图1所示 export HADOOP_CONF_DIR=/home/grid/data-integration/plugins/pentaho-big-data-plugin/hadoop-configurations/cdh54 export SPARK_HOME=/home/grid/spark
用户1148526
2022/05/07
5430
Pentaho Work with Big Data(二)—— Kettle提交Spark作业
Pentaho Work with Big Data(六)—— 使用Pentaho MapReduce生成聚合数据集
本示例说明如何使用Pentaho MapReduce把细节数据转换和汇总成一个聚合数据集。当给一个关系型数据仓库或数据集市准备待抽取的数据时,这是一个常见使用场景。我们使用格式化的web日志数据作为细节数据,并且建立一个聚合文件,包含按IP和年月分组的PV数。 关于如何使用Pentaho MapReduce把原始web日志解析成格式化的记录,参考 http://blog.csdn.net/wzy0623/article/details/51145570。 一、向HDFS导入示例数据文件 将weblogs_parse.txt文件放到HDFS的/user/grid/parse/目录下(因资源有限,本示例只取了这个文件的前100行数据) 参考: http://blog.csdn.net/wzy0623/article/details/51133760 二、建立一个用于Mapper的转换 1. 新建一个转换,如图1所示。
用户1148526
2022/05/07
4400
Pentaho Work with Big Data(六)—— 使用Pentaho MapReduce生成聚合数据集
Kettle与Hadoop(九)提交Spark作业
实验环境: Spark History Server: 172.16.1.126
用户1148526
2020/06/11
1.7K0
Kettle与Hadoop(九)提交Spark作业
Kettle构建Hadoop ETL实践(一):ETL与Kettle
我在2017年写了一本名为《Hadoop构建数据仓库实践》的书。在这本书中,较为详细地讲解了如何利用Hadoop(Cloudera's Distribution Including Apache Hadoop,CDH)生态圈组件构建传统数据仓库。例如,使用Sqoop从关系数据库全量或增量抽取数据到Hadoop系统,使用Hive进行数据转换和装载处理等等。作为进阶,书中还说明了数据仓库技术中的渐变维、代理键、角色扮演维度、层次维度、退化维度、无事实事实表、迟到事实、累计度量等常见问题在Hadoop上的处理。它们都是通过Hive SQL来实现的,其中有些SQL语句逻辑复杂,可读性也不是很好。
用户1148526
2020/08/17
4.9K0
Pentaho Work with Big Data(四)—— 转换Hive里的数据
1. 建立hive表,导入原始数据,过程参考 http://blog.csdn.net/wzy0623/article/details/51133760 2. 建立一个作业,查询hive表,并将聚合数据写入一个hive表 (1)打开PDI,新建一个作业,如图1所示。
用户1148526
2022/05/07
2780
Pentaho Work with Big Data(四)—— 转换Hive里的数据
Pentaho Work with Big Data(八)—— kettle集群
一、简介         集群技术可以用来水平扩展转换,使它们能以并行的方式运行在多台服务器上。转换的工作可以平均分到不同的服务器上。         一个集群模式包括一个主服务器和多个子服务器,主服务器作为集群的控制器。简单地说,作为控制器的Carte服务器就是主服务器,其他的Carte服务器就是子服务器。         一个集群模式也包含元数据,元数据描述了主服务器和子服务器之间怎样传递数据。在Carte服务器之间通过TCP/IP套接字传递数据。 二、环境 4台CentOS release 6.4虚拟机,IP地址为 192.168.56.104 192.168.56.102 192.168.56.103 192.168.56.104作为主Carte。 192.168.56.102、192.168.56.103作为子Carte。 192.168.56.104、192.168.56.102、192.168.56.103分别安装Pentaho的PDI,安装目录均为/home/grid/data-integration。 PDI版本:6.0 三、配置静态集群 1. 建立子服务器 (1)打开PDI,新建一个转换。 (2)在“主对象树”标签的“转换”下,右键点击“子服务器”,新建三个子服务器。如图1所示。
用户1148526
2022/05/07
6140
Pentaho Work with Big Data(八)—— kettle集群
Kettle构建Hadoop ETL实践(三):Kettle对Hadoop的支持
本篇演示使用Kettle操作Hadoop上的数据。首先概要介绍Kettle对大数据的支持,然后用示例说明Kettle如何连接Hadoop,如何导入导出Hadoop集群上的数据,如何用Kettle执行Hive的HiveQL语句,还会用一个典型的MapReduce转换,说明Kettle在实际应用中是怎样利用Hadoop分布式计算框架的。本篇最后介绍如何在Kettle中提交Spark作业。
用户1148526
2020/09/02
6.3K0
Pentaho Work with Big Data(五)—— 格式化原始web日志
本示例说明如何使用Pentaho MapReduce把原始web日志解析成格式化的记录。 一、向HDFS导入示例数据文件 将weblogs_rebuild.txt文件放到HDFS的/user/grid/raw/目录下(因资源有限,本示例只取了这个文件的前10行数据) 参考: http://blog.csdn.net/wzy0623/article/details/51133760 二、建立一个用于Mapper的转换 1. 新建一个转换,如图1所示。
用户1148526
2022/05/07
1820
Pentaho Work with Big Data(五)—— 格式化原始web日志
Pentaho Work with Big Data(三)—— 向Hadoop集群导入数据
1. 向HDFS导入数据 . 从下面的地址下载web日志示例文件,解压缩后的weblogs_rebuild.txt文件放到/home/grid/data-integration/test目录下。
用户1148526
2022/05/07
3010
Pentaho Work with Big Data(三)—— 向Hadoop集群导入数据
kettle使用教程(超详细)
这样就算你可以入门了,我相信在不断的探索中你会有更多的心得的。在此也要提醒一点,KETTLE的性能可能会有不稳定的情况出现,所以注意保存你已经做过的东西。
全栈程序员站长
2022/08/31
7.6K0
kettle使用教程(超详细)
Kettle与Hadoop(六)执行HiveQL语句
https://blog.csdn.net/wzy0623/article/details/106471124#2.%20%E5%90%91Hive%E5%AF%BC%E5%85%A5%E6%95%B0%E6%8D%AE。
用户1148526
2020/06/04
3110
Kettle与Hadoop(一)Kettle简介
Kettle是一款流行的ETL(Extract-Transform-Load,即数据抽取、转换、装载)工具,并可用来操作Hadoop上的数据。Kettle是用Java语言开发的。它最初的作者Matt Casters原是一名C语言程序员,在着手开发Kettle时还是一名Java小白,但是他仅用了一年时间就开发出了Kettle的第一个版本。虽然有很多不足,但这版毕竟是可用的。使用自己并不熟悉的语言,仅凭一己之力在很短的时间里就开发出了复杂的ETL系统工具,作者的开发能力和实践精神令人十分佩服。后来Pentaho公司获得了Kettle源代码的版权,Kettle也随之更名为Pentaho Data Integration,简称PDI。
用户1148526
2020/05/27
3.3K0
Kettle构建Hadoop ETL实践(十):并行、集群与分区
本专题前面系列文章详细说明了使用Kettle的转换和作业,实现Hadoop上多维数据仓库的ETL过程。通常Hadoop集群存储的数据量是TB到PB,如果Kettle要处理如此多的数据,就必须考虑如何有效使用所有的计算资源,并在一定时间内获取执行结果。
用户1148526
2020/12/08
2K0
大数据ETL开发之图解Kettle工具(入门到精通)
ETL (Extract-Transform-Load 的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种ETL工具的使用,必不可少。
全栈程序员站长
2022/07/01
19.7K0
大数据ETL开发之图解Kettle工具(入门到精通)
使用kettle来根据时间戳或者批次号来批量导入数据,达到增量的效果。
1、Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。下载图形化界面的zip包格式的,直接解压缩使用即可。安装部署模式这里不说了,自己可以根据自己的需求安装为单机模式或者集群模式。     Kettle的社区官网:https://community.hitachivantara.com/docs/DOC-1009855       Kettle的下载地址:https://sourceforge.net/projects/pentaho/files/Data%20Integration/ kettle国内镜像下载:http://mirror.bit.edu.cn/pentaho/Data%20Integration/ 2、由于这里只是演示了如何配置通过时间戳和批次号增量的导入数据,所以具体的操作不再叙述,具体的使用自己可以根据需求来使用。
别先生
2018/12/12
3.4K0
Kettle工具使用及总结
kettle主要用于数据清洗,即常见ETL工具,拥有图形化界面且免费的优点。其下载包直接解压打开就能用,遇到的问题:
全栈程序员站长
2022/11/03
2.9K0
Kettle工具使用及总结
Kettle构建Hadoop ETL实践(五):数据抽取
本篇介绍如何利用Kettle提供的转换步骤和作业项实现Hadoop数据仓库的数据抽取,即ETL过程中的Extract部分。首先简述Kettle中几种抽取数据的组件,然后讲述变化数据捕获(Change Data Capture,CDC),以及Kettle如何支持不同的CDC技术。Hadoop生态圈中的Sqoop工具可以直接在关系数据库和HDFS或Hive之间互导数据,而Kettle支持Sqoop输入、输出作业项。最后我们使用Kettle里的Sqoop作业项以及基于时间戳的CDC转换实现销售订单示例的数据抽取过程,将MySQL中的源数据抽取到Hive的rds数据库中。
用户1148526
2020/10/10
7.1K0
Kettle构建Hadoop ETL实践(五):数据抽取
Pentaho Work with Big Data(一)—— Kettle连接Hadoop集群
准备研究一下Pentaho的产品如何同Hadoop协同工作。从简单的开始,今天实验了一下Kettle连接Hadoop集群。 实验目的: 配置Kettle连接Hadoop集群的HDFS。 实验环境: 4台CentOS release 6.4虚拟机,IP地址为 192.168.56.101 192.168.56.102 192.168.56.103 192.168.56.104 192.168.56.101是Hadoop集群的主,运行NameNode进程。 192.168.56.102、192.168.56.103是Hadoop的从,运行DataNode进程。 192.168.56.104安装Pentaho的PDI,安装目录为/root/data-integration。 Hadoop版本:2.7.2 PDI版本:6.0 Hadoop集群的安装配置参考 http://blog.csdn.net/wzy0623/article/details/50681554 配置步骤: 1. 启动Hadoop的hdfs 在192.168.56.101上执行以下命令 start-dfs.sh 2. 拷贝Hadoop的配置文件到PDI的相应目录下 在192.168.56.101上执行以下命令 scp /home/grid/hadoop/etc/hadoop/hdfs-site.xml root@192.168.56.104:/root/data-integration/plugins/pentaho-big-data-plugin/hadoop-configurations/cdh54/ scp /home/grid/hadoop/etc/hadoop/core-site.xml root@192.168.56.104:/root/data-integration/plugins/pentaho-big-data-plugin/hadoop-configurations/cdh54/ 下面的配置均在192.168.56.104上执行 3. 在安装PDI的主机上建立访问Hadoop集群的用户 我的Hadoop集群的属主是grid,所以执行以下命令建立相同的用户 useradd -d /home/grid -m grid usermod -G root grid 4. 修改PDI安装目录的属主为grid mv /root/data-integration /home/grid/ chown -R grid:root /home/grid/data-integration 5. 编辑相关配置文件 cd /home/grid/data-integration/plugins/pentaho-big-data-plugin/hadoop-configurations/cdh54/ 在config.properties文件中添加如下一行 authentication.superuser.provider=NO_AUTH 把hdfs-site.xml、core-site.xml文件中的主机名换成相应的IP  修改后的config.properties、hdfs-site.xml、core-site.xml文件分别如图1、图2、图3所示。
用户1148526
2022/05/07
9670
Pentaho Work with Big Data(一)—— Kettle连接Hadoop集群
推荐阅读
相关推荐
使用Kettle连接动态分库
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文