日本电影一区二区_日本va欧美va精品发布_日本黄h兄妹h动漫一区二区三区_日本欧美黄色

開(kāi)源ETL工具Kettle(PDI)開(kāi)發(fā)(一)認(rèn)識(shí)Kettle及源碼部署(比kettle好用的開(kāi)源etl)

一、ETL是什么?

1.ETL簡(jiǎn)介

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

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

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

L:Load 速度的加載

2. ETL 與ELT

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

二、認(rèn)識(shí)kettle

1. 發(fā)展歷程

Kettle是一個(gè)Java編寫(xiě)的ETL工具,主作者是Matt Casters,2003年就開(kāi)始了這個(gè)項(xiàng)目,。

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

Kettle在2006年初加入了開(kāi)源的BI公司Pentaho, 正式命名為:Pentaho Data Integeration,簡(jiǎn)稱(chēng)“PDI”。

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

2.架構(gòu)設(shè)計(jì)

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

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

也可以直接在Spoon圖形化界面中運(yùn)行Job和Transformation,

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

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

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

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

三、Kettle源碼下載及部署

1.源碼地址

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

開(kāi)源ETL工具Kettle(PDI)開(kāi)發(fā)(一)認(rèn)識(shí)Kettle及源碼部署(比kettle好用的開(kāi)源etl)

2、環(huán)境準(zhǔn)備

  • Java JDK 1.8
  • Maven, version 3
  • IDEA

3.源碼說(shuō)明

下載源碼解壓后用IDEA打開(kāi),如圖

開(kāi)源ETL工具Kettle(PDI)開(kāi)發(fā)(一)認(rèn)識(shí)Kettle及源碼部署(比kettle好用的開(kāi)源etl)

代碼項(xiàng)目結(jié)構(gòu)

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

4.源碼打包

執(zhí)行mvn clean install -DskipTests

開(kāi)源ETL工具Kettle(PDI)開(kāi)發(fā)(一)認(rèn)識(shí)Kettle及源碼部署(比kettle好用的開(kāi)源etl)

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

開(kāi)源ETL工具Kettle(PDI)開(kāi)發(fā)(一)認(rèn)識(shí)Kettle及源碼部署(比kettle好用的開(kāi)源etl)

5.運(yùn)行Kettle

mysql鏈接庫(kù)準(zhǔn)備,下載mysql-connector-java-8.0.25,并拷貝到lib目錄中

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

開(kāi)源ETL工具Kettle(PDI)開(kāi)發(fā)(一)認(rèn)識(shí)Kettle及源碼部署(比kettle好用的開(kāi)源etl)

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

菜單:工具向?qū)?chuàng)建數(shù)據(jù)庫(kù)連接向?qū)?/span>

如果沒(méi)有把mysql連接庫(kù)拷貝lib里,創(chuàng)建連接會(huì)報(bào)錯(cuò),下載拷貝后,重新運(yùn)行spoon.bat

開(kāi)源ETL工具Kettle(PDI)開(kāi)發(fā)(一)認(rèn)識(shí)Kettle及源碼部署(比kettle好用的開(kāi)源etl)

三、關(guān)于Kettle二次開(kāi)發(fā)的設(shè)想

kettle工具已經(jīng)很優(yōu)秀了,但是我們?nèi)绻嬲龖?yīng)用到我們項(xiàng)目中,個(gè)人覺(jué)得還有有些達(dá)不到要求,在開(kāi)源基礎(chǔ)能否進(jìn)行二次開(kāi)發(fā),

1.spoon有沒(méi)有web版?

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

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

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

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號(hào)
公眾號(hào)
在線咨詢
分享本頁(yè)
返回頂部
克拉玛依市| 翁牛特旗| 靖西县| 上蔡县| 新龙县| 三台县| 瑞金市| 南昌市| 临高县| 朝阳县| 河北省| 禹州市| 临桂县| 湘潭市| 东方市| 麻江县| 临洮县| 高雄县| 专栏| 屯留县| 杨浦区| 合山市| 泉州市| 郎溪县| 利辛县| 岱山县| 靖宇县| 法库县| 报价| 北京市| 邵东县| 亳州市| 弥勒县| 西峡县| 新建县| 桑日县| 新丰县| 海盐县| 南漳县| 桐城市| 东兴市|