1、etl在bi中的做用mysql
BI流程:
由數據後臺例如數據庫-----到數據緩衝區取出來-----數據集市-----給應用服務器提供數據------發佈給用戶sql
圖中左邊:爲數據後臺、業務系統、多是數據庫,從中抽出數據數據庫
中間:是etl的流程,抽到圖中左下是數據緩衝區,左上是根據維度建好的多個數據集市。etl:描述將數據歷來源端通過萃取(extract)、轉置(transform)、加載(load)至目的端的過程。服務器
右邊:爲數據前臺,將應用服務器提供的數據發佈給用戶。
架構
2、kettle的優勢工具
一、流程式的設計方便易用spa
二、全面的數據訪問支持插件
三、插件架構擴展性好設計
四、支持多平臺.code
3、構建一個簡單的轉換
在進行kettle流程以前,要先鏈接資源庫,資源庫包括:數據資源庫和文件資源庫。
這裏我鏈接了數據資源庫,工具-------資源庫-------配置。
而後在左上角新建一個轉換流程,kettle中主要包含轉換和job兩種做業方式。
作一個隨機數生成---------而後過濾-----------輸出到文本文件
生成的隨機數都在0-1之間
右鍵隨機數能夠選擇生成隨機數的數量。
而後輸出到桌面的文件中。
4、作一個由mysql寫入pg的數據清洗寫入流程。
表輸入:從mysql中讀取某表的數據並對數據進行清洗
SELECT id , ecode , outid , termid , cardsnr , opdt , colldt , rectype , ioflag , updateflag , updatedt , downdt , replace (replace(termname, '\0', '' ), ' ', '' ) AS termname , name FROM m_rec_kqmj WHERE substr(termname, 1, 1 ) IN ( 'A', 'B', 'C', 'D', 'E', 'F', 'Y' )
表輸出:將讀取到的表寫入到gp數據庫中,在寫入以前要在gp數據庫中提早建好表。
表輸入3:從mysql中讀取另一張表,這張表要與表輸入中的表進行innerjoin,但此表不用寫入到gp中。
記錄集鏈接:根據字段選擇鏈接方式,要提早對兩表進行排序。
表輸出2:將merge好的表寫入gp數據庫。