pentaho & SPARK

一個人難以開發出一個強大且完整的系統,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集羣中執行
以上的PDI jobs不需要連接到spark集羣做開發和測試:







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章