ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Kettle入门(三)

2022-02-28 11:33:26  阅读:286  来源: 互联网

标签:转换 入门 一个 步骤 Kettle 作业 执行 数据


对应概念

步骤(Step,又称为“控件”)

  • 是【转换】里的基本的组成部分,包括输入、输出、脚本等等。

  • 步骤的关键特性

    • 每个步骤有且仅有一个名字,且这个名字在同一个【转换】范围内是唯一的,即在同一个转换中不能出现同名的步骤。

    • 每个步骤都会读、写数据行(【生成记录】除外,它的作用是写数据)

    • 步骤将数据写到与之相连的一个或多个【跳】,再通过【跳】将数据传到另一个步骤

    • 大多数的步骤都可以有多个【跳】

    • 一个步骤的数据发送可以被设置为“分发”或“复制”

      • 分发是目标步骤轮流接收记录

        • 即多个步骤均分数据
      • 复制是所有的记录被同时发送到所有的目标步骤

步骤 跳(Hop)

  • 定义了一个数据流通道,即数据由一个【步骤】流(【跳】)向下一个【步骤】
  • 是【步骤】之间带箭头的连线
  • 跳实际上是两个【步骤】之间的被称为【行集】的数据行缓存

元数据

  • 每个步骤在输出【行】时都有对字段的描述,这种描述就是【行】的元数据

  • 通常包含

    • 名称

      • 数据行里的字段名是唯一的
    • 数据类型

      • 字段的数据类型

      • 种类

        • String

          • 字符类型数据
        • Number

          • 双精度浮点数
        • Integer

          • 带符号长整型
        • BigNumber

          • 任意精度数据
        • Date

          • 带毫秒精度的日期时间值
        • Boolean

          • 取值为true和false的布尔值
        • Binary

          • 二进制字段,可以包含图像、声音、视频及其他类型的二进制数据
    • 格式

      • 数据显示的方式
    • 长度

      • 字符串的长度或者BigNumber类型的长度
    • 精度

      • BigNumber数据类型的十进制精度
    • 货币符号

    • 小数点符号

      • 十进制数据的小数点格式
    • 分组符号

      • 数值类型数据的分组符号

行(Row)

  • 在kettle中最小单位

行集(RowSet)

  • 数据流中流动的就是缓存的【行集】

  • 行集的大小可以在转换的设置里定义

    • 1.在转换窗口空白处点击鼠标右键
    • 2.选择【转换属性】
    • 3.打开【杂项】
    • 4.更改【记录集合里的记录数】
    • 此项影响的是缓存区最大的流量,默认是10000
  • 当行集满了,向行集写数据的步骤将停止写入,直到行集里又有了空间;

  • 当行集空了,从行集读取数据的步骤停止读取,直到行集里又有可读的数据行。

转换(transaformation)

  • 负责数据的输入、转换、校验、输出等工作

  • Kettle中使用【转换】完成数据ETL全部工作

  • 【转换】有多个【步骤】组成,如文本文件输入、过滤输出行、执行SQL脚本等

    • 各【步骤】由【跳】来链接。
  • 不能定义一个执行顺序,因为所有【步骤】都是以“并发”方式执行

    • 当【转换】启动后,所有【步骤】都同时启动,从他们的输入【跳】中读取数据,并把处理过的数据写到输出【跳】,直到输入【跳】中不再有数据就中止步骤的运行。当所有【步骤】都中止了,整个【转换】就中止了。

作业(Job)

  • 因为【转换】以“并行”方式执行,所以必须存在一个“串行”的调度工具来执行转换,这就是【作业】

  • 负责定义一个完成整个工作流的控制,比如将【转换】的结果发送邮件给相关人员。

  • 一个【作业】包含一个或多个【作业项】,这些【作业项】以某种顺序来执行

    • 【作业】执行顺序由【作业项】之间的【跳】和每个【作业项】的执行结果来决定

作业 跳(Hop)

  • 是【作业项】之间的连接线,定义了作业的执行路径

  • 每个【作业项】的不同的运行结果决定了【作业】的不同执行路径

  • 作业跳分为三种情况

    • 无条件执行

      • 不论上一个【作业项】执行成功还是失败,下一个【作业项】都会执行

      • 表现形式为带锁的蓝色连接线

    • 当运行结果为真时执行

      • 当上一个【作业项】的执行结果为真时,执行下一个【作业项】,通常在需要无错误执行的情况下使用

      • 表现形式为带对钩的绿色连接线

    • 当运行结果为假时执行

      • 当上一个【作业项】的执行结果为假或没有成功执行时时,执行下一个【作业项】

      • 表现形式为带叉号的红色连接线

  • 在作业跳的标志上点击便可对其状态进行切换

作业项

  • 【作业】的基本构成部分,如同【转换】的步骤

  • 【作业项】之间是步骤流,【转换步骤】之间是数据流

  • 【转换】启动后所有步骤一起并行启动,【作业项】是严格按照执行顺序启动,一个【作业项】执行完后再执行下一个

  • 在【作业项】之间可以传递一个【结果对象】

  • 因为【作业】顺序执行【作业项】,所以必须通过“开始”定义一个【起点】

    • 一个作业只能定一个开始作业项

结果对象(result object)

  • 包含了数据行,但是它们不是以数据流的方式来传递,而是等一个【作业项】执行完成后在传递给下一个【作业项】kettle中的基本概念

标签:转换,入门,一个,步骤,Kettle,作业,执行,数据
来源: https://blog.csdn.net/u013032852/article/details/123178676

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有