大数据技术之kettle
大数据技术之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的更多相关文章
- 大数据技术之kettle(2)——练习三个基本操作
一.同一数据库两表数据关联更新 实现效果:把stu1的数据按id同步到stu2,stu2有相同id则更新数据 步骤: 1.在mysql中创建两张表: mysql>create database ...
- 大数据技术之kettle(1)——安装
一. kettle概述 1.kettle是一款开源的ETL工具,纯java编写,可以在Windows.Linux.Unix上运行,绿色无需安装,数据抽取高效稳定. 2.kettle的两种设计 简述: ...
- 大数据技术之kettle安装使用
kettle是一款开源的ETL工具,纯java编写,可以在Windows.Linux.Unix上运行,绿色无需安装,数据抽取高效稳定. kettle的两种设计 简述: Transformation(转 ...
- 除Hadoop大数据技术外,还需了解的九大技术
除Hadoop外的9个大数据技术: 1.Apache Flink 2.Apache Samza 3.Google Cloud Data Flow 4.StreamSets 5.Tensor Flow ...
- 参加2013中国大数据技术大会(BDTC2013)
2013年12月5日-6日参加了为期两天的2013中国大数据技术大会(Big Data Technology Conference, BDTC2013),本期会议主题是:“应用驱动的架构与技术 ”.大 ...
- 大数据技术人年度盛事! BDTC 2016将于12月8-10日在京举行
2016年12月8日-10日,由中国计算机学会(CCF)主办,CCF大数据专家委员会承办,中国科学院计算技术研究所和CSDN共同协办的2016中国大数据技术大会(Big Data Technology ...
- 大数据技术 vs 数据库一体机[转]
http://blog.sina.com.cn/s/blog_7ca5799101013dtb.html 目前,虽然大数据与数据库一体机都很火热,但相当一部分人却无法对深入了解这两者的本质区别.这里便 ...
- 超人学院Hadoop大数据技术资源分享
超人学院Hadoop大数据技术资源分享 http://bbs.superwu.cn/forum.php?mod=viewthread&tid=807&fromuid=645 很多其它精 ...
- 2016中国大数据技术大会( BDTC ) 共商大数据时代发展之计
中国大数据技术大会(BDTC)的前身是Hadoop中国云计算大会(HadoopinChina,HiC).从2008年仅60余人参加的技术沙龙发展到当下数千人的技术盛宴,目前已成为国内最具影响力.规模最 ...
随机推荐
- Oracle之:Function :func_float()
create or replace function func_float(i_value float) return number is v_index number := 0; v_str var ...
- springboot与springcloud版本不对应导致报错java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.<init>([Ljava/lang/Object;)V
springboot启动报错: 10:31:50.221 [main] ERROR org.springframework.boot.SpringApplication - Application r ...
- Python之asyncio模块的使用
asyncio模块作用:构建协程并发应用的工具 python并发的三大内置模块,简单认识: .multiprocessing:多进程并发处理 .threading模块:多线程并发处理 .asyncio ...
- php+列出目录文件
用过浏览器的开发人员都对大文件上传与下载比较困扰,之前遇到了一个php文件夹上传下载的问题,无奈之下自己开发了一套文件上传控件,在这里分享一下.希望能对你有所帮助.此控件PC全平台支持包括mac,li ...
- Confluence 6 上传一个附加文件的新版本
有下面 2 种方法来上传一个附加文件的新版本,你可以: 上传与已有附件具有相同文件名的版本. 使用 上传一个新版本(Upload a new version) 按钮来进行上传(这个在文件预览界面中 ...
- bzoj 4899 记忆的轮廓 题解(概率dp+决策单调性优化)
题目背景 四次死亡轮回后,昴终于到达了贤者之塔,当代贤者夏乌拉一见到昴就上前抱住了昴“师傅!你终于回来了!你有着和师傅一样的魔女的余香,肯定是师傅”.众所周知,大贤者是嫉妒魔女沙提拉的老公,400年前 ...
- less命令:查看文件内容
less 命令的作用和 more 十分类似,都用来浏览文本文件中的内容,不同之处在于,使用 more 命令浏览文件内容时,只能不断向后翻看,而使用 less 命令浏览,既可以向后翻看,也可以向前翻看. ...
- Volatile关键字的两个作用
1.保证修饰的变量对所有线程的可见性,这里的“可见性”是指当一条线程修改了这个值,新值对于其他线程来说是可以立即得知的. 2.禁止指令重新排序化
- 26.Python三目运算符(三元运算符)用法详解
Python 可通过 if 语句来实现三目运算符的功能,因此可以近似地把这种 if 语句当成三目运算符.作为三目运算符的 if 语句的语法格式如下: True_statements if expres ...
- 主线程 Looper.loop() 死循环为何不会ANR
先看下 ActivityThread 中的这段代码: 而 loop() 方法中,存在一个死循环: public static void loop() { ... ... ... for (;;) { ...