Kettle 一

ETL-kettle (一)

  • ETL
  • KETTLE
    • 启动方式
    • DB配置文件
    • 转换和作业
    • 作业
    • 转换
      • post 的配置:
      • 插入更新
    • 作业并行
    • 作业串行
    • 作业下某节点失效

ETL

ETL, 英文:Extract-Transform-Load的缩写,是一种将数据从来源端经过抽取(extract)、转置(transform)、加载(load)至目的端的过程。
数据处理、转换、迁移等用etl工具会很方便

KETTLE

kettle是一个ETL(Extract,
Transform and Load抽取、转换、载入)工具,ETL工具在数据仓库项目使用非常频繁,kettle也可以应用在以下一些场景:
在不同应用或数据库之间整合数据
把数据库中的数据导出到文本文件
大批量数据装载入数据库
数据清洗
集成应用相关项目是个使用

  • 免费开源:开源、可视化的、功能强大的ETL工具,kettle完全是基于java进行开源的,所以就需要运行环境有java配置
  • 易配置: 可以在window、linux、Unix上运行,无需安装,数据抽取高效稳定
  • 允许多种数据源:ETL工具集,它允许你管理来自不同数据库的数据
  • 图形化界面
  • 免安装:下载地址,直接解压可用
  • 等等

启动方式

Spoon.bat : 图形界面方式启动作业和转换设计器。
Pan.bat : 命令行方式执行转换。
Kitchen.bat : 命令行方式执行作业。
Carte.bat: 启动web服务,用于 Kettle 的远程运行或集群运行。
Encr.bat:密码加密

DB配置文件

除了每次手动添加具体的数据库信息,也可以提前将配置信息设置在相关配置文件的(C:\Users\Administrator.kettle\kettle.properties),例如:
Kettle 一_第1张图片
在转换DB连接时配置:
Kettle 一_第2张图片
这样可以动态的连接相关数据库

转换和作业

用Spoon.bat打开的界面:
Kettle 一_第3张图片

  1. 转换 ,对源数据进行各种处理;
  2. 作业,表示一个工作项,作业项中也可有多个作业,笼统来说就是可以定制很多业务任务;

作业

也可以把它当做一个定时任务,就是定时周期性的去执行一些job,即转换,如图:
Kettle 一_第4张图片
此处Start表示一个总任务的开始节点(开关),这个任务下面有billorder、转换、转换2 三个任务,点击start将开始这三个转换任务,转换任务里面则是具体的数据处理规则。
start总开关可以设置定时:
Kettle 一_第5张图片
相当于定时任务去周期性的处理数据

转换

以上面billOrder为例
Kettle 一_第6张图片
选中billorder右键选择Open Referenced Object -> Transformation 则进入创建好的转换文件:
Kettle 一_第7张图片
这个目的是将源数据库huopan-post 中的bill_order表中的数据最后100条同步到huopan-test中的bill_order_test表中,
(DB利用上面的DB配置文件设置了两个数据库配置:huopan-post 和 huopan-test)

post 的配置:

Kettle 一_第8张图片
如图:利用sql脚本简单的获取了最后100条数据

插入更新

Kettle 一_第9张图片
数据库选择huopan-test, 表是bill_order_test,(当左边的源数据连线到右边的目标数据,才会在此处获取到字段,)
用来查询的关键字:保证两边数据在同步的时候通过唯一标识sys_seq_id进行数据统一,当两边这个字段的值一样的时候,则进行更新,反之添加。
更新字段:指的是需要同步的字段数据,有的时候有些字段不需要更新,则将该字段删除选中行

作业并行

Kettle 一_第10张图片
选中Run Next Entries in Parallel ,则该总任务下的所有节点都会再启动时候并发进行,Kettle 一_第11张图片

作业串行

要是有的任务需要以另个任务为前提才能执行的话,就放到依赖任务之后,例如上图转换3需依赖转换 才能执行,此处为串行执行

作业下某节点失效

Kettle 一_第12张图片
选中使节点失效,则该处的线则变成灰色的了Kettle 一_第13张图片在启动总任务的时候,该处的转换任务则就不执行了

你可能感兴趣的:(Kettle 一)