Kettle-Spoon入门示例
Spoon 是Kettle的设计调试工具
[Demo文档下载] https://files.cnblogs.com/files/shexunyu/Kettle-Spoon-Demo%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3.zip
[驱动下载] https://files.cnblogs.com/files/shexunyu/Kettle-Spoon-Mysql-Mssq-Orcle-lwin64%E9%A9%B1%E5%8A%A8.zip
[SpoonDemo源文件下载] https://files.cnblogs.com/files/shexunyu/Kettle-Spoon-Demo.zip
1. 微软ETL与Java 开源Kettle做下对比
- 微软Integration Services 项目 测试(仅2008版做比较,更高版本未尝试)
a) 整体结构

b) 全量&增量

- Kettle Spoon项目
a) 随机数过滤分支
b) 计算器
c) 笛卡尔计算

2. Kettle Spoon MySql数据库连接
- 驱动:
a) 驱动错误
b) 驱动添加

- 端口错误:连接数据库端口不对
- 正常连接
- 表输入
a) 新建一个表输入,获取数据库表的数据
b) Sql语句
c) 预览数据
d) 当前表数据输出到另外一个同样的表
e) 设置输出表
f) 输出表字段
g) 输出表字段选择

h) 预览

i) 查看日志
j) 借助表输入预览来查看数据是否存储到数据库
3. MsSql 数据库连接
- 驱动错误
- 新增驱动
a) 把下载的包放到对应位置
b) 测试连接
- Mysql表数据获取输出到Mssql
a) 拖拽一个表输入,设置一个有数据的表,输出到一个同样结构的空表

b) 配置映射关系
c) 启动预览

d) 预览数据
4. Oracle数据库连接
- 数据库驱动及连接测试
a) 数据库连接
b) 数据库之间的交互可以参照上面实例
5. 文件(Txt、Json、Xml、Access等)
- 文件的路径设置
a) 全局变量+文件方式(${Internal.Transformation.Filename.Directory}文件名)
- 变量通过Ctrl+Alt+Space三个键组合显示出来,或者使用图表点击
b) 绝对路径
- Access输入
a) Access文件选择
b) 转换预览
- Excel获取
a) Excel输入
b) 添加文件
c) 选择工作表
d) 设置需要获取的字段
e) 预览记录
- JSON 输入
a) Json文件输入(8.1你可能找不到Json输入,请拷贝文件Json输入到你新的转换)
b) Json文件字段获取
c) 预览
- 文本文件输入
a) 一般文件
- 输入
- 字段获取=》预览
b) 固定宽度文件输入
- 设置文件字段宽度
- 字段设置=》预览
c) 编码文件输入
- 文件输出分发
a) 设置结构
b) 复制两份
c) 输出两个不同的文件
d) 两个输出文件一起执行
6. RestApiLogin
- 用户数据获取(存在登录参数)
a) 有参数直接调用方式http://10.60.136.145:9102/api/auth/login)登录及获取接口Json数据
b) 预览
- 用户数据获取(未登录状态)
a) 设置启动参数
b) 设置参数字段是否是请求的头类型
c) 结果中提取Token
d) 格式化符合规范的Token值
e) 设置请求参数字段类型
f) 结果一次解析,这里得到结果就可以做更多的逻辑处理,分析是否继续向下执行或解析
g) Data二次解析
h) 过滤或选择字段
i) 预览
7. Hbase数据库
- 相对麻烦,有需要请联系,这里暂不增加篇幅
- 新建转换
8. Job作业
a) 生成记录
b) 文件输出
c) 获取字段
d) 运行
e) 预览
- 新建Job作业
a) 开始
b) 转换引用
c) 成功标记
d) 运行预览(每5秒从从头执行一次)
e) 错误分支,返回刚才的转换,修改并保存
f) 错误分支设置
g) 错误作业预览(基本的成功和错误的流程作业就先介绍到这里)
h) 请测试完不要忘记停止作业哦
9. 业务场景
- 整体结构
- Csv场景:不断监控某一个文件夹,把文件夹里面的Csv文件进行解析入库,需要执行增量更新,历史文件进行备份。
a) 整体结构
b) 文件格式
c) 获取文件
d) 字段选择
e) CSV文件输入
b) 过滤记录
c) 拆分字段
d) 字段选择,格式化字段
e) 输出到表
f) 排除不需要的字段行
g) 过滤记录-用来做条件分支
h) 获取有效字段
i) 记录集连接
j) 字符串替换-找到下划线进行替换空
k) 字段的选择-表数据
l) 以上有逻辑里面有给两个表写入数据,第一个表写入原始数据作为历史记录,第二个表是经过处理后的数据
m) 建立Job是能够自动监控文件夹,然后进行增量操作
n) 复制文件
- o) 复制文件设置
p) 设置转换-指定转换
q) 文件备份
r) 以上的作业可以对一个文件夹持续监控执行转换,最后备份文件
- Cassandra场景:通过连接Cassandra数据库获取数据,然后通过RestApi接口提交数据
a) 整体结果
b) 连接数据库
c) 增加字段
d) 设置字段常量-设置Json字符串模板
PostUrl: http://10.60.136.156:8089/api/dlapiservice/v1/BusinessIdValue
PostJsonStr: {"businessId":"businessIdValue","rowKvList":[{"columnKvList":[{"key":"rowkey","value":"rowkeyValue","type":"STRING"},{"key":"filename","value":"filenameValue","type":"STRING"},{"key":"filesize","value":"filesizeValue","type":"LONG"},{"key":"usercode","value":"usercodeValue","type":"STRING"},{"key":"username","value":"usernameValue","type":"STRING"}]}]}
e) 需要提交的数据格式
f) Java片段代码-客制化字段
g) 字符串替换,模板字段替换
h) RestClient-提交Json数据
i) 以上就是数据通过从数据库提取转换提交到Rest接口
- 获取RestApi数据 场景:获取RestApi数据存储到Mysql数据库
a) 整体结果
b) 设置字段常量
http://10.60.136.156:8089/api/dlapiservice/v1/hbpincloud/WT00169:File:1540448142572:8a778832-0d28-4684-932d-6701e1028876/WT00169:File:1540448142584:3f18fdfd-3e73-4632-8acf-d5840f1e1429/10
c) Get访问RestApi
d) Json的解析需要怎么做?
e) Json提取-提取关键字段
f) Java片段代码
g) 提取字段
h) 插入/更新 写入Mysql数据库
10. 部署
- Windows部署
a) 在windows下转换及Job可以依托windows排程来部署
b) 转换部署
c) Job部署
- linux部署待续
Kettle-Spoon入门示例的更多相关文章
- Kettle Spoon入门教程
Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,数据抽取高效稳定.其中,Spoon是Kettle中的一个组件,其他组件有PAN,CHEF,Enc ...
- [WCF编程]1.WCF入门示例
一.WCF是什么? Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,整合了原有的windows通讯的 .net Remotin ...
- Maven入门示例(3):自动部署至外部Tomcat
Maven入门示例(3):自动部署至外部Tomcat 博客分类: maven 2012原创 Maven入门示例(3):自动部署至外部Tomcat 上一篇,介绍了如何创建Maven项目以及如何在内 ...
- 1.【转】spring MVC入门示例(hello world demo)
1. Spring MVC介绍 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于 ...
- 【java开发系列】—— spring简单入门示例
1 JDK安装 2 Struts2简单入门示例 前言 作为入门级的记录帖,没有过多的技术含量,简单的搭建配置框架而已.这次讲到spring,这个应该是SSH中的重量级框架,它主要包含两个内容:控制反转 ...
- Spring MVC 入门示例讲解
在本例中,我们将使用Spring MVC框架构建一个入门级web应用程序.Spring MVC 是Spring框架最重要的的模块之一.它以强大的Spring IoC容器为基础,并充分利用容器的特性来简 ...
- Couchbase之个人描述及入门示例
本文不打算抄袭官方或者引用他人对Couchbase的各种描述,仅仅是自己对它的一点理解(错误之处,敬请指出),并附上一个入门示例. ASP.NET Web项目(其他web开发平台也一样)应用规模小的时 ...
- Velocity魔法堂系列一:入门示例
一.前言 Velocity作为历史悠久的模板引擎不单单可以替代JSP作为Java Web的服务端网页模板引擎,而且可以作为普通文本的模板引擎来增强服务端程序文本处理能力.而且Velocity被移植到不 ...
- OUYA游戏开发核心技术剖析OUYA游戏入门示例——StarterKit
第1章 OUYA游戏入门示例——StarterKit StarterKit是一个多场景的游戏示例,也是OUYA官方推荐给入门开发者分析的第一个完整游戏示例.本章会对StarterKit做详细介绍,包 ...
- Springmvc整合tiles框架简单入门示例(maven)
Springmvc整合tiles框架简单入门示例(maven) 本教程基于Springmvc,spring mvc和maven怎么弄就不具体说了,这边就只简单说tiles框架的整合. 先贴上源码(免积 ...
随机推荐
- 深入理解java虚拟机---->java内存区域与内存溢出异常
2. java内存区域于内存溢出异常 2.1 概述: 对于C/C++而言,内存管理具有最高的权利,既拥有每一个对象的“所有权”,又担负着每一个对象生命开始到结束的维护责任. 对于java而言,则把内存 ...
- POJ2217(最长公共子串)
Secretary Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 992 Accepted: 408 Descripti ...
- MSSQL 调用 .net 代码
http://www.cnblogs.com/laozhao8/p/3398681.html 在SQL Server中调用.NET程序集 需求是这样的,我在.net程序里操作数据时将一些字段数据加 ...
- mysql:视图,触发器
一视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL 语句获取动态的数据集,并未其命名],用户使用时只需使用名称即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以吧查询过程的临时表 ...
- 重温sql 设计的基本三大范式
第一范式:确保每列的原子性. 如果每列(或者每个属性)都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式. 例如:顾客表(姓名.编号.地址.……)其中"地址"列还可 ...
- html实现点击图片放大功能
话不多说,直接上代码 <html> <head> <style> .over {position: fixed; left:0; top:0; width:100% ...
- HDU1080 【LCS变形】
题意: 给你每种字符匹配的权值大小,给你两个串,长度小的串可以在小串里面添加空格和大串匹配,问你一个最大匹配权值. 思路: 有点类似于LCS吧,我们在求两个串的LCS的时候,不行的就扔掉了,在这里就是 ...
- HDU4166【BFS】
题意: 给你一幅图,给你起点和终点,再给你机器人所面对的方向,机器人可以左转90°,右转90°,向前进一格,每种操作都是1秒,,求起点和终点最少花费下的路径条数,方案数: 思路: 这里有一个不同就是机 ...
- 正向渲染路径细节 Forward Rendering Path Details
http://www.ceeger.com/Components/RenderTech-ForwardRendering.html This page describes details of For ...
- Luogu P4892 GodFly的寻宝之旅【状压dp】By cellur925
题目传送门 又是一道状压+计数类好题hh(真香).数据范围非常友好,告诉我们\(n<=18\),非常符合状压的性质. 其实感觉和\(Hamilton\)路径那题还是有些相似的,我们可以类似地设计 ...




























