ETL——常用工具kettle

发布时间:2024年01月15日

目录

ETL简介

kettle简介:

kettle四大家族(核心组件)

kettle执行层次


ETL简介

????????ETL:extract(提取)——>transform(转换、该步可省略)——>load(装载),本篇文章将介绍企业中ETL常用工具——kettle(壶)

kettle简介:

????????Kettle是一款国外绿色开源免费的ETL工具,纯java编写(安装前请先配置jdk),可以在Window、Linux、Unix上运行,数据抽取高效稳定,该软件名副其实,它的主程序员MATT?希望把各种数据放到一个壶里,然后以一种指定的格式流出。它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。

????????Kettle中有两种脚本文件,job(.kjb)和transformation(.ktr),job则完成整个工作流的控制,transformation完成针对数据的基础转换。Job和Transformation的差别:Transformation专注于数据的ETL,而Job的范围比较广,可以是Transformation,也可以是Mail、SQL、Shell、FTP等,甚至可以是另外一个Job。简而言之,job包含transformation(.kjb包含.ktr)

kettle四大家族(核心组件)

Chef(厨师):工作(job)设计工具?(GUI方式)。

Kitchen(厨房):工作(job)执行器?(cmd方式)。

Spoon(勺子):转换(transform)设计工具?(GUI方式)。

Pan(平底锅):转换(transform)执行器?(cmd方式)。

kettle执行层次

Kettle的执行分为两个层次:Job和Transformation:

????????Transformation:定义对数据操作的容器,数据操作就是数据从输入到输出的一个过程,可以理解为比Job粒度更小一级的容器,我们将任务分解成Job,然后需要将Job分解成一个或多个Transformation,每个Transformation只完成一部分工作。

????????定义对数据操作的容器,数据操作就是数据从输入到输出的一个过程,可以理解为比作业粒度更小一级的容器,我们将任务分解成作业,然后需要将作业分解成一个或多个转换,每个转换只完成一部分工作
????????Step:是Transformation内部的最小单元,每一个Step完成一个特定的功能。
????????Job:负责将Transformation组织在一起进而完成某一工作,通常我们需要把一个大的任务分解成几个逻辑上隔离的Job,当这几个Job都完成了,也就说明这项任务完成了。

????????Job Entry:Job Entry是Job内部的执行单元,每一个Job Entry用于实现特定的功能,如:验证表是否存在,发送邮件等。可以通过Job来执行另一个Job或者Transformation,也就是说Transformation和Job都可以作为Job Entry。
????????Hop:用于在Transformation中连接Step,或者在Job中连接Job Entry,是一个数据流的图形化表示。

? ? ? ? 最后一点,在Kettle中Job中的JobEntry是串行执行的,故Job中必须有一个Start的JobEntry;Transformation中的Step是并行执行的。

ETL工具——kettle基本介绍如上,后续会更新更多有关数仓和ETL相关知识,如有不足,敬请补充指正!

文章来源:https://blog.csdn.net/Whisperya6/article/details/135583339
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。