[英]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.