五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

基于Kettle的數(shù)據(jù)采集原理以及應用過程

2023-02-17 10:42 作者:全棧數(shù)據(jù)  | 我要投稿

基于Kettle的數(shù)據(jù)采集

一、Kettle是什么

Kettle 是一款國外開源的 ETL 工具,純 Java 編寫,可以在Windows、Linux和Unix上運行,數(shù)據(jù)抽取高效穩(wěn)定,通過提供一個圖形化的用戶環(huán)境來描述你想做什么,而不是你想怎么做,它的數(shù)據(jù)抽取高效穩(wěn)定(數(shù)據(jù)遷移工具)。

一個簡單的Kettle實例,作用是獲取數(shù)據(jù)的來源,并調(diào)用相應的存儲過程,進行映射的處理。

二、Kettle用來做什么


作用:


可以說凡是有數(shù)據(jù)整合、轉(zhuǎn)換、遷移的場景都可以使用Kettle,他代替了完成數(shù)據(jù)轉(zhuǎn)換任務(wù)的手工編碼,降低了開發(fā)難度。


同時,我們可以在自己實際業(yè)務(wù)里,使用它來實現(xiàn)數(shù)據(jù)的剖析、清洗、校驗、抽取、轉(zhuǎn)換和加載等各類常見的ETL類工作。


比如,除了ODS/DW類比較大型的應用外,Kettle實際還可以為中小企業(yè)提供靈活的數(shù)據(jù)抽取和數(shù)據(jù)處理的功能。Kettle除了支持各種關(guān)系型數(shù)據(jù)庫,HBase MongoDB這樣的NoSQL數(shù)據(jù)源外,它還支持Excel、Access這類小型的數(shù)據(jù)源。并且通過這些插件擴展,kettle可以支持各類數(shù)據(jù)源。


另外,Kettle的數(shù)據(jù)處理功能也很強大,除了選擇、過濾、分組、連接和排序這些常用的功能外,Kettle里的Java表達式、正則表達式、java腳本、Java類等功能都非常靈活而強大,都非常適合于各種數(shù)據(jù)處理功能。


應用場景:


表視圖模式:這種情況我們經(jīng)常遇到,就是在同一網(wǎng)絡(luò)環(huán)境下,我們對各種數(shù)據(jù)源的表數(shù)據(jù)進行抽取、過濾、清洗等,例如歷史數(shù)據(jù)同步、異構(gòu)系統(tǒng)數(shù)據(jù)交互、數(shù)據(jù)對稱發(fā)布或備份等都歸屬于這個模式;傳統(tǒng)的實現(xiàn)方式一般都要進行研發(fā)(一小部分例如兩個相同表結(jié)構(gòu)的表之間的數(shù)據(jù)同步,如果sqlserver數(shù)據(jù)庫可以通過發(fā)布/訂閱實現(xiàn)),涉及到一些復雜的一些業(yè)務(wù)邏輯如果我們研發(fā)出來還容易出各種bug;

前置機模式:這是一種典型的數(shù)據(jù)交換應用場景,數(shù)據(jù)交換的雙方A和B網(wǎng)絡(luò)不通,但是A和B都可以和前置機C連接,一般的情況是雙方約定好前置機的數(shù)據(jù)結(jié)構(gòu),這個結(jié)構(gòu)跟A和B的數(shù)據(jù)結(jié)構(gòu)基本上是不一致的,這樣我們就需要把應用上的數(shù)據(jù)按照數(shù)據(jù)標準推送到前置機上,這個研發(fā)工作量還是比較大的;

文件模式:數(shù)據(jù)交互的雙方A和B是完全的物理隔離,這樣就只能通過以文件的方式來進行數(shù)據(jù)交互了,例如XML格式,在應用A中我們開發(fā)一個接口用來生成標準格式的XML,然后用優(yōu)盤或者別的介質(zhì)在某一時間把XML數(shù)據(jù)拷貝之后,然后接入到應用B上,應用B上在按照標準接口解析相應的文件把數(shù)據(jù)接收過來;

PS:按照個人見解,kettle所做的事情,就是對數(shù)據(jù)進行各種處理,包括對數(shù)據(jù)進行清洗校驗等,本人使用最多的場景,應該是對數(shù)據(jù)庫的數(shù)據(jù)進行抽取并清洗,通過一個庫抽取到另一個庫的表,抽取過來后,通過存儲過程進行數(shù)據(jù)清洗,將接口表數(shù)據(jù)通過業(yè)務(wù)邏輯的清洗,最終到落地表中。至于為什么要這么做,因為在實際業(yè)務(wù)中,很有可能會依賴到另一個系統(tǒng)的數(shù)據(jù),一般而言,是不允許直接讀取另一個系統(tǒng)的源表數(shù)據(jù)的,更別提直接對數(shù)據(jù)進行編寫代碼來用作調(diào)整。

三、Kettle怎么用

Kettle 簡介

ETL(Extract-Transform-Load的縮寫,即數(shù)據(jù)抽取、轉(zhuǎn)換、裝載的過程),對于企業(yè)或行業(yè)應用來說,我們經(jīng)常會遇到各種數(shù)據(jù)的處理,轉(zhuǎn)換,遷移,了解并掌握一種etl工具的使用,必不可少,支持圖形化的GUI設(shè)計界面,然后可以以工作流的形式流轉(zhuǎn),在做一些簡單或復雜的數(shù)據(jù)抽取、質(zhì)量檢測、數(shù)據(jù)清洗、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)過濾等方面有著比較穩(wěn)定的表現(xiàn),使用它減少了非常多的研發(fā)工作量,提高了我們的工作效率

Kettle官網(wǎng) :http://kettle.pentaho.org/

下載的最新版本的kettle是:pdi-ce-7.1.0.0-12

官方入門文檔 :https://wiki.pentaho.com/display/EAI/Getting+Started

ETL工具-Kettle Spoon教程,關(guān)于工具,這篇文章介紹比較完全,不做很詳細的介紹。

Kettle 專業(yè)術(shù)語:

Transformation 轉(zhuǎn)換步驟,可以理解為將一個或者多個不同的數(shù)據(jù)源組裝成一條數(shù)據(jù)流水線。然后最終輸出到某一個地方,文件或者數(shù)據(jù)庫等。

Job 作業(yè),可以調(diào)度設(shè)計好的轉(zhuǎn)換,也可以執(zhí)行一些文件處理(比較,刪除等),還可以 ftp 上 傳,下載文件,發(fā)送郵件,執(zhí)行 shell 命令等

Hop 連接轉(zhuǎn)換步驟或者連接 Job(實際上就是執(zhí)行順序) 的連線 Transformation hop:主要表示數(shù)據(jù)的流向。從輸入,過濾等轉(zhuǎn)換操作,到輸出。

Kettle中有兩種腳本文件,transformation(轉(zhuǎn)換ktr結(jié)尾)和job(任務(wù)kjb結(jié)尾),transformation完成針對數(shù)據(jù)的基礎(chǔ)轉(zhuǎn)換,job則完成整個工作流的控制(工作流程首先由個開始節(jié)點【可以設(shè)置定時執(zhí)行】 可以選擇transformation)。


四、Kettle簡單使用

Kettle的具體使用:

最簡單的使用例子,將源庫中的源表采集到目標庫中的目標表,就是把a庫中某一張表,直接抽到b庫的表中

前置

安裝與使用,

kettle是開源的免費工具,可以直接去官網(wǎng)進行下載,同時由于kettle是Java編寫,需要配置jdk,建議1.8以上。(工具需要可留郵箱)

下載到本地后,運行Spoon.bat的腳本文件

安裝成功,并執(zhí)行腳本文件后,會出現(xiàn)一個基于windows的可視化的程序,如下


實操

1.新建轉(zhuǎn)換(倆庫之間的采集的建立)

在新增的轉(zhuǎn)換中,新建數(shù)據(jù)連接,包括目標庫與源庫倆個連接

連接信息可如下圖填寫


填寫完成后,可以點擊測試,如果測試結(jié)果如下,為成功建立

數(shù)據(jù)庫建立后,新增輸入-表輸入(配置源表數(shù)據(jù)來源)


配置內(nèi)容如下


輸入配置完后,配置輸出-插入更新(配置目標表信息,以及字段名配置)


配置內(nèi)容如下


輸入與輸出都配置完成后,通過Hop(連接線),將輸入與輸出進行連接。【選中輸入后,按住shift,拖拽至輸出即可】


配置完成后進行測試,點擊左上角的運行按鈕


2.新建作業(yè)(Job)【用于調(diào)用剛剛那個轉(zhuǎn)換,包括定時調(diào)用與立即調(diào)用】
新增一個作業(yè),如下


在新增的作業(yè)中,新增一個START(配置調(diào)用時間)


配置如下,可以自己進行時間的配置


在新增的作業(yè)中,新增一個轉(zhuǎn)換(配置剛剛保存的那個轉(zhuǎn)換)


配置信息如下


同理,用Hop把倆者連接

連接后進行測試作業(yè)是否正常執(zhí)行,如下后作業(yè)也新建成功。

小結(jié)

至此,kettle三元素中的轉(zhuǎn)換(Trancer),作業(yè)(Job),連接線(Hop),都全部使用過了。起碼是完成了最基本的數(shù)的抽取,完成了,最簡單的kettle的使用,至于一些復雜的參數(shù)傳遞,業(yè)務(wù)上的清洗放到后面介紹。


基于Kettle的數(shù)據(jù)采集原理以及應用過程的評論 (共 條)

分享到微博請遵守國家法律
三穗县| 饶河县| 邵东县| 彭水| 宁德市| 开江县| 称多县| 合川市| 常宁市| 兖州市| 丰都县| 衡阳县| 巴林右旗| 巨鹿县| 德令哈市| 乌鲁木齐县| 库车县| 新邵县| 西城区| 精河县| 宜宾县| 祁东县| 哈密市| 乐昌市| 越西县| 慈溪市| 永康市| 浙江省| 海门市| 土默特左旗| 雅江县| 公主岭市| 鸡东县| 延吉市| 科技| 永州市| 乌拉特后旗| 姚安县| 晋城| 咸丰县| 桃园市|