首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何避免循环的Pentaho作业记录“已完成的作业输入”行多次?

要避免循环的Pentaho作业记录“已完成的作业输入”行多次,可以采取以下步骤:

  1. 使用作业输入步骤的“循环输入”选项:在Pentaho作业中,作业输入步骤通常用于读取先前已完成的作业的输出。在作业输入步骤的设置中,可以选择“循环输入”选项,以确保每次迭代时只读取一次输入。
  2. 使用作业输入步骤的“循环输入”选项结合“唯一行”选项:如果作业输入步骤的输出包含重复的行,可以结合使用“循环输入”和“唯一行”选项。这样可以确保每次迭代时只读取唯一的行,避免重复记录。
  3. 使用作业输入步骤的“循环输入”选项结合“过滤器”选项:如果只想读取满足特定条件的行,可以在作业输入步骤的设置中使用“过滤器”选项。通过设置适当的过滤条件,可以确保只有符合条件的行被读取,避免重复记录。
  4. 检查作业流程和连接:确保作业中的流程和连接设置正确。如果存在错误的连接或循环依赖关系,可能会导致“已完成的作业输入”行多次记录。仔细检查作业的流程图,确保每个步骤的连接正确,并且没有循环依赖关系。
  5. 调整作业的触发条件:如果作业的触发条件不正确,可能会导致作业多次执行,从而导致“已完成的作业输入”行多次记录。检查作业的触发条件,确保只在需要的情况下触发作业的执行。

总结起来,为了避免循环的Pentaho作业记录“已完成的作业输入”行多次,可以使用作业输入步骤的“循环输入”选项,并结合“唯一行”选项或“过滤器”选项来确保每次迭代时只读取唯一的行或符合条件的行。此外,还需要检查作业流程和连接设置,调整作业的触发条件,以确保作业的执行和记录行为符合预期。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Kettle与Hadoop(一)Kettle简介

当然可以通过手工编写Java代码或Java脚本来实现一些功能,但增加每一代码都给项目增加了复杂度和维护成本。所以Kettle尽量避免手工开发,尽量提供组件及其各种组合来完成任务。...透明 Kettle不需要用户了解转换中某一部分工作是如何完成,但允许用户看到ETL过程中各部分运行状态。这样可以加快开发速度、降低维护成本。...当集空了,从集读取数据步骤停止读取,直到集里又有可读数据。注意,跳在转换里不能循环,因为在转换里每个步骤都依赖于前一个步骤获取字段。 3....Date Integer 三、作业 大多数ETL项目都需要完成各种各样维护任务。例如,当运行中发生错误,要做哪些操作;如何传送文件;验证数据库表是否存在,等等。...当在作业里创建了一个循环,一个作业项就会被执行多次作业多次运行结果会保存在内存里,便于以后使用。 4. 并行执行 有时候需要将作业项并行执行。这种并行执行也是可以

3.2K21
  • 01-PDI(Kettle)简介与安装

    转换负责数据输入、转换、校验和输出等工作,kettle中使用转换完成数据ETL全部工作,转换由多个步骤Step组成。各个步骤由跳hop链接。...Job作业完成整个工作流控制 区别: 作业是步骤流(一般为串行),转换是数据流(并行) 作业每一个步骤,必须等到前面的步骤都跑完了,后面的步骤才会执行;而转换会一次性把所有的控件全部启动...(一个控件对应启动一个线程),然后数据流会从第一个控件开始,一条记录,一条记录流向最后控件。...步骤step 一个步骤有如下几个关键特性: 步骤需要名字,名字在同一个转换范围内唯一 每个步骤都会读写数据,唯一例外是“生成记录”步骤 步骤将数据写到与之相连一个或多个输出跳hop,再传到到跳另一端步骤...作业 作业,负责定义一个完成整个工作流控制,比如将转换结果发送邮件给相关人员,因为转换以并行方式执行,所以必须存在一个串行调度工具来执行转换,这就是Kettle中作业

    2.3K20

    kettle学习【大牛经验】

    简单kettle实例 1.新建作业/转换(功能区:文件 --> 新建 --> 作业;新建-->转换) 一个作业(job,文件以kjb结尾)主体是转换(transform,以ktr结尾),job主要来设置调度...> 表输入:先配置链接(完成后测试一下是否OK),再输入查询sql(比如:select id from tab2 limit 10;) ? >excel输出。,指定输出路径 ?...> 完成转换配置后保存,在job中引用保存文件。 ? ? > 完成,结束! 进阶实例: 百度上看到了一篇关于kettle作业,但是没有详细过程。这里以此说明,全图过程如下。 ?...并把这两个统计数字放在数据库表两列中, 即输出结果有一,一包括两列,每列是一个统 计值。...那么如何在kettle生产中利用邮件功能呢?我们可以将kettle转换信息、统计信息、错误信息以文件形式放入到指定位置(或形成指定参数),使用邮件以附件形式发送这些信息。 流程: ?

    4.4K21

    kettle基础概念入门、下载、安装、部署

    Kettle中有两种脚本文件,transformation和job,transformation完成针对数据基础转换,job则完成整个工作流控制。     ...包括企业版本证书管理、监控和控制远程Pentaho Data Integration服务器上活动、分析已登记作业和转换动态绩效。 6、kettle核心组件。 ? 7、Kettle概念模型。...2)、Kettle里图就是转换和作业。   3)、可视化编程一直是Kettle里核心概念,它可以让你快速构建复杂ETL作业和减低维护工作量。它通过隐藏很多技术细节,使IT领域更贴近于商务领域。...2)、每个步骤都会读、写数据(唯一例外是"生成记录"步骤,该步骤只写数据)。   3)、步骤将数据写到与之相连一个或多个输出跳,再传送到跳另一端步骤。   ...4)、大多数步骤都可以有多个输出跳。一个步骤数据发送可以被被设置为分发和复制,分发是目标步骤轮流接收记录,复制是所有的记录被同时发送到所有的目标步骤。

    10.1K20

    Kettle与Hadoop(二)Kettle安装配置

    一个属性是一个等号分隔键值对,占据一。键在等号前面,作为以后使用属性名,等号后面就是这个属性值。...对任何带有“”符号输入框都可以使用这种变量输入方式。在运行阶段,这个变量值就是/home/sakila/import,即在kettle.properties文件里设置值。...(6)shared.xml Kettle里有一个概念叫共享对象,共享对象就是类似于转换步骤、数据库连接定义、集群服务器定义等这些可以一次定义,然后在转换和作业多次引用对象。...这样用户就可以在转换或作业多次使用这些预定义好共享对象。 在转换或作业“Properties”对话框里可以设置shared.xml文件位置。...当升级或替换驱动时,要确保删除了旧jar文件。如果想暂时保留旧jar文件,可以把jar文件放在Kettle之外目录中,以避免jar包也被意外加载。

    6.4K50

    Kettle构建Hadoop ETL实践(二):安装与配置

    -y参数表示安装过程中省略确认,避免交互式输入。当安装成功后,可以再次执行yum grouplist命令,从输出中可以看到已经安装GNOME Desktop。 ......图2-6 设置默认输入法 至此,Kettle安装前准备工作已经完成,Java环境、图形界面、中文支持、远程控制都已配置好。 3....我们把这些因素统称为Kettle配置。将在本节了解到Kettle配置包括哪些部分,以及应如何管理这些配置。 1....(6)shared.xml Kettle里有一个概念叫共享对象,共享对象就是类似于转换步骤、数据库连接定义、集群服务器定义等这些可以一次定义,然后在转换和作业多次引用对象。...这样用户就可以在转换或作业多次使用这些预定义好共享对象。在转换或作业设置对话框里可以设置shared.xml文件位置。对作业来说,在“作业设置”对话框“设置”标签下。

    7.4K31

    Pentaho Work with Big Data(六)—— 使用Pentaho MapReduce生成聚合数据集

    本示例说明如何使用Pentaho MapReduce把细节数据转换和汇总成一个聚合数据集。当给一个关系型数据仓库或数据集市准备待抽取数据时,这是一个常见使用场景。...关于如何使用Pentaho MapReduce把原始web日志解析成格式化记录,参考 http://blog.csdn.net/wzy0623/article/details/51145570。...一、向HDFS导入示例数据文件 将weblogs_parse.txt文件放到HDFS/user/grid/parse/目录下(因资源有限,本示例只取了这个文件前100数据) 参考: http...新建一个作业,如图10所示。 图10 2. 编辑'Pentaho MapReduce'作业项,如图11到图14所示。 图11 图12 图13 图14 说明: ....执行作业,日志如图16所示。 图16 从图16可以看到,作业已经成功执行。 3. 检查Hadoop输出文件,结果如图17所示。

    43230

    如何在4周内构建数据仓库,第2部分

    我已经谈到了构建属于你自己数据仓库需要采取前两个步骤(请参阅:如何在4周内构建数据仓库,第1部分)。选择架构和DBMS是需要完成第一件事情。...您将无法使用DBMS功能来合并来自不同输入数据源数据。一切工作都必须由你来完成,这将很会很麻烦而且容易出错。 两步过程 两步过程包括两个工作: “复制到暂存区域”。...您可以根据需要多次重新运行“填充数据集”,而不会影响事务数据库。这意味着它可以在工作时间内完成任务。这个方面非常重要,因为“复制到分段”实施起来非常简单,并且不会引起任何问题。...其他实施说明:使用BI平台 像Pentaho这样BI平台将为您提供编写和执行ETL作业所有功能。如果您没有多少时间,并且您不介意使用拖放式编程,则可以在几天内编写所需所有ETL作业。...您可以使用主ID来复制新。 包含可变数据并具有“updated_at”种类列表。依据此列查找更新数据。 在某些情况下,并不那么容易: 例如,您可能需要加入几个表来查找更新

    1.1K60

    Kettle工具基本使用

    2.1.2Kettle设计原则:易于开发,避免自定义开发,所有用户都可以通过用户界面完成,无命名限制,透明,灵活数据通道,只映射需要映射字段。...2.2 Kettle下载安装 1、Kettle官网下载地址为:http://sourceforge.net/projects/pentaho/files/Data%20Integration/,在官网下载安装包...特性:每个步骤必须要有一个名字且这个名字在转换范围内唯一; 每个步骤都可以读,写数据,生成步骤除外,该步骤只用于写数据; 步骤通过输入跳接收数据...由于转换里步骤都依赖于前一个步骤获取字段值,因此当创建新跳时,在转换里不能循环进行。 3.注释:以文本描述方式呈现在作业中,只为增强流程可读性,可放在任何一个位置。...4.作业项结果 2.4 Kettle基本功能 2.4.1转换管理 主要包括输入,输出,转换,应用,流程,脚本,查询,连接,检验,作业,映射,批量加载等功能。

    4.1K30

    Kettle构建Hadoop ETL实践(一):ETL与Kettle

    Kettle里有一个“映射(子转换)”步骤,可以完成转换复用,该步骤可以将一个转换作为其它转换子转换。另外转换还可以在多个作业多次使用,同样作业也可以作为其它作业作业。...当然可以通过手工编写Java代码或Java脚本来实现一些功能,但增加每一代码都给项目增加了复杂度和维护成本。所以Kettle尽量避免手工开发,而是提供组件及其各种组合来完成任务。...每个步骤都会读写数据。唯一例外是“生成记录”步骤,该步骤只写数据。在本专题(四)建立ETL示例模型 中将看到如何使用“生成记录”步骤生成日期维度数据。...当集空了,从集读取数据步骤停止读取,直到集里又有可读数据。注意,跳在转换里不能循环,因为在转换里每个步骤都依赖于前一个步骤获取字段。...当在作业里创建了一个循环,一个作业项就会被执行多次作业多次运行结果会保存在内存里,便于以后使用。

    4.7K79

    kettle 教程(一):简介及入门「建议收藏」

    /pentaho-kettle。...在Kettle中,数据单位是,数据流就是数据从一个步骤到另一个步骤移动。 打开 kettle,点击 文件->新建->转换。 在左边 DB 连接处点击新建。...根据提示配置数据库,配置完成后可以点击测试进行验证,这边以 MySQL 为例。 在左侧找到表输入(核心对象->输入->表输入),拖到右方。...这样就完成了一个最简单转换,从一个表取数据,插入更新到另一个表。 作业 如果想要定时运行这个转换,那么就要用到作业。 新建一个作业。...在下方执行结果,可以看到运行日志。 这样就完成了一个最简单作业,每隔1小时,将源表数据迁移到目标表。

    3.1K21

    NoSQL为什么需要模式自由ETL工具?

    本文,将讨论模式无关(schema-agnostic)现代ETL方法如何为NoSQL供应商和客户提供帮助。对于涉及数据任何操作或者一般计算,都需要实施三件事:输入、处理、输出。...元数据注入好处在于用户可以创建单个转换来执行此加载,但是可以通过父转换对其实施参数化。甚至可以在单个作业中配置此父转换项,并在输入数据源列表上循环以执行此项工作。...所有主要实体都在语义图上出现在屏幕上,显示出发现关系和数据类型,以及关联强度。 基本上,在NoSQL中使用Pentaho数据集成在数据发现、建模和数据加载开发方面为用户节省了几个月时间。...然后,将其公开给Pentaho商业分析仪表板,可以在笔记本电脑上查询和查看几千条记录,并在几秒钟内执行。...总结 在Pentaho数据集成(PDI)中,NoSQL社区可以访问创建无架构和可变架构数据加载以及数据科学和集成转换能力,同时避免创建大量转换。从而,大大减少与NoSQL系统相关执行成本。

    1.8K100

    大数据ETL开发之图解Kettle工具(入门到精通)

    Kettle(现在已经更名为PDI, Pentaho Data Integration Pentaho数据集成) 1.2 Kettle两种设计 简述: Transformation (转换) :完成针对数据基础转换...Job (作业) :完成整个工作流控制。 区别: (1) 作业是步骤流,转换是数据流。这是作业和转换最大区别。...任务:熟悉XML输入控件,将XML文件学生数据写到excel文件中 1.浏览获取xml文件,将xml文件添加到kettle中 2.获取 xml文档所有路径,设置合适循环读取路径 3.获取字段...例如,如何传送文件;验证数据库表是否存在等等。而这些操作都是按照一定顺序完成。因为转换以并行方式执行,就需要一个可以串行执行作业来处理这些操作。...此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。 -Xmn2g:设置年轻代大小为2G。整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小。

    14.6K1023

    ETL工具-Kettle Spoon教程

    Kettle中有两种脚本文件,transformation(转换ktr结尾)和job(任务kjb结尾),transformation完成针对数据基础转换,job则完成整个工作流控制(工作流程首先由个开始节点...官网 :http://kettle.pentaho.org/ 下载最新版本kettle是:pdi-ce-7.1.0.0-12 官方入门文档 :https://wiki.pentaho.com/...选择该文件 并且指定两个列名和表格列名一致 输出 (EXCEL文件) 核心对象中 将数据转换后写入目的地 比如插入和更新(目的表存在更新不存在插入) 删除(输入存在记录就删除目标表对应记录...也可以在主对象树中 Hops(节点连接) 上双击 手工选定 最后点击 三角运行按钮 运行 发现保存excel中存在文件了 》》作业 作业可以理解为一套流程 流程从开始节点开始执行 直到最后...表结构如下(注意两张表字段不一样哦) 首先双击转换 新建一个转换 转换中配置数据库连接 先将驱动包 丢到kettlelib目录下 输入完成后 点击测试按钮测试一下 拖拽一个 输入

    2.1K11

    SAP ETL开发规范「建议收藏」

    $G_Start_Datetime End Time 结束时间变量应指示作业应该结束加载数据日期和时间。这应该在作业开始时设置,以避免重叠。...总是尝试在表格比较中使用“排序后输入”选项,注意确保输入在“下推式SQL”中排序。 3.6 Try/Catch 通常应该在作业开始时和作业结束时使用try-catch对象。...3.7 While Loops While 循环主要用于需要加载一系列平面文件、STA层循环抽取(设置数据抽取超时机制)和xml文件作业,并在其上执行一些附加功能,例如将它们移动到备份目录并更新控制表以指示加载成功和失败...缓存比较表 – 该选项速度与排序输入选项类似,但这意味着整个比较表将缓存到内存中。 使用“排序输入选项”关键是确保传入数据集排序。...使用它问题是,它在异构数据库中执行得非常糟糕(更新所有,无论它们是否更改),并且在执行代码审阅时通常不被注意。实现相同功能更好方法是在加载目标表之前使用表格比较转换。

    2.1K10

    Kettle构建Hadoop ETL实践(十):并行、集群与分区

    数据分发 2. 记录合并 3. 记录再分发 4. 数据流水线 5. 多线程问题 6. 作业并行执行 二、Carte子服务器 1. 创建Carte子服务器 2. 定义子服务器 3....也就是第一表输出步骤获取第一条记录,第一表输出步骤获取第二条记录,如此循环,直到没有记录分发为止。 复制方式是将全部数据发送给所有输出跳,例如同时往数据库表和文件里写入数据。...作业并行执行 默认情况下,作业作业项按顺序执行,必须等待一个作业项执行完成后才开始执行下一个。...因为后面的步骤接收这两组数据,所以还要在后面的步骤里把这两组数据再排序,由“排序合并”步骤来完成这个工作,它从所有的输入步骤中逐行读取记录,然后进行多路合并排序。...介绍了数据如何被分发以及合并到一起,并介绍了并发可能导致几个问题。 介绍了如何在远程服务器上部署、执行、管理和监控转换和作业

    1.9K52

    kettle使用教程(超详细)

    步骤: 1在组件组-输入中找到组件-表输入 2.选择数据库连接(数据源) 3.填写SQL语句,可预览结果 3、建立表输出 步骤: 1、在组件组-输出中找到组件-表输出 2.建立表输入和表输出连接...4.录入目标表名,指定数据库字段 5.获取字段 6.执行SQL(建表) 4、建立清理SQL *步骤: 1在组件组-脚本中找到组件-执行SQL脚本 2.选择数据库连接(数据仓库)#此处选择必须谨慎,避免清理了数据源数据...3.填写SQL语句 4.建立与表输入关系 5、测试转换是否能正常工作 6、新建作业,更改作业名称,选择作业归属 7、添加组件 *步骤: 1在组件组-通用中找到组件-START(作业开始,用于作业调度设置...) 2.在组件组-通用中找到组件-转换(如有多个可以多次添加) 3.通过引用指定转换文件 4.在组件组-通用中找到组件-成功(作业结束) 5.按执行顺序建立组件间关系 8、作业定时调度及测试,...由于kettle连接中暂时没有clickhouse插件,需要自己搞定,先看下官网提示: https://help.hitachivantara.com/Documentation/Pentaho/8.1

    7.2K21
    领券