一個人難以開發出一個強大且完整的系統,pentaho集成了BI和DI等功能,應用於報表製作和商業智能相對比較全面,最近看了國外文章,這裏做一些介紹。
pentaho 使用Adaptive Execution Layer (AEL)在不用系統引擎中執行數據轉換,而在大數據環境下,基於hadoop集羣 下的spark能夠進行高效的數據處理。AEL爲spark定義數據的轉換,直接將操作傳遞給hadoop集羣中,從而利用spark 能在多個節點處理大型數據的能力。AEL的目標是一次開發隨處執行。
這裏需要注意的是,AEL需要在使用spark引擎前配置好:點擊打開鏈接,配置後在run configuration中選擇spark引擎。
AEL-SAPRK app開發
在PDI中開發一個spark應用的好處是不需要在開發過程中接入spark集羣,在筆記本上就能完成。
1. main job:
1.1. 設置數據輸入輸出位置
1.2. 啓動轉換進程
1.3. Look/Sort Ttransformation
1.3.1. 數據過濾變換排序
1.3.2. 輸出結果進行排序
1.3.3. 將排序數據的輸出加載到RDBMS中
在Set variables步驟中,爲所有的輸入輸出文件創建變量以用於後面的轉換步驟。
在序列中執行2個轉換操作:
- Transformation A:根據product ID查詢product信息並將最終結果根據product name排序
- Transformation B:加載錯誤記錄到數據庫中
- filters record: 沒有produt ID的記錄過濾出去保存在一個單獨的文件中
- 具有productID的記錄查詢出product info,按照name排序並存儲到結果中
- 錯誤數據加載到數據庫
- 這一步將不在spark集羣中執行