avatar

目录
Kettle-ETL工具&数据抽取

kettle概述

Kettle是一款开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。

Kettle工程存储方式

1) 以XML形式存储

2) 以资源库方式存储(数据库资源库和文件资源库)

Kettle的两种设计

屏幕快照 2019-11-20 下午2.06.53

Kettle的组成

屏幕快照 2019-11-20 下午2.10.19

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)安装包上传到服务器,解压

注意:

  1. 把mysql驱动拷贝到lib目录下

  2. 将本地用户家目录下的隐藏目录.kettle,整个上传到linux的家目录/home/xxx/下(里面有配置的数据库资源库信息)

3) 运行数据库资源库中的转换

Code
1
2
3
4
5
6
7
8
./pan.sh -rep=my_repo -user=admin -pass=admin -trans=stu1tostu2 -dir=/

参数说明:
-rep 资源库名称
-user 资源库用户名
-pass 资源库密码
-trans 要启动的转换名称
-dir 目录(不要忘了前缀 /)

4)运行资源库里的作业

记得把作业里的转换变成资源库中的资源

Code
1
2
3
4
5
6
7
8
9
./kitchen.sh -rep=repo1 -user=admin -pass=admin -job=jobDemo1 -logfile=./logs/log.txt -dir=/

参数说明:
-rep - 资源库名
-user - 资源库用户名
-pass – 资源库密码
-job – job名
-dir – job路径
-logfile – 日志目录

集群模式

(了解)

安装部署

就是改 /data-integration/pwd 下的配置文件

访问web页面: http://XXX:8080

案例:读取hive中的emp表,根据id进行排序,并将结果输出到hdfs上

这个排序就是基于集群去排序的

调优

JVM、连接池啥的,用到再说吧…

文章作者: Machine
文章链接: https://machine4869.gitee.io/2019/11/19/20191119151208934/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 哑舍
打赏
  • 微信
    微信
  • 支付宝
    支付宝

评论