Kettle-Spoon入门示例

摘要:
e)Json提取-提取关键字段f)Java片段代码g)提取字段h)插入/更新写入M

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做下对比... 2

2. Kettle Spoon MySql数据库连接... 5

3. MsSql 数据库连接... 11

4. Oracle数据库连接... 14

5. 文件(Txt、Json、Xml、Access等)... 15

6. RestApiLogin. 25

7. Hbase. 31

8. Job作业... 31

9. 业务场景... 36

10 部署... 55

1. 微软ETL与Java 开源Kettle做下对比

  1. 微软Integration Services 项目 测试(仅2008版做比较,更高版本未尝试)

a) 整体结构

Kettle-Spoon入门示例第1张

b) 全量&增量

Kettle-Spoon入门示例第2张

Kettle-Spoon入门示例第3张

  1. Kettle Spoon项目

a) 随机数过滤分支

Kettle-Spoon入门示例第4张

b) 计算器

Kettle-Spoon入门示例第5张

c) 笛卡尔计算

Kettle-Spoon入门示例第6张

Kettle-Spoon入门示例第7张

2. Kettle Spoon MySql数据库连接

  1. 驱动:

a) 驱动错误

Kettle-Spoon入门示例第8张

b) 驱动添加

Kettle-Spoon入门示例第9张

  1. 端口错误:连接数据库端口不对

Kettle-Spoon入门示例第10张

  1. 正常连接

Kettle-Spoon入门示例第11张

  1. 表输入

a) 新建一个表输入,获取数据库表的数据

Kettle-Spoon入门示例第12张

b) Sql语句

Kettle-Spoon入门示例第13张

c) 预览数据

Kettle-Spoon入门示例第14张

d) 当前表数据输出到另外一个同样的表

Kettle-Spoon入门示例第15张

e) 设置输出表

Kettle-Spoon入门示例第16张

f) 输出表字段

Kettle-Spoon入门示例第17张

g) 输出表字段选择

Kettle-Spoon入门示例第18张

h) 预览

Kettle-Spoon入门示例第19张

i) 查看日志

Kettle-Spoon入门示例第20张

Kettle-Spoon入门示例第21张

j) 借助表输入预览来查看数据是否存储到数据库

Kettle-Spoon入门示例第22张

3. MsSql 数据库连接

  1. 驱动错误

Kettle-Spoon入门示例第23张

  1. 新增驱动

a) 把下载的包放到对应位置

Kettle-Spoon入门示例第24张

b) 测试连接

Kettle-Spoon入门示例第25张

  1. Mysql表数据获取输出到Mssql

a) 拖拽一个表输入,设置一个有数据的表,输出到一个同样结构的空表

Kettle-Spoon入门示例第26张

b) 配置映射关系

Kettle-Spoon入门示例第27张

c) 启动预览

Kettle-Spoon入门示例第28张

d) 预览数据

Kettle-Spoon入门示例第29张

4. Oracle数据库连接

  1. 数据库驱动及连接测试

a) 数据库连接

Kettle-Spoon入门示例第30张

b) 数据库之间的交互可以参照上面实例

5. 文件(Txt、Json、Xml、Access等)

  1. 文件的路径设置

a) 全局变量+文件方式(${Internal.Transformation.Filename.Directory}文件名)

  1. 变量通过Ctrl+Alt+Space三个键组合显示出来,或者使用图表点击

Kettle-Spoon入门示例第31张

b) 绝对路径

Kettle-Spoon入门示例第32张

  1. Access输入

a) Access文件选择

Kettle-Spoon入门示例第33张

b) 转换预览

Kettle-Spoon入门示例第34张

  1. Excel获取

a) Excel输入

Kettle-Spoon入门示例第35张

b) 添加文件

Kettle-Spoon入门示例第36张

c) 选择工作表

Kettle-Spoon入门示例第37张

d) 设置需要获取的字段

Kettle-Spoon入门示例第38张

e) 预览记录

Kettle-Spoon入门示例第39张

  1. JSON 输入

a) Json文件输入(8.1你可能找不到Json输入,请拷贝文件Json输入到你新的转换)

Kettle-Spoon入门示例第40张

b) Json文件字段获取

Kettle-Spoon入门示例第41张

c) 预览

Kettle-Spoon入门示例第42张

5.文本文件输入

a) 一般文件

    1.    输入

Kettle-Spoon入门示例第43张

    1.   字段获取=》预览

Kettle-Spoon入门示例第44张

b) 固定宽度文件输入

  1. 设置文件字段宽度

Kettle-Spoon入门示例第45张

  1. 字段设置=》预览

Kettle-Spoon入门示例第46张

c) 编码文件输入

Kettle-Spoon入门示例第47张

  1. 文件输出分发

a) 设置结构

Kettle-Spoon入门示例第48张

b) 复制两份

Kettle-Spoon入门示例第49张

c) 输出两个不同的文件

Kettle-Spoon入门示例第50张

d) 两个输出文件一起执行

6. RestApiLogin

  1. 用户数据获取(存在登录参数)

a) 有参数直接调用方式http://10.60.136.145:9102/api/auth/login)登录及获取接口Json数据

Kettle-Spoon入门示例第51张

b) 预览

Kettle-Spoon入门示例第52张

  1. 用户数据获取(未登录状态)

a) 设置启动参数

Kettle-Spoon入门示例第53张

b) 设置参数字段是否是请求的头类型

Kettle-Spoon入门示例第54张

c) 结果中提取Token

Kettle-Spoon入门示例第55张

d) 格式化符合规范的Token值

Kettle-Spoon入门示例第56张

e) 设置请求参数字段类型

Kettle-Spoon入门示例第57张

f) 结果一次解析,这里得到结果就可以做更多的逻辑处理,分析是否继续向下执行或解析

Kettle-Spoon入门示例第58张

g) Data二次解析

Kettle-Spoon入门示例第59张

h) 过滤或选择字段

Kettle-Spoon入门示例第60张

i) 预览

Kettle-Spoon入门示例第61张

7. Hbase数据库

  1. 相对麻烦,有需要请联系,这里暂不增加篇幅,有需要可以加我微信或给我留言

8. Job作业

  1. 新建转换

a) 生成记录

Kettle-Spoon入门示例第62张

b) 文件输出

Kettle-Spoon入门示例第63张

c) 获取字段

Kettle-Spoon入门示例第64张

d) 运行

Kettle-Spoon入门示例第65张

e) 预览

Kettle-Spoon入门示例第66张

  1. 新建Job作业

a) 开始

Kettle-Spoon入门示例第67张

b) 转换引用

Kettle-Spoon入门示例第68张

c) 成功标记

Kettle-Spoon入门示例第69张

d) 运行预览(每5秒从从头执行一次)

Kettle-Spoon入门示例第70张

e) 错误分支,返回刚才的转换,修改并保存

Kettle-Spoon入门示例第71张

f) 错误分支设置

Kettle-Spoon入门示例第72张

g) 错误作业预览(基本的成功和错误的流程作业就先介绍到这里)

Kettle-Spoon入门示例第73张

h) 请测试完不要忘记停止作业哦

9. 业务场景

  1. 整体结构

Kettle-Spoon入门示例第74张

  1. Csv场景:不断监控某一个文件夹,把文件夹里面的Csv文件进行解析入库,需要执行增量更新,历史文件进行备份。

a) 整体结构

Kettle-Spoon入门示例第75张

b) 文件格式

Kettle-Spoon入门示例第76张

c) 获取文件

Kettle-Spoon入门示例第77张

d) 字段选择

Kettle-Spoon入门示例第78张

e) CSV文件输入

Kettle-Spoon入门示例第79张

b) 过滤记录

Kettle-Spoon入门示例第80张

c) 拆分字段

Kettle-Spoon入门示例第81张

d) 字段选择,格式化字段

Kettle-Spoon入门示例第82张

e) 输出到表

Kettle-Spoon入门示例第83张

f) 排除不需要的字段行

Kettle-Spoon入门示例第84张

g) 过滤记录-用来做条件分支

Kettle-Spoon入门示例第85张

h) 获取有效字段

Kettle-Spoon入门示例第86张

i) 记录集连接

Kettle-Spoon入门示例第87张

j) 字符串替换-找到下划线进行替换空

Kettle-Spoon入门示例第88张

k) 字段的选择-表数据

Kettle-Spoon入门示例第89张

l) 以上有逻辑里面有给两个表写入数据,第一个表写入原始数据作为历史记录,第二个表是经过处理后的数据

m) 建立Job是能够自动监控文件夹,然后进行增量操作

Kettle-Spoon入门示例第90张

n) 复制文件

Kettle-Spoon入门示例第91张

o) 复制文件设置

Kettle-Spoon入门示例第92张

p) 设置转换-指定转换

Kettle-Spoon入门示例第93张

q) 文件备份

Kettle-Spoon入门示例第94张

r) 以上的作业可以对一个文件夹持续监控执行转换,最后备份文件

  1. Cassandra场景:通过连接Cassandra数据库获取数据,然后通过RestApi接口提交数据

a) 整体结果

Kettle-Spoon入门示例第95张

b) 连接数据库

Kettle-Spoon入门示例第96张

c) 增加字段

Kettle-Spoon入门示例第97张

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"}]}]}

Kettle-Spoon入门示例第98张

e) 需要提交的数据格式

Kettle-Spoon入门示例第99张

f) Java片段代码-客制化字段

Kettle-Spoon入门示例第100张

g) 字符串替换,模板字段替换

Kettle-Spoon入门示例第101张

h) RestClient-提交Json数据

Kettle-Spoon入门示例第102张

i) 以上就是数据通过从数据库提取转换提交到Rest接口

  1.   获取RestApi数据 场景:获取RestApi数据存储到Mysql数据库

a) 整体结果

Kettle-Spoon入门示例第103张

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

Kettle-Spoon入门示例第104张

c) Get访问RestApi

Kettle-Spoon入门示例第105张

d) Json的解析需要怎么做?

Kettle-Spoon入门示例第106张

e) Json提取-提取关键字段

Kettle-Spoon入门示例第107张

f) Java片段代码

Kettle-Spoon入门示例第108张

g) 提取字段

Kettle-Spoon入门示例第109张

h) 插入/更新 写入Mysql数据库

Kettle-Spoon入门示例第110张

10. 部署

  1. Windows部署

a) 在windows下转换及Job可以依托windows排程来部署

b) 转换部署

Kettle-Spoon入门示例第111张

c) Job部署

Kettle-Spoon入门示例第112张

  1. linux部署待续

免责声明:文章转载自《Kettle-Spoon入门示例》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇java8学习之Stream深度解析与源码实践四元数运动学笔记(4)旋转的雅克比矩阵下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

oracle创建数据库和用户、表空间,管理表空间和数据文件简介

介绍 表空间是数据库的逻辑组成部分 从物理上将:数据库数据存放在数据文件中 从逻辑上将:数据库则是存放在表空间中 表空间由一个或是多个数据文件组成   数据库的逻辑结构 介绍: Oracle中逻辑结构包括表空间、段、区、块 说明: 数据库由表空间构成 而表空间又是由段构成 而段又是由区构成 而区又是由Oracle块构成     这样的一种结果,可以提高...

MyBatis基础总结

1.1什么是MyBatis MyBatis(前身是iBatis)是一个支持普通SQL查询、存储过程以及高级映射的持久层框架, 它消除了几乎所有的JDBC代码和参数的手动设置以及对结果集的检索,并使用简单的XML或注解进行配置和原始映射, 用以将接口和Java的POJO(Plain Old Java Object,普通Java对象)映射成数据库中的记录,使得...

MySQL 数据恢复

首先针对修复过程中产生的问题进行再修复: 1、通过 alter table expresspackage discard tablespace; 解除表结构文件 expresspackage.frm 和表数据文件 expresspackage.ibd 的绑定,会直接删除 data 文件夹下的 expresspackage.ibd 文件,这时候数据库重启数据...

【SQL注入】之SQLMAP工具的使用

(本文仅为平时学习记录,若有错误请大佬指出,如果本文能帮到你那我也是很开心啦) 一、介绍 1.SQL注入工具:明小子、啊D、罗卜头、穿山甲、SQLMAP等等 2.SQLMAP:使用python开发,开源自动化注入利用工具,支持12种数据库 ,在/plugins/dbms中可以看到支持的数据库种类,在所有注入利用工具中它是最好用的!!! 3.支持的注入类型:...

一次SQLServer数据库宕机问题

数据库采用SQL Server 2005版本, 数据库文件约为6G,而LDF日志文件已经高达36G。 服务器开始变的不太稳定 。数据没有成功保存。 打开事件查看器发现很多信息日志 数据库 '' 中的文件 '_log' 的自动增长已由用户取消,或已在 30031 毫秒后超时。请使用 ALTER DATABASE 为此文件设置较小的 FILEGROWTH 值...

SQLServer数据库(二)

数据库设计:就是将数据库中的数据库实体及这些数据库实体之间的关系,进行规划和结构化的过程。 项目开发过程: 需求分析 概要设计 详细设计 代码编写 运行测试 打包发行 数据库的系统分析基本步骤:收集信息、标识实体、标识每个实体需要存储的详细信息、标识实体之间的关系。 实体,就是指现实世界中具有区分其它事物的特征或属性,并与其他实体有联系的实体。实体一般是名...