大数据技术之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. C语言1-2019秋第一周作业

    第一周作业 1.你对软件工程专业或者计算机科学与技术专业了解是怎样? 软件技术专业是计算机科学的一个分支,和软件科学与技术专业相比较,软件技术专业的侧重点在开发和技术的实际应用,而对软件开发的理论要求 ...

  2. vue cli3 + cube-ui 配置rem踩坑记录

    在install cube-ui时,选择了后编译,选中使用rem的时候会发现,怎么刷新页面的html字体被设置成了37.5px 感觉太大了,于是去寻找修改的办法,第一反应是webpack的配置,于是去 ...

  3. 基于node.js的websocket上传小功能

    一.node.js 在目录里新建index.js var ws = require("nodejs-websocket"); console.log("开始建立连接... ...

  4. 如何理解JS内的Truthy值和Falsy值

    跟据MDN的术语表解释如下: 在 JavaScript 中,Truthy (真值)指的是在 布尔值 上下文中转换后的值为真的值.所有值都是真值,除非它们被定义为 falsy (即除了 false,0, ...

  5. win10本机安装rabbitMQ

    在win10环境下安装RabbitMQ的步骤 第一步:下载并安装erlang 原因:RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang. 下载 ...

  6. 分析 JUnit 框架源代码

    本文转载至http://www.ibm.com/developerworks/cn/java/j-lo-junit-src/ 分析 JUnit 框架源代码 理解 JUnit 测试框架实现原理和设计模式 ...

  7. Subarray Sorting (线段树)

    题意:给你两个长度为 n 的序列 a 和 b , 可以对 a 进行 操作: 选择一段区间[ l, r ] ,使得序列a 在这段区间里 按升序排序. 可以对a 进行任意多次操作,问 a是否有可能变成b序 ...

  8. MessagePack Java 0.6.X 不使用注解(annotations)来序列化

    如果你不能添加 @Message 到你的定义对象中但是你还是希望进行序列化.你可以使用 register 方法来在类中启用序列化对象. 如下的代码所示: MessagePack msgpack = n ...

  9. 用Python操作excel文档

    使用Python第三方库 这一节我们学习如何使用Python去操作Excel文档.如果大家有人不知道Excel的话,那么建议先学一学office办公基础.这里想要操作Excel,必须安装一个Pytho ...

  10. PTA 笛卡尔树

    笛卡尔树 (25 分) 笛卡尔树是一种特殊的二叉树,其结点包含两个关键字K1和K2.首先笛卡尔树是关于K1的二叉搜索树,即结点左子树的所有K1值都比该结点的K1值小,右子树则大.其次所有结点的K2关键 ...