kettle入门教程
目录
1.kettle叙述
1.1什么是kettle
1.2kettle工程存储方式
1.3kettle两种设计
1.4kettle的组成
1.5kettle的下载安装
2.kettle教程
2.1转换
2.1.1普通转换
2.1.2执行sql脚本
2.1.3条件判断Switch Case
2.1.4自定义java代码
2.2作业
1.kettle叙述
1.1什么是kettle
Kettle是一款开源的ETL(Extract-Transform-Load)工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。
1.2kettle工程存储方式
(1)以XML形式存储
(2)以资源库方式存储(数据库资源库和文件资源库)
1.3kettle两种设计
Transformation(转换):完成对数据的基本转换
Job(工作):完成整个工作流的控制
区别:
(1)作业是步骤流,转换是数据流。
(2)作业的每一个步骤必须要等到前面的步骤都跑完了,后面的步骤才会执行,而转换会一次性把所有控件全部先启动(一个控件对应启动一个线程),然后数据流会从第一个控件开始,一条记录一条记录的流向最后控件。
1.4kettle的组成
1.勺子(Spoon.bat/spoon.sh) :是-个图形化的界面,可以让我们用图形化的方式开发转换和作业。windows选择.bat; Linux选择.sh。
2.煎锅(Pan.bat/pan.sh) : 利用Pan可以用命令行的形式调用Trans。
3.厨房(Kitchen batkitchen.sh) : 利用Kitchen可以使用命令行调用]ob
4.菜单(Carte.bat/ Carte.sh): Carte是一 个轻量级的Web容器,用于建立专用、远程的ETL Server。
1.5kettle的下载安装
kettle中文官网
将mysql驱动和oracle驱动放在kettle包下面的lib包下面即可。
2.kettle教程
2.1转换
2.1.1普通转换
-- oracle脚本
create tablespace kettle
datafile 'Z:\oracle\oracle_data\tablespace\kettle.dbf'
size 10m
autoextend on
next 10mcreate user kettle
identified by kettle
default tablespace kettlegrant dba to kettle;create table flower(id varchar2(32) default sys_guid() primary key,flower_name varchar2(200),color varchar2(100),origin varchar2(200),moral varchar2(200),create_time timestamp default sysdate,update_time timestamp
);-- 数据
insert all
into flower(flower_name,color, moral, update_time)
values('红玫瑰', 'red', '热恋与浓烈的爱', sysdate)into flower(flower_name,color, moral, update_time)
values('紫玫瑰', 'purple', '深沉守护的爱情', sysdate)into flower(flower_name,color, moral, update_time)
values('白玫瑰', 'white', '纯洁、纯真的爱', sysdate)into flower(flower_name,color, moral, update_time)
values('粉玫瑰', 'pink', '初恋、宠爱', sysdate)into flower(flower_name,color, moral, update_time)
values('黄玫瑰', 'yellow', '已逝的爱、为爱道歉', sysdate)into flower(flower_name,color, moral, update_time)
values('香槟玫瑰', 'Milky yellow', '爱上你是我今生最幸福的', sysdate)into flower(flower_name,color, moral, update_time)
values('白色郁金香', 'white', '纯洁无暇', sysdate)
into flower(flower_name,color, moral, update_time)
values('红色色郁金香', 'red', '热情与喜爱', sysdate)
into flower(flower_name,color, moral, update_time)
values('粉色郁金香', 'pink', '幸福与怜爱', sysdate)
into flower(flower_name,color, moral, update_time)
values('紫色郁金香', 'purple', '神秘与高贵', sysdate)into flower(flower_name,color, moral, update_time)
values('向日葵', 'yellow', '沉默的爱', sysdate)into flower(flower_name,color, moral, update_time)
values('满天星', 'write、blue、purple、pink、', '甘愿做配角,默默爱着一个人', sysdate)into flower(flower_name,color, moral, update_time)
values('百合', 'write、purple、pink、yellow、black、golden', '百年好合、美好家庭、深深祝福', sysdate)into flower(flower_name,color, moral, update_time)
values('康乃馨', 'write、yellow、purple、pink、', '爱、美丽、尊敬之情', sysdate)into flower(flower_name,color, moral, update_time)
values('洋桔梗', 'write、purple、pink、', '纯洁、感激和真诚的爱', sysdate)into flower(flower_name,color, moral, update_time)
values('洋牡丹', 'write、yellow、purple、pink、', '爱、美丽、尊敬之情', sysdate)into flower(flower_name,color, moral, update_time)
values('白色紫罗兰', 'write、', '想和爱人更近一步', sysdate)into flower(flower_name,color, moral, update_time)
values('紫色紫罗兰', 'purple', '永恒的美', sysdate)into flower(flower_name,color, moral, update_time)
values('蓝色紫罗兰', 'blue', '永恒的美', sysdate)
into flower(flower_name,color, moral, update_time)
values('勿忘我', 'write、yellow、purple、pink、blue', '爱、美丽、尊敬之情', sysdate)
select * from dual;
a.在主对象树->DB连接,创建两个DB连接,这里用oracle和mysql数据库进行转换
b.核心对象->输入,选择表输入
c.核心对象->输出,选择插入/更新,并且按住Shift将输入和输出连接起来
2.1.2执行sql脚本
a.建两个DB连接和上面步骤一样
b.选择核心对象->表输入,选择表输出,并双击配置sql查询语句
c.选择核心对象->脚本,选择sql脚本,按钮Shift将输入和脚本连接起来
d.执行即可
2.1.3条件判断Switch Case
a.还是建两个DB数据库连接
b.核心对象->表输入,双击对表输入进行sql配置
b.核心对象->流程,选择Switch/Case,按住Shift将表输入和Sitch/Case连接起来
ORIGIN值为空执行sql脚本,否则执行插入/更新操作。
d.一个分支选择插入/更新,一个分支选择sql脚本
2.1.4自定义java代码
a.创建两个DB连接
b.核心对象->表输入,进行sql配置
c.核心对象->脚本,选择Java代码,按住Shift将表输入和Java代码连接起来,配置Java代码
选择Main,再进行自定义java代码
Java没有写好确定,测试类->确定前是没有数据的,会提示异常信息,打不开dialog框,属于正常。
启动执行,可以查看预览数据,但是不会改变源数据表里面的内容。
如果产生了新的字段需要进行配置,上面用到还是表中的字段,下面是产生了新的表字段,不会改变原表数据。
2.2作业
a.文件->新建->作业
开始表里没有数据的,执行以后将数据进行插入,再次执行会进行字段更新,根据转换设置的那些需要更新的字段进行更新
kettle入门教程相关推荐
- kettle详细使用oracle教程,Kettle入门教程(详细介绍控件使用方法)_kettle详细使用教程,kettle控件介绍...
Kettle入门教程(详细介绍控件使用方法)本手册主要是对Kettle工具的功能进行详细说明以及如何操作该系统,适合所有使用该系统的人员. 服务查询 数据库查询 数据库连接 流查询 调用存储过程 转换 ...
- kettle下载百度网盘地址含入门教程
入门教程一 入门教程二 入门教程三 入门教程四 入门教程五 入门教程六 入门教程七 入门教程八
- Kafka入门教程与详解
1 Kafka入门教程 1.1 消息队列(Message Queue) Message Queue消息传送系统提供传送服务.消息传送依赖于大量支持组件,这些组件负责处理连接服务.消息的路由和传送.持久 ...
- 【CV】Pytorch一小时入门教程-代码详解
目录 一.关键部分代码分解 1.定义网络 2.损失函数(代价函数) 3.更新权值 二.训练完整的分类器 1.数据处理 2. 训练模型(代码详解) CPU训练 GPU训练 CPU版本与GPU版本代码区别 ...
- python tornado教程_Tornado 简单入门教程(零)——准备工作
前言: 这两天在学着用Python + Tornado +MongoDB来做Web开发(哈哈哈这个词好高端).学的过程中查阅了无数资料,也收获了一些经验,所以希望总结出一份简易入门教程供初学者参考.完 ...
- python向量计算库教程_NumPy库入门教程:基础知识总结
原标题:NumPy库入门教程:基础知识总结 视学算法 | 作者 知乎专栏 | 来源 numpy可以说是 Python运用于人工智能和科学计算的一个重要基础,近段时间恰好学习了numpy,pandas, ...
- mysql query browswer_MySQL数据库新特性之存储过程入门教程
MySQL数据库新特性之存储过程入门教程 在MySQL 5中,终于引入了存储过程这一新特性,这将大大增强MYSQL的数据库处理能力.在本文中将指导读者快速掌握MySQL 5的存储过程的基本知识,带领用 ...
- python tensorflow教程_TensorFlow入门教程TensorFlow 基本使用T
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 TensorFlow入门教程 TensorFlow 基本使用 TensorFlow官方中文教程 TensorFlow 的特点: 使用图 (graph) 来 ...
- air调用java,AIR2.0入门教程:与Java应用交互
在之前的一篇文章中,我介绍了如何使用AIR2.0新增的NativeProcess类与本地进程进行交互和通讯,在那个例子里面我们使用了C++ 的代码,实际上只要是基于命令行的标准输入输出,AIR2.0的 ...
- 【Arduino】开发入门教程【一】什么是Arduino
Arduino Arduino 是一款便捷灵活.方便上手的开源电子原型平台,包含硬件(各种型号的arduino板)和软件(arduino IDE).它适用于艺术家.设计师.爱好者和对于"互动 ...
最新文章
- 钉钉被小学生逼疯,拍片在线求饶哈哈哈哈
- Android 项目结构说明
- javaweb学习总结(三十八):事务
- oracle序列创建及使用,Oracle创建和使用序列
- 深度学习之边框回归(Bounding Box Regression)
- HTTP、TCP连接工具
- 思迈特软件Smartbi:最常用的五种大数据分析方法,建议收藏!
- win7计算机管理没有用户模块,Win7系统安装“ipx协议”提示“找不到相应的模块”如何解决...
- Java多线程系列--“JUC集合”02之 CopyOnWriteArrayList
- 黑盒测试---等价类划分
- TR1 tuple的用法
- 电子绘画画笔笔刷模式的学习笔记
- java生成二维码扫描跳转到指定的路径URL
- 9 个非常实用的网络调试命令,你会用几个呢?
- 批量图片采集编辑压缩工具
- pycharm远程连接服务器问题Uploading PyCharm helpers Python Interpreter... Python helpers are not copied yet
- 函数的返回值 return(基础)
- MS Office Excel 2007/2003 资料下载汇总
- Sec-Fetch-*请求头
- 微信小程序关于内层view设置margin-top无效的解决方案
热门文章
- Java数据库的介绍和使用
- Java 数据库image型输出图片
- 毕业设计-基于Springboot实现仓库管理系统
- 软件测试验收方法_验收测试是美丽的魔术。 这就是它可以改善您的生活的方法。...
- 【Android 教程系列第 32 篇】如何查看本地已安装的 java jdk 都有哪些版本
- fanuc以太网参数设置视频_fanuc-mf系统 以太网设置方法资料
- springboot整合aceadmin
- 雷诺方程推导及FDM求解
- 用计算机关闭无线网络连接,我的DELL笔记本电脑无线网络已关闭,怎么进行再连接?...
- [ECCV2020]Beyond 3DMM Space: Towards Fine-grained 3D Face Reconstruction