大数据技术之kettle
第一章kettle概述
1.1kettle是什么?
kettle是一款开源ETL工具,java编写,可以在linux,window,unix上运行,数据抽取高效稳定
1.2kettle核心知识点
- 工程存储方式
XML+资源库(数据库资源库和文件资源库) - 两种设计
转换Transformation+作业job
区别:作业是步骤流,转换时数据流;作业是一个步骤接一个步骤运行,转换是一次性把所有控件先启动 - kettle组成

1.3kettle特点
免费开源
易配置
可管理不同数据库数据
两种脚本文件
图形界面设计
定时功能
第二章 kettle安装部署和使用
2.1下载地址:官网
2.2windows下
jdk --> kettle压缩包 --> 双击Spoon.bat
2.3实战1
把stu的数据按id同步到stu2,stu2有相同id则更新数据
stu:

stu2:
0.预步骤
lib添加对应版本connector-java-.jar包

1.文件—转换
2.输入—表输入
数据库连接

3.输出

按住shift连接,


编辑映射

选择是否更新

每次转换前都要保存

4.启动转换

结果

2.4实战2
目的:额外在表student2中添加一条数据
1.新建作业
2.start

转换

3.双击转换,选择案例1保存的文件

4.sql

5.dummy什么都不做,执行

2.5连接排序筛选等

过滤

2.6创建资源库
2.6.1数据库资源库
数据库资源库是将作业和转换相关的信息存储在数据库中,执行的时候直接去数据库读取信息,很容易跨平台使用
1.connect 数据库,主机名称需要是localhost
连接成功,(成功后连接的数据库生成多张表,转换,job都在数据)




默认用户名密码admin

2.文件-打开(资源库地址),导入本地文件某个transformation,打开后保存,再打开,同样操作某个job





2.6.2文件资源库(不需要账号密码,安全性不够好)
(先断开连接)

目录的文件自动加入

2.4linux下安装使用
1.准备工作使用工具把文件传输到linux系统并解压unzip

将数据库连接jar包也放在lib中
传输.kettle下配置文件
2.4.1单机
运行数据库资源库中的转换
./pan.sh -rep=my_repo -user=admin -pass=admin -trans=stu1tostu2 -dir=/
记得把作业里的转换变成资源库中的资源
./kitchen.sh -rep=repo1 -user=admin -pass=admin -job=jobDemo1 -logfile=./logs/log.txt -dir=/



2.4.2集群
修改配置文件


分发

启动:./carte.sh 主机名 端口号( master先 slave)
访问web页面,用户名 密码
主机名:端口号

配置集群



保存
选择集群方式启动,可在hadoop 的web页面查看
第三章 调优
1.修改kettle下spoon.bat文件参数设置
2.调整提交记录大小设置1000(默认)->1000-50000
3.使用数据库连接池
4.缓存
5.多分配内存
6.尽量用sql语句,少用group merge stream lookup split filed 操作
7.插入大量数据时候删除索引
8.避免update,先delete 再insert
9.能truncate table就不要delete all
10尽量使用数据库原生方式
实操
数据流:数据—>数据库/HDFS----> ETL------>数据库/HDFS—>数据分析/挖掘
更多推荐
所有评论(0)