kettle工具的设计模块

简介:

 本博客,是立足于kettle工具的设计模块的概念介绍

 

1、转换

    转换(transformation)是ETL解决方案中最主要的部分,它处理(抽取、转换、加载各阶段)各种对数据行的操作。转换包括一个或多个步骤(step),如读取文件、过滤输出行、数据清洗或将数据加载到数据库。

 

   转换里的步骤通过跳(hop)来连接,跳定义了一个单向通道,允许数据从一个步骤向另一个步骤流动。在kettle里,数据的单位是行,数据流就是数据行从一个步骤到另一个步骤的移动。数据流也叫作记录流。

 

 

 

  转换包括步骤、跳、注释、并行、数据行、数据转换和其他转换。

 

  1.1 注释

 注释是一个小的文本框,可以放在转换流程图的任何位置,注释的主要目的是使转换文档化。

 

   1.2 步骤

   步骤是转换的基本组成部分。它是以图标的方式来图形化展现。

  • 步骤需要有一个名字,这个名字在转换范围内唯一。
  • 每个步骤都会读、写数据行(唯一例外是“生成记录”步骤,该步骤只写数据)
  • 步骤将数据写到与之相连的一个或多个输出跳(outgoing hops),再传送到跳的另一端的步骤。对另一端步骤来说这个跳就是一个输入跳(incoming hops),步骤通过输入跳接收数据 
  • 大多数的步骤都可以有多个输出跳。一个步骤的数据发送可以被设置为轮流发送和复制发送。轮流发送是将数据行依次发给每一个输出跳(round robin),复制发送是将全部数据行发送给所有输出跳。
  • 在运行转换时,一个线程运行一个步骤和步骤的多份拷贝,所有步骤的线程几乎同时运行,数据行连续地流过步骤之间的跳。

 

 

   1.3 跳

  跳(hop)就是步骤之间带箭头的连线,跳定义了步骤之间的数据通路。跳实际上是两个步骤之间的被称为行集(row set)的数据行缓存(行集的大小可以在转换的设置里定义)。当行集满了,向行集写数据的步骤将停止写入,直到行集里又有了空间。当行集空了,从行集读取数据的步骤停止读取,直到行集里又有可读的数据行。

   注意: 当创建新跳的时候,需要记住跳在转换里不能循环。因为在转换里每个步骤都依赖前一个步骤获取字段值。

 

 

 

   1.4 并行

   跳的这种基于行集缓存的规则允许每个步骤都由一个独立的线程运行,这样并发程序最高。这一规则也允许数据以最小消耗内存的数据流的方式来处理。在数据仓库里,我们经常要处理大量数据,所以这种并发低耗内存的方式也是ETL工具的核心需求。

   对于Kettle,不可能定义一个执行顺序,不可能也没有必要确定一个起点和终点。因为所有步骤都以并发方式执行:当转换启动后,所有步骤都同时启动,从它们的输入跳中读取数据,并把处理过的数据写到输出跳,直到输入跳里不再有数据,就中止步骤的运行。当所有的步骤都中止了,整个转换就中止了。也就是说,从功能的角度来看,转换也有明确的起点和终点。

 

   1.5 数据行

   数据以数据行的形式沿着步骤移动。一个数据行是零到多个字段的集合,字段包括下面几种数据类型。

 

   1.6 数据转换

   1.7 其他转换

 

 

 

 

2、作业

   大多数ETL项目都需要完成各种各样的维护工作。例如,当运行中发生错误,要做哪些操作;如何传送文件;验证数据库表是否存在等。而且这些操作要按照一定顺序完成 。因为转换以并行方式执行,就需要一个可以串行执行的作业来处理这些操作。

  一个作业包括一个或多个作业项,这些作业项以某种顺序来执行。作业执行顺序由作业项之间的跳(job hop)和每个作业项的执行结果来决定。

 

 

 

 

 

3、转换或作业的元数据

   。。

 

 

4、数据库连接

   。。

 

5、工具

   。。

 

6、资源库

   。。

 

7、虚拟文件系统

   。。



本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/6907926.html,如需转载请自行联系原作者

相关文章
|
4月前
|
运维 监控 Cloud Native
不是监控不行,是你观测得不够:聊聊新一代可观测性(Observability)的真相
不是监控不行,是你观测得不够:聊聊新一代可观测性(Observability)的真相
304 7
|
7月前
|
人工智能 缓存 自然语言处理
阿里云百炼大模型收费说明:模型推理、模型训练和模型部署费用整理
阿里云百炼平台开通免费,且每模型享100万Token免费额度。费用产生于模型推理、训练(调优)和部署,超出免费额度后按量计费。推理按输入/输出Token阶梯计价,训练按数据量和循环次数计费,部署支持按时长或调用量两种模式。
3479 65
|
人工智能 文字识别 自然语言处理
Nougat:一种用于科学文档OCR的Transformer 模型
随着人工智能领域的不断进步,其子领域,包括自然语言处理,自然语言生成,计算机视觉等,由于其广泛的用例而迅速获得了大量的普及。光学字符识别(OCR)是计算机视觉中一个成熟且被广泛研究的领域。它有许多用途,如文档数字化、手写识别和场景文本识别。数学表达式的识别是OCR在学术研究中受到广泛关注的一个领域。
659 0
|
数据库 Python
异步编程不再难!Python asyncio库实战,让你的代码流畅如丝!
在编程中,随着应用复杂度的提升,对并发和异步处理的需求日益增长。Python的asyncio库通过async和await关键字,简化了异步编程,使其变得流畅高效。本文将通过实战示例,介绍异步编程的基本概念、如何使用asyncio编写异步代码以及处理多个异步任务的方法,帮助你掌握异步编程技巧,提高代码性能。
420 4
|
存储 安全 数据安全/隐私保护
U盘无法读取怎么办?原因与解决方法都在这里
U盘是常用的便携式存储工具,但有时会出现无法读取的问题。硬件方面,接触不良或U盘损坏都可能导致此现象,此时应检查接口或U盘本身。软件问题包括驱动故障、文件系统错误及病毒感染,解决方法有更新驱动、格式化U盘(注意备份数据)和使用杀毒软件。预防措施包括定期备份数据和正确使用U盘。若需恢复数据,可尝试数据恢复软件或寻求专业数据恢复服务。
U盘无法读取怎么办?原因与解决方法都在这里
|
编解码 算法 数据中心
遥感生态指数(RSEI)——四个指数的计算
遥感生态指数(RSEI)——四个指数的计算
遥感生态指数(RSEI)——四个指数的计算
|
网络安全 开发工具 git
拉取 gitee 代码,配置SSH,Please make sure you have the correct access rights
拉取 gitee 代码,配置SSH,Please make sure you have the correct access rights
409 1
|
自然语言处理 前端开发 JavaScript
V8引擎的运行原理
【9月更文挑战第1天】V8引擎的运行原理
512 0
|
消息中间件 监控 Java
大数据-109 Flink 体系结构 运行架构 ResourceManager JobManager 组件关系与原理剖析
大数据-109 Flink 体系结构 运行架构 ResourceManager JobManager 组件关系与原理剖析
316 1
|
SQL 关系型数据库 MySQL
美团面试:mysql 索引失效?怎么解决? (重点知识,建议收藏,读10遍+)
本文详细解析了MySQL索引失效的多种场景及解决方法,包括破坏最左匹配原则、索引覆盖原则、前缀匹配原则、`ORDER BY`排序不当、`OR`关键字使用不当、索引列上有计算或函数、使用`NOT IN`和`NOT EXISTS`不当、列的比对等。通过实例演示和`EXPLAIN`命令分析,帮助读者深入理解索引失效的原因,并提供相应的优化建议。文章还推荐了《尼恩Java面试宝典》等资源,助力面试者提升技术水平,顺利通过面试。