近期在学习大数据处理的一些技能,主要是对数据的提取、转换和输出,用到的软件是 Kettle,现在改名为Data Integration,以下是我学习整理的笔记。
下载
最新版本:8.2下载,打开网页后,在Downloads
标题下点击8.2 Stable
,即可开始下载。
下载地址:Kettle历史版本 点击对应版本下载。
相关概念
ETL:是Extract(抽取)、Transform(转换)、Load(加载)三个单词首字母缩写,抽取是从不同的数据源获取数据,转换是对数据进行处理,加载是把处理过的数据存到目标数据库。
转换(Transformation):以ktr为后缀的转换。
Job:作业
Step:转换主要是针对数据的各种处理,一个转换里可以包含多个步骤
Job Entry:作业是比转换更高一级的处理流程,一个作业里包括多个作业项(Job Entry),一个作业项代表了一项工作,转换也是一个作业项。
ktr:转换文件以 ktr 为扩展名
kjb:作业文件以 kjb 为扩展名
ETL元数据:描述 ETL 要执行的任务;
Nr:应该是每个步骤的最大缓存数量;
数据流:指数据来源,数据流合并,指将多个数据来源合并输出;
步骤(Step):转换里,每一个方形框都是一个步骤;或者在
Design
目录下,任意一个操作都叫步骤;子转换:被其它转换或作业调用的转换,称子转换,也叫映射步骤(mapping),目的是便于封装和重用。
集群:启动多个kettle服务来协作执行转换,这种方式称集群;
参数:分为位置参数(Argument)和命名参数(Parameter);
变量(Variable):可以使用在 kettle带棱形里有个问号,变量可以在脚本(script)中使用;
子程序
- Spoon.bat(或Spoon.sh) 图形界面方式启动作业和转换设计器,打开 kettle界面是执行这个方法;
- Pan.bat(或Pan.sh) 命令行方式执行转换,即执行.ktr文件;示例:/pan.sh -file=/Users/yaohong/Downloads/yaohong_test.ktr;
- Kitchen.bat (或Kitchen.sh) 命令行方式执行作业;
- Carte.bat(或Carte.sh) 启动 web服务,用于 Kettle的远程运行或集群运行,其是内嵌 Jettyr http server,启动服务器命令:
carte localhost 8080
- Encr.bat(或 encr.sh)密码加密