大数据技术之kettle

第1章            kettle概述

1.1    什么是kettle

kettle是一款开源的ETL工具,纯java编写,可以在Windows、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。

1.2    kettle核心知识点

1.2.1        kettle工程存储方式

1)  以XML形式存储

2)  以资源库方式存储(数据库资源库和文件资源库)

1.2.2        kettle的两种设计

简述: Transformation(转换):完成针对数据的基础转换。

Job(作业):完成整个工作流的控制。

区别:(1)作业是步骤流,转换是数据流。

(2)作业的每一个步骤必须等到前面的步骤都跑完了后面的步骤才会执行;而转换会一次性把所有控件全部先启动(一个控件对应启动一个线程),然后数据流会从第一个控件开始,一条记录、一条记录的流向最后的控件。

1.2.3 Kettle的组成

1. 勺子(Spoon.bat/spoon.sh):是一个图形化的界面,可以让我们用图形化的方式开发转换和作业。Windows选择.bat;Linux选择.sh

2. 煎锅(Pan.bat/pan.sh):利用Pan可以用命令行的形式调用Trans

3. 厨房(Ktitchen.bat/kitchen.sh):利用Kitchen可以使用命令行调用Job

4. 菜单(Carte.bat/carte.sh):Carte是一个轻量级的Web容器,用于建立专用、远程的ETL Server。

1.3 kettle的特点

第2章            kettle安装部署和使用

2.1 kettle安装地址

官网地址:

https://community.hitachivantara.com/s/article/data-integration-kettle

下载地址:

https://sourceforge.net/projects/pentaho/files/

2.2 Windows下安装使用

2.2.1 概述

在实际企业开发中,都是在本地环境下进行kettle的Job和Transformation开发,可以在本地运行,也可以连接远程机器运行。

2.2.2 安装

1)安装jdk

下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

同意相关协议,再下载对应版本的jdk(windows x64)

下载软件为,双击安装

下一步继续安装(需要注意路径)

下一步等待安装完成。

2)下载kettle压缩包,因为kettle为绿色软件,解压缩到任意本地路径即可

3)双击Spoon.bat,启动图形化界面工具即可使用

案例一 把stu1的数据按id同步到stu2,stu2有相同id则更新数据

在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));

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

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

在kettle中新建转换

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

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

sql语句中输入select * from stu1;

点击预览可以看到数据

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

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

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

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

确定后如图

更新处,修改id的属性为n,确定

保存运行,到数据库中查看结果。

大数据技术之kettle的更多相关文章

  1. 大数据技术之kettle(2)——练习三个基本操作

    一.同一数据库两表数据关联更新 实现效果:把stu1的数据按id同步到stu2,stu2有相同id则更新数据 步骤: 1.在mysql中创建两张表: mysql>create database ...

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

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

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

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

  4. 除Hadoop大数据技术外,还需了解的九大技术

    除Hadoop外的9个大数据技术: 1.Apache Flink 2.Apache Samza 3.Google Cloud Data Flow 4.StreamSets 5.Tensor Flow ...

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

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

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

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

  7. 大数据技术 vs 数据库一体机[转]

    http://blog.sina.com.cn/s/blog_7ca5799101013dtb.html 目前,虽然大数据与数据库一体机都很火热,但相当一部分人却无法对深入了解这两者的本质区别.这里便 ...

  8. 超人学院Hadoop大数据技术资源分享

    超人学院Hadoop大数据技术资源分享 http://bbs.superwu.cn/forum.php?mod=viewthread&tid=807&fromuid=645 很多其它精 ...

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

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

随机推荐

  1. python标准库之glob

    在python中,glob模块是用来查找匹配的文件的 在查找的条件中,需要用到Unix shell中的匹配规则: * : 匹配所所有 ? : 匹配一个字符 *.* : 匹配如:[hello.txt,c ...

  2. vue学习时遇到的问题(二)

    1. this.$nextTick veu中进行数据改变后,并不会马上刷新视图:用nextTick可告诉执行下个函数后马上刷新视图: this.$nextTick(function(){     // ...

  3. java+文件批量下载

    这篇文章主要介绍了Java实现批量下载选中文件功能,非常不错,具有参考借鉴价值,需要的朋友可以参考下 1.在action中定义变量 private List<String> downLoa ...

  4. SpringMVC——MVC执行流程底层剖析

    SpringMVC流程图如上面所示,根据上图,串联一下底层源码: 1.在DispatcherServlet中找到doDisPatch 2.观察方法体,然后找到getHandler方法 3.点进方法,发 ...

  5. 微信小程序搭建mpvue+vant+flyio

    导语 上一篇文章微信小程序搭建mpvue+vant已经介绍了如何搭起mpvue项目及引入vant,本篇文章继续在它的基础上,引入flyio,并做一些封装,目的是为了在小程序发起请求. 这时读者会有些疑 ...

  6. 27.Python列表(list)、元组(tuple)、字典(dict)和集合(set)详解

    本章将会介绍 Python 内置的四种常用数据结构:列表(list).元组(tuple).字典(dict)以及集合(set). 这四种数据结构一但都可用于保存多个数据项,这对于编程而言是非常重要的,因 ...

  7. CSP2019游(AFO?)记

    Day 1 不知道为啥一看到\(T1\)就想到\(longlong\)可能存不下,试了下果然. \(T2\)想了半个小时胡出个\(O(n)\)算法,但是假了.冷静了一下,做了前缀和之后,合法的子区间\ ...

  8. python中列表的简单用法

    1.定义list >>> li = ["a", "b", "mpilgrim", "z", " ...

  9. websphere部署不能发布war文件,提示“配置库中已存在应用程序

    碰上这种问题, 要是全删除与war相关配置文件,要么按网上教程,一点点搜下面的文件中包含的相关文件: $WAS_HOME/profiles/AppSrv01/config/cells/...cell/ ...

  10. PHP 封装POD 类

    使用POD的过程 //1.造DSN:驱动名:dbname=数据库名;host=服务器地址 $dsn = "mysql:dbname=mydb;host=localhost"; // ...