前言:编写kettle的应该是一位爱做饭的程序员
kettle 是 java编写 需要jdk环境
kettle 组成
1.勺子(Spoon.bat/spoon.sh)图形化界面 win选择bat linux选择sh
2.锅(Pan.bat/pan.sh)调用Trans
3.厨房(Kitchen.bat/.sh)调用job
4.菜单(Carte.bat/.sh) 轻量级的web容器 用于建立专用远程的ETL Server 可分布式
存储机制
以xml形式存储
以资源库方式存储(数据资源库(数据库(常用))和文件资源库(win本地))
kettle 两种设计
Transformation(转换):完成针对数据的基础转换
Job(作业): 完成整个工作流的控制
区别:
1》作业是步骤流,转换是数据流
2》作业的每一个步骤,必须等到前面的步骤执行完毕,后面的步骤才会执行
转换会一次性把所有控件全部先启动(一个控件对应启动一个线程),然后数据流会从第一个控件开始,一条一条流向最后的控件。
Kettle 特点
1开源 2易配置 3图形界面win/sh 4定时功能
5不同数据库:hdfs mysql mongDB Hbase支持不同数据源
6两种脚本文件:Transformation和job:针对数据的基础转换 和 整个工作流的控制
简单demo
要求:将mysql数据库 表1数据同步到表2
1.jar包 mysql-connector-java 包放到data-integration/lib下 用于连接数据库
2.在win操作系统下点击Spoon.bat 启动图形界面
文件=》新建=》转换=》在输入中找到表输入
拖拽到右侧
双击打开
在数据库连接右边点击新建
3.输出
在输出中找到 插入/更新 拖拽到右边工作栏
添加关键字和字段更新
4 按住Shift 连接输入和输出
5.启动
表1数据就被同步到了表2