一、同一数据库两表数据关联更新

  实现效果:把stu1的数据按id同步到stu2,stu2有相同id则更新数据

  步骤:

  1.在mysql中创建两张表:

    mysql>create database kettle;

    mysql>use kettle;

    mysql>create table stu1 (id int ,name varchar(20),age int);

    mysql>create table stu2 (id int ,name varchar(20));

  2.往两张表中插入一些数据:

    mysql>insert into stu1 values(1001,’zhangsan’,20),(1002,’lisi’,18),(1003,’wangwu’,23);

    mysql>insert into stu2 values(1001,’wukong’);

  3.在kettle中新建转换,点击左上角文件—新建—转换到核心对象界面,点击输入,找到表输入拖拽到中间

    

    

  4.双击表输入,在数据库连接中配置mysql数据库连接(注意jar包mysql-connector-java-5.1.34-bin.jar要放在kettle的lib文件夹中)

    

    输入完信息后点击测试,显示正确连接。

    

    5.sql语句中输入select * from stu1;

    

    点击预览可以看到数据

    

    6.在输出中找到插入/更新组件拖拽到中间,点住表输入shift+鼠标左键连接到插入/更新组件上

    

    

    双击插入/更新,点击目标表浏览,选择stu2

    

    点击获取字段获取到3个字段

    

    由于stu1与stu2通过id关联,故删除name和age字段,然后点击编辑映射,编辑2个表之间的映射

    

    确定后如图:

       

    更新处,修改id的属性为n,确定。然后保存运行,到数据库中查看结果。

    

    最后生成了一个文件,如下:

    

二、使用作业执行生成的转换文件

    实现效果:使用作业执行“一”中的转换,并且额外在表stu2中添加一条数据

    步骤:

    新建一个作业

    

   点击通用将start拖拽到作业中

    

    将转换拖拽过来,将start与转换相连接

    

    

    双击转换,选择之前做好的job

    

    左侧脚本中选择sql组件拖拽过来并连接

    

    新建连接配置mysql数据库,并写插入sql语句

       

    确定,保存job并执行

三、将A数据库中的a表经过ETL过程导入B数据库中

  sql语句地址:https://pan.baidu.com/s/1Eba9TEO3UO9Fjaz522VONw

  实现效果:将hr数据库中的employees表,经过ETL过程,导入到scott数据库中;将列FIRST_NAME和LAST_NAME相连,中间用空格隔开,取名为“NAME”;将列PHONE_NUMBER中的区号加上括号(例如515.123.4567改为(515)123.4567),列名不变;在scott数据库中,该表的列名不变,表名改为dw_dim_employees。

  实现步骤:

  1.双击桌面的 图标进入到kettle的Transformation界面,双击转换切换到操作界面

   在核心对象目录树下找到输入,点击前面的展开三角,找到表输入组件拖入到右侧工作区

     同样的在输出中,找到表输出拖入到右侧工作区;在转换中找到字段选择拖入到右侧工作区。

  2.将这3个组件连接起来,先选中表输入,Shift+鼠标左键拖拽到字段选择上,再选中字段选择同样的Shift+鼠标左键拖拽到表输出上并选定为主输出步骤。

  3.双击表输入,数据库连接处点击新建,连接名称填写hr,连接类型选择mysql。。。与“上边一中的操作一致”

  4.点击下面测试,弹出正确连接数据库hr,点击确定保存设置

在表输入的SQL框中输入如下SQL语句

SELECT EMPLOYEE_ID, CONCAT(FIRST_NAME, ' ', LAST_NAME) AS NAME
, EMAIL
, CONCAT('(', SUBSTR(PHONE_NUMBER, 1, 3), ')', SUBSTR(PHONE_NUMBER, 5)) AS PHONE_NUMBER
, HIRE_DATE, JOB_ID, SALARY, COMMISSION_PCT, NAGER_ID
, DEPARTMENT_ID
FROM employees

  点击预览数据,确认无误后点击确定关闭

  5.双击字段选择,点击获取选择的字段,得到10个字段后点击确定关闭

    双击表输出,依然在数据库连接处点击新建

     在数据库连接界面填入如下信息:回到表输出界面,在目标表中填写表名:dw_dim_employees,勾选指定数据库字段,点击下面数据库字段点击获取字段。

    点击右下角SQL按钮,点击启动

弹出保存提示,选择是,找到一个文件路径(如桌面/项目脚本),为job起个名字

    运行成功

大数据技术之kettle(2)——练习三个基本操作的更多相关文章

  1. 大数据技术之kettle

    大数据技术之kettle 第1章            kettle概述 1.1    什么是kettle kettle是一款开源的ETL工具,纯java编写,可以在Windows.Linux.Uni ...

  2. 大数据技术之kettle(1)——安装

    一. kettle概述 1.kettle是一款开源的ETL工具,纯java编写,可以在Windows.Linux.Unix上运行,绿色无需安装,数据抽取高效稳定. 2.kettle的两种设计 简述: ...

  3. 大数据技术之kettle安装使用

    kettle是一款开源的ETL工具,纯java编写,可以在Windows.Linux.Unix上运行,绿色无需安装,数据抽取高效稳定. kettle的两种设计 简述: Transformation(转 ...

  4. 参加2013中国大数据技术大会(BDTC2013)

    2013年12月5日-6日参加了为期两天的2013中国大数据技术大会(Big Data Technology Conference, BDTC2013),本期会议主题是:“应用驱动的架构与技术 ”.大 ...

  5. 大数据技术人年度盛事! BDTC 2016将于12月8-10日在京举行

    2016年12月8日-10日,由中国计算机学会(CCF)主办,CCF大数据专家委员会承办,中国科学院计算技术研究所和CSDN共同协办的2016中国大数据技术大会(Big Data Technology ...

  6. 2016中国大数据技术大会( BDTC ) 共商大数据时代发展之计

    中国大数据技术大会(BDTC)的前身是Hadoop中国云计算大会(HadoopinChina,HiC).从2008年仅60余人参加的技术沙龙发展到当下数千人的技术盛宴,目前已成为国内最具影响力.规模最 ...

  7. 大数据技术生态圈形象比喻(Hadoop、Hive、Spark 关系)

    [摘要] 知乎上一篇很不错的科普文章,介绍大数据技术生态圈(Hadoop.Hive.Spark )的关系. 链接地址:https://www.zhihu.com/question/27974418 [ ...

  8. 从大数据技术变迁猜一猜AI人工智能的发展

    目前大数据已经成为了各家互联网公司的核心资产和竞争力了,其实不仅是互联网公司,包括传统企业也拥有大量的数据,也想把这些数据发挥出作用.在这种环境下,大数据技术的重要性和火爆程度相信没有人去怀疑. 而A ...

  9. 大数据技术 - MapReduce的Combiner介绍

    本章来简单介绍下 Hadoop MapReduce 中的 Combiner.Combiner 是为了聚合数据而出现的,那为什么要聚合数据呢?因为我们知道 Shuffle 过程是消耗网络IO 和 磁盘I ...

随机推荐

  1. paroot忘记root密码

    打开虚拟机在倒计时进入系统前按下e键然后按照下图修改即可 crtl+x重启 mount –rw –o remount /保证磁盘可读写 然后执行passwd

  2. VLAN实验3:理解Hybrid接口的应用

    实验环境 实验拓扑图 实验编址 实验步骤1.基本配置按照实验编址为PC配置IP地址,以PC5为例 在PC5与PC1通过ping命令测试,发现通讯正常.(以此为例,其他的我就不一一截图测试了.) 在S1 ...

  3. convirt集中管理平台搭建

    情况说明: (1)本文采用OEL6.3x64操作系统,需要有KVM安装环境.(2)convirt2.1.1采用源码方式安装,convirt环境分别两部分,一部分是cms,用于管理kvm/xen虚拟主机 ...

  4. Systemweaver — 电子电气协同设计研发平台

            当前电子电气系统随着功能安全.AutoSAR.车联网.智能驾驶等新要求,导致其复杂性.关联性日益上升.当前,传统基于文档的设计由于其低复用性.无关联性.无协同性等缺点,已经无法适应日益 ...

  5. 行为型模式(四) 观察者模式(Observer)

    一.动机(Motivate) "观察者模式"在现实生活中,实例其实是很多的,比如:八九十年代我们订阅的报纸,我们会定期收到报纸,因为我们订阅了.银行可以给储户发手机短信,也是&qu ...

  6. 结构型模式(六) 享元模式(Flyweight)

    一.动机(Motivate) 在软件系统中,采用纯粹对象方案的问题在于大量细粒度的对象会很快充斥在系统中,从而带来很高的运行时代价--主要指内存需求方面的代价.如何在避免大量细粒度对象问题的同时,让外 ...

  7. Flask - 请求响应 | session | 闪现 | 请求扩展 | 中间件

    请求响应 flask的请求信息都在request里 flask的响应方式有四剑客,也可以自定义响应 请求相关信息 # request.method 提交的方法 # request.args get请求 ...

  8. goto语句——慎用,但是可以用

    最近使用了goto语句,是因为if嵌套太深了,因此把错误处理同意了,直接使用goto语句. 举例: #include <stdio.h> int main () { /* local va ...

  9. SpringBoot官方文档学习(三)配置文件、日志、国际化和JSON

    一.Profiles Spring配置文件提供了一种方法来隔离应用程序配置的各个部分,并使其仅在某些环境中可用.任何@Component.@Configuration或@ConfigurationPr ...

  10. SpringMVC的数据效验

    Spring MVC本身没有数据校验的功能,它使用Hibernate的校验框架来完成. 1.导入pom节点 <!-- https://mvnrepository.com/artifact/org ...