日韩高清亚洲日韩精品一区二区三区,成熟人妻av无码专区,国产又A又黄又潮娇喘视频,男女猛烈无遮挡免费视频在线观看

開源ETL工具Kettle(PDI)開發(fā)(一)認識Kettle及源碼部署(比kettle好用的開源etl)

一、ETL是什么?

1.ETL簡介

ETL是將業(yè)務系統(tǒng)的數(shù)據(jù)經(jīng)過抽取、清洗轉換之后加載到數(shù)據(jù)倉庫的過程,目的是將企業(yè)中的分散、零亂、標準不統(tǒng)一的數(shù)據(jù)整合到一起,為企業(yè)的決策提供分析依據(jù)。 ETL是BI(商業(yè)智慧或商務智能,指用現(xiàn)代數(shù)據(jù)倉庫技術、線上分析處理技術、數(shù)據(jù)挖掘和數(shù)據(jù)展現(xiàn)技術進行數(shù)據(jù)分析以實現(xiàn)商業(yè)價值)項目重要的一個環(huán)節(jié)。 通常情況下,ETL設計的好壞直接關接到BI項目的成敗,在BI項目中ETL會花掉整個項目至少1/3的時間。

E:Extract 數(shù)據(jù)的抽取;

T:Transform 數(shù)據(jù)的清洗轉換

L:Load 速度的加載

2. ETL 與ELT

ETL所描述的過程,一般常見的作法包含ETL或是ELT(Extract-Load-Transform),并且混合使用。通常越大量的數(shù)據(jù)、復雜的轉換邏輯、目的端為較強運算能力的數(shù)據(jù)庫,越偏向使用ELT,以便運用目的端數(shù)據(jù)庫的平行處理能力。

二、認識kettle

1. 發(fā)展歷程

Kettle是一個Java編寫的ETL工具,主作者是Matt Casters,2003年就開始了這個項目,。

2005年12月,Kettle從2.1版本開始進入了開源領域,一直到4.1版本遵守LGPL協(xié)議,從4.2版本開始遵守Apache Licence 2.0協(xié)議。

Kettle在2006年初加入了開源的BI公司Pentaho, 正式命名為:Pentaho Data Integeration,簡稱“PDI”。

自2017年9月20日起,Pentaho已經(jīng)被合并于日立集團下的新公司: Hitachi Vantara。

2.架構設計

Kettle是一個組件化的集成系統(tǒng),包括如下幾個主要部分:

1.Spoon:圖形化界面工具(GUI方式),Spoon允許你通過圖形界面來設計Job和Transformation,可以保存為文件或者保存在數(shù)據(jù)庫中。

也可以直接在Spoon圖形化界面中運行Job和Transformation,

2.Pan:Transformation執(zhí)行器(命令行方式),Pan用于在終端執(zhí)行Transformation,沒有圖形界面。

3.Kitchen:Job執(zhí)行器(命令行方式),Kitchen用于在終端執(zhí)行Job,沒有圖形界面。

4.Carte:嵌入式Web服務,用于遠程執(zhí)行Job或Transformation,Kettle通過Carte建立集群。

5.Encr:Kettle用于字符串加密的命令行工具,如:對在Job或Transformation中定義的數(shù)據(jù)庫連接參數(shù)進行加密。

三、Kettle源碼下載及部署

1.源碼地址

github上面kettle的源碼下載地址:https://github.com/pentaho/pentaho-kettle

開源ETL工具Kettle(PDI)開發(fā)(一)認識Kettle及源碼部署(比kettle好用的開源etl)

2、環(huán)境準備

  • Java JDK 1.8
  • Maven, version 3
  • IDEA

3.源碼說明

下載源碼解壓后用IDEA打開,如圖

開源ETL工具Kettle(PDI)開發(fā)(一)認識Kettle及源碼部署(比kettle好用的開源etl)

代碼項目結構

  • assemblies: 項目分發(fā)歸檔文件在此模塊下生成
  • core: 核心實現(xiàn)
  • dbdialog: 數(shù)據(jù)庫”對話框
  • ui: 用戶界面
  • engine: PDI引擎
  • engine-ext: PDI引擎擴展
  • plugins: PDI核心插件
  • integration:測試

4.源碼打包

執(zhí)行mvn clean install -DskipTests

開源ETL工具Kettle(PDI)開發(fā)(一)認識Kettle及源碼部署(比kettle好用的開源etl)

打包好之后,assembliesclienttarget會有一個zip包,我們將它拷貝到我們想要的地方解壓,如圖

開源ETL工具Kettle(PDI)開發(fā)(一)認識Kettle及源碼部署(比kettle好用的開源etl)

5.運行Kettle

mysql鏈接庫準備,下載mysql-connector-java-8.0.25,并拷貝到lib目錄中

在window環(huán)境 運行spoon.bat

開源ETL工具Kettle(PDI)開發(fā)(一)認識Kettle及源碼部署(比kettle好用的開源etl)

數(shù)據(jù)庫連接配置

菜單:工具向導創(chuàng)建數(shù)據(jù)庫連接向導

如果沒有把mysql連接庫拷貝lib里,創(chuàng)建連接會報錯,下載拷貝后,重新運行spoon.bat

開源ETL工具Kettle(PDI)開發(fā)(一)認識Kettle及源碼部署(比kettle好用的開源etl)

三、關于Kettle二次開發(fā)的設想

kettle工具已經(jīng)很優(yōu)秀了,但是我們如果真正應用到我們項目中,個人覺得還有有些達不到要求,在開源基礎能否進行二次開發(fā),

1.spoon有沒有web版?

2.kettle引擎提供API方式嗎?

3.作業(yè)調度這里官方建議用操作系統(tǒng)的作業(yè)調度

在開源基礎上想實現(xiàn)web版,有興趣的可以一塊參與哦,我也會記錄我二次開發(fā)的全部過程。

相關新聞

聯(lián)系我們
聯(lián)系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部