[英]Make a DB INSERT based on Text File Input metadata
我正在开发ETL,并且必须执行一些例程来对其进行监视。
开始时,我必须在DB上的INSERT中创建一条记录,以通知文件名和开始过程的日期时间。 该查询将返回记录的PK,并且必须将其存储。 当该文件的ETL完成时,我必须更新该记录,以告知ETL成功完成及其结束过程的日期时间。
我使用文本文件输入来查找与其正则表达式匹配的文件,并将其“其他输出字段”添加到流中。 但是我找不到一个仅可用于第一条记录并且将对INSERT执行SQL命令的组件。
您还具有Unique row
。 如果您未指定在哪个字段上过滤唯一值,则它将只输出一行。
现在,除非我误解了您的规格,否则我宁愿使用Kettle的日志记录系统 。 单击任意位置,在弹出窗口中选择属性,然后单击“日志记录”选项卡。 它将为您提供状态(开始/结束/停止/ ...)和大量其他信息,例如错误数,读取和写入的行(只需告诉PDI它必须在哪一步上寻找这些数字)。 。
您甚至可以几乎实时地在数据库中读取与PDI底部面板上相同的信息。 只需单击所需的字段,然后按SQL
按钮即可创建文件。
请注意,由于历史原因,开始日期并不是真正的开始日期(它是前一次成功运行的日期)。 开始日期称为“ Replay date
。
另外,如果您需要该系统监视负载并知道运行是否必须开始,请当心,在系统突然终止时,有时没有时间将“ End”写入日志。 因此, logdate<now-10minutes
更可靠。
要仅对流的第一行执行某项操作,请使用“添加序列”步骤(从1开始),然后执行条件为“ seq = 1”的“过滤行”步骤。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.