kettle概述
Kettle是一款开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。
Kettle工程存储方式
1) 以XML形式存储
2) 以资源库方式存储(数据库资源库和文件资源库)
Kettle的两种设计
Kettle的组成
kettle安装部署和使用
官网地址: https://community.hitachivantara.com/docs/DOC-1009855
下载地址: https://sourceforge.net/projects/pentaho/files/Data%20Integration/
mac/win下安装使用
在实际企业开发中,都是在本地环境下进行kettle的job和Transformation开发的,可以在本地运行,也可以连接远程机器运行
安装
1) 安装jdk
2) 下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可
3) 双击Spoon.bat/Spoon.bat(mac),启动图形化界面工具,就可以直接使用了
把mysql的驱动扔到lib目录下
案例
1) 案例一 把stu1的数据按id同步到stu2,stu2有相同id则更新数据
2) 案例2:使用作业执行上述转换,并且额外在表student2中添加一条数据
3) 案例3:将hive表的数据输出到hdfs
4)案例4:读取hdfs文件并将sal大于1000的数据保存到hbase中
都是些界面操作,略了…
创建资源库
数据库资源库
数据库资源库是将作业和转换相关的信息存储在数据库中,执行的时候直接去数据库读取信息,很容易跨平台使用
创建步骤略…
文件资源库
将作业和转换相关的信息存储在指定的目录中,其实和XML的方式一样
创建方式跟创建数据库资源库步骤类似,只是不需要用户密码就可以访问,跨
平台使用比较麻烦
创建步骤略…
一般都是使用数据库资源库,在win/mac下使用界面工具创建任务,然后在linux上使用命令行执行的。
Linux下安装使用
单机
1)jdk安装
2)安装包上传到服务器,解压
注意:
把mysql驱动拷贝到lib目录下
将本地用户家目录下的隐藏目录.kettle,整个上传到linux的家目录/home/xxx/下(里面有配置的数据库资源库信息)
3) 运行数据库资源库中的转换
1 | ./pan.sh -rep=my_repo -user=admin -pass=admin -trans=stu1tostu2 -dir=/ |
4)运行资源库里的作业
记得把作业里的转换变成资源库中的资源
1 | ./kitchen.sh -rep=repo1 -user=admin -pass=admin -job=jobDemo1 -logfile=./logs/log.txt -dir=/ |
集群模式
(了解)
安装部署
略
就是改 /data-integration/pwd 下的配置文件
访问web页面: http://XXX:8080
案例:读取hive中的emp表,根据id进行排序,并将结果输出到hdfs上
这个排序就是基于集群去排序的
调优
JVM、连接池啥的,用到再说吧…






