一、 輸入組件
1.1表輸入
從指定的數據庫中,通過sql語句來查詢數據加載到內存。
允許簡易轉換:勾選后可以避免不必要的字段的數據類型轉換,從而提高性能。
替換sql語句里的變量:勾選后可以通過${queryDate}來使用queryDate變量。
從步驟中插入數據:以上次的步驟中的數據作為數據的參數,使用?來獲取上步驟的數據,查詢多個列就多個?接受。
從步驟中插入數據的例子:
csv文件里面有一些id,我們需要讀取這個id的值,然后去數據庫里面找對應id的數據
我們從csv中讀取數據,所以需要csv文件輸入組件,並且需要從數據庫中回去數據,所以需要表輸入組件,最終會形成下面的轉換圖:

其中csv讀取到的id內容是:

表輸入的配置是:

最終表輸入的輸出是:

1.2一個組件有多個數據通道
一個組件往多個通道發送時:可以選擇分發或者是復制。

分發的意思是分流,就是把輸出分為多分發送到不同的目的地
復制的意思是每個目的地接收到的數據是一樣的
這里舉一個復制的例子,讀取數據庫中的數據復制多分到excel輸出、json輸出、表輸出
表輸出需要注意字段的映射關系:

這是轉換圖:

二、執行sql的組件
執行腳本是很常用的一個組件,主要用於將上一步驟的結果作為參數來執行sql語句。
執行每一行:是否要對偶上個步驟的N行的結果一行一行的執行此腳本。
execute as a statment:當做一條完整的語句執行
變量替換:選中后,就可以${date}方式使用變量
quote string:選中后會識別?來表示上步驟傳來的數據。
測試程序:
我們讀取csv文件,並把csv文件中的數據插入到mysql的表中

其中執行sql腳本的配置是:

三、公式
在原來字段的基礎上,使用新的自定義公式產生新的字段。變量用{}括起來。
例子:
我們讀取csv文件,將name字段變為大寫

最終的公式的輸出是:

四、記錄集連接
根據兩個輸入的連接字段選擇連接方式,注意一個問題:關聯的數據源要事先排好序。
五、字段選擇工具
在關聯之后去掉一些不需要的字段,或者修改字段的控制
字段選擇的轉換圖:

csv文件里面包括兩列的數據,id和name,現在我們把id字段名改為了new_id,並且將name字段刪除
字段選擇后的結果:

六、合並記錄
將跨數據源的數據合並在一起的操作,相當於在同一數據庫中的union操作。


union有數據的相對比較的功能
匹配關鍵字:是兩個數據源數據對比的依據
標志字段是要顯示的兩個數據源的對比結果:
new:原來數據源沒有關鍵字匹配的值,新數據源有關鍵字匹配的值。
delete:原來數據源有關鍵字匹配的值,新數據源沒有關鍵字匹配的值。
changed:原來數據源和新數據源有關鍵字匹配的值,但是其他項修改了。
identical:兩條數據是一致的。
