kettle流程以及sql流程使用

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數據庫。

相關文章
相關標籤/搜索