• Kettle入门教程


    目录

    一、Kettle是什么

    二、Kettle的两种设计

    三、Kettle核心组件

    四、安装与启动

    五、使用

    5.1 简单介绍

    5.2 输入

    5.3 输出

    5.4 转换

    5.5 脚本


    一、Kettle是什么

            Kettle最早是一个开源的ETL(Extract-Transform-Load,数据仓库技术)工具,全称为KDE Extraction, Transportation, Transformation and Loading Environment。在2006年,Pentaho公司收购了Kettle项目,原Kettle项目发起人Matt Casters加入了Pentaho团队,成为Pentaho套件数据集成架构师;从此,Kettle成为企业级数据集成及商业智能套件Pentaho的主要组成部分,Kettle重命名Pentaho Data Integration(PDI)。Pentaho公司于2015年被Hitachi Data Systems收购。(Hitachi Data Systems于2017年改名为Hitachi Vantara)

            PDIJava开发,支持跨平台运行,其特性包括:支持100%无编码、拖拽方式开发ETL数据管道;可对接包括传统数据库、文件、大数据平台、接口、流数据等数据源;支持ETL数据管道加入机器学习算法。

            PDI分为商业版开源版,开源版的截止2021年1月的累计下载量达836万,其中19%来自中国。在中国,一般人仍习惯把PDI的开源版称为Kettle

    二、Kettle的两种设计

    • Transformation (转换) :完成针对数据的基础转换。
    • Job (作业) :完成整个工作流的控制。

    两者的主要区别如下:

    • (1) 作业是步骤流,转换是数据流。这是作业和转换最大的区别
    • (2) 作业的每一个步骤,必须等到前面的步骤都跑完了,后面的步骤才会执行;而转换会一次性把所有控件全部先启动(一个控件对应启动一个线程),然后数据流会从第一个控件开始,一条记录、一条记录地流向最后的控件;

    三、Kettle核心组件

    名称

    功能

    Spoon.bat / spoon.sh(重点)

    通过图形接口,允许你通过图形界面来设计 ETL 转换过程(Transformation)

    Pan.bat / pan.sh

    运行转换的命令行工具

    Kitchen.bat / kitchen.sh

    运行作业的命令行工具

    Carte.bat / Carte.sh

    Carte 是一个轻量级别的 Web 容器,用于建立专用、远程的 ETL Server

    四、安装与启动

    官网各版本下载地址:Pentaho from Hitachi Vantara - Browse /Data Integration at SourceForge.net

    Kettle是免安装的,解压即可使用,但Kettle是使用Java开发的,所以需要安装Java环境,解压之后,双击Spoon.bat即可运行

    五、使用

    5.1 简单介绍

    首先我们创建一个转换

    然后可以看到有很多组件,其中我们最常用的主要是输入、输出、转换、脚本、查询等,下面我们着重介绍一下这几种常用的组件

    5.2 输入

    可以看到输入的组件非常多,这里标记了一下比较常用的组件,然后用Excel输入举个例子,首先把Excel输入拖到右边的工作区,浏览、添加文件

    选择Excel内容如下

    选择完文件之后,再选择工作表

    选择完工作表之后,再选择字段

    以上是Excel输入组件的基本使用

    5.3 输出

    输出的前提是需要有一个输入(文本文件、Excel、数据库等等),输出的组件会比输入要少一些,下面就用表输出举一个例子

    与输入一样,把表输出组件拖到工作区中

    既然是表输出,那么第一步我们肯定是需要建立数据库连接,连接的过程与一般的数据库管理工具一致,除此之外还有两个注意的,提交记录数量(默认为1000)和指定数据库字段,提交记录数量就不多提了,这里主要说一下数据库字段映射,也就是上图右边这部分,其实说白了就是建立输入与输出的映射关系,虽然这里的案例输入和输出的字段名都一样,但是实际的场景中肯定会遇到字段名不一样的情况,就可以使用映射的方式建立关联关系。

    5.4 转换

    输入是起点,输出是终点,转换是中间处理

    转换的组件也非常多,而且很多都比较常用,比如去重、字符串操作、增加常量、字段选择等等,这里就以增加常量举例,场景就是在输入源上增加一个常量,或者说增加一个默认值

    转换是种流式处理,一个接着一个连接即可

    5.5 脚本

    有时候现有的组件无法满足我们的定制化需求,这个时候就可以使用脚本来更灵活的实现我们的需求,脚本的功能很强大,很多组件也可以直接通过脚本实现

  • 相关阅读:
    华为云云耀云服务器L实例评测|基于L实例安装Prometheus+Grafana插件实现数据可视化监控
    十、数据结构——树结构实际应用
    ubuntu更新python版本
    Python实现基于交换机转发实验
    Spring面试题(2022)
    决策树详解
    并查集基础与二分搜索树的特性
    【数据可视化】—大屏数据可视化展示
    day29-JQuery02
    【Java List与数组】List<T>数组和数组List<T>的区别(124)
  • 原文地址:https://blog.csdn.net/cwr452829537/article/details/128113588