999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx

基于ETL的異構(gòu)數(shù)據(jù)集成框架研究

2020-12-23 04:53:25馬竹根林晶于述春李森林
西部論叢 2020年16期

馬竹根 林晶 于述春 李森林

摘 要:介紹了ETL原理及Kettle的使用方法,以 ETL技術(shù)為核心設(shè)計了ETL驅(qū)動的數(shù)據(jù)倉庫技術(shù)的數(shù)據(jù)集成框架,制定了跨平臺數(shù)據(jù)集成解決方案,利用Kettle工具驗證和實現(xiàn)了多源異構(gòu)數(shù)據(jù)的集成,簡化了數(shù)據(jù)整合的過程,實現(xiàn)了信息系統(tǒng)間數(shù)據(jù)共享,能有效地完成特定的數(shù)據(jù)處理任務(wù)。

關(guān)鍵詞:數(shù)據(jù)集成;數(shù)據(jù)倉庫;ETL;Kettle

1引言

數(shù)據(jù)在當(dāng)今社會的重要性是毋庸置疑的,通過執(zhí)行數(shù)據(jù)分析,幾乎任何領(lǐng)域的可用數(shù)據(jù)都為用戶創(chuàng)造了價值并獲得競爭優(yōu)勢,數(shù)據(jù)集成需求變得日益緊迫。數(shù)據(jù)集成是一個迭代的過程,由來自多個異構(gòu)源系統(tǒng)的數(shù)據(jù)合并組成提供數(shù)據(jù)的統(tǒng)一視圖。集成來自多個異構(gòu)來源的數(shù)據(jù)以支持分析報告通常被稱為數(shù)據(jù)倉庫。為了構(gòu)建數(shù)據(jù)倉庫,必要的預(yù)處理步驟通常被稱為提取、轉(zhuǎn)換和加載。ETL(Extract-Transform- Load)即數(shù)據(jù)抽取、轉(zhuǎn)換和裝載的過程,是用于解決多源異構(gòu)數(shù)據(jù)集成的一系列過程,是一種多源數(shù)據(jù)集成的有效方法[1]。Kettle 是一款國外開源的 ETL 工具,能夠高效穩(wěn)定地對數(shù)據(jù)進(jìn)行抽取,可以提供面向不同行業(yè)的數(shù)據(jù)集成解決方案[2]。本文設(shè)計和實現(xiàn)一個異構(gòu)數(shù)據(jù)集成框架,該框架采用數(shù)據(jù)倉庫技術(shù),使用Kettle ETL驅(qū)動的方法從多個數(shù)據(jù)源提取和集成數(shù)據(jù)。

2 相關(guān)技術(shù)介紹

ETL 可以將結(jié)構(gòu)化或非結(jié)構(gòu)化的數(shù)據(jù)進(jìn)行抽取,然后采用一定的規(guī)則進(jìn)行清洗轉(zhuǎn)換形成符合要求的標(biāo)準(zhǔn)數(shù)據(jù),最后將其裝載進(jìn)中心數(shù)據(jù)庫或數(shù)據(jù)倉庫。ETL處理分為3步,分別是:數(shù)據(jù)抽取、數(shù)據(jù)清洗和轉(zhuǎn)換、數(shù)據(jù)裝載。數(shù)據(jù)抽取通常從數(shù)據(jù)源中提取一部分信息并提供給轉(zhuǎn)換,這些數(shù)據(jù)源可以由具有不同數(shù)據(jù)格式和數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)清洗可以使用各種專門的方法來消除集成多個數(shù)據(jù)源時的錯誤,把不合規(guī)則的數(shù)據(jù)進(jìn)行處理和過濾,包括不完整數(shù)據(jù)、錯誤數(shù)據(jù)、重復(fù)數(shù)據(jù)和缺省值等[3]。數(shù)據(jù)轉(zhuǎn)換將經(jīng)過清洗的數(shù)據(jù)轉(zhuǎn)換到目標(biāo)模式中,可以在ETL工具的幫助下進(jìn)行可視化操作的方式實現(xiàn)各種復(fù)雜的轉(zhuǎn)換。數(shù)據(jù)裝載主要是將經(jīng)過轉(zhuǎn)換后的統(tǒng)一格式的數(shù)據(jù)批量導(dǎo)入到數(shù)據(jù)倉庫中進(jìn)行存儲[4],數(shù)據(jù)裝載可以通過直接連接到數(shù)據(jù)庫來執(zhí)行。

Kettle是一款國外開源的ETL工具,可以跨平臺運行。Kettle包括4個產(chǎn)品:Spoon、Pan、Kitchen、Carte。Spoon 通過圖形界面來設(shè)計ETL轉(zhuǎn)換過程(Transformation),Pan 可以批量運行由Spoon設(shè)計的ETL轉(zhuǎn)換,Kitchen調(diào)用作業(yè)流程,Carte實現(xiàn)ETL集群處理。 Kettle 的 ETL 過程主要由轉(zhuǎn)換(transformation)和作業(yè)(job)兩大部分完成[5]。轉(zhuǎn)換是ETL解決方法中最主要的部分,它負(fù)責(zé)處理抽取、轉(zhuǎn)換和加載各階段對數(shù)據(jù)行的操作。轉(zhuǎn)換包括一個或多個步驟,步驟之間通過跳(hop)來連接。作業(yè)主要是控制轉(zhuǎn)換或使多個轉(zhuǎn)換按照固有的順序運行,完成整個工作流的控制。

3 異構(gòu)數(shù)據(jù)集成框架

異構(gòu)數(shù)據(jù)集成框架由數(shù)據(jù)源、ETL過程、數(shù)據(jù)倉庫和最終用戶層組成,如圖1所示。ETL是建立數(shù)據(jù)倉庫的重要的一環(huán),將來自不同源系統(tǒng)的數(shù)據(jù)傳輸?shù)狡渌麛?shù)據(jù)存儲系統(tǒng)并適應(yīng)新的需求,為數(shù)據(jù)挖掘系統(tǒng)、商務(wù)智能軟件等決策支持系統(tǒng)產(chǎn)生更加有效的結(jié)果提供數(shù)據(jù)支持。

數(shù)據(jù)可以有多種來源,如關(guān)系數(shù)據(jù)庫、XML文件、文本文件等,這些異構(gòu)數(shù)據(jù)源具有一些獨特的特征,應(yīng)該對其進(jìn)行管理,以便為ETL過程有效地檢索數(shù)據(jù)。ETL將不同來源的數(shù)據(jù)提取到暫存區(qū),然后數(shù)據(jù)被轉(zhuǎn)換并加載到數(shù)據(jù)倉庫。要執(zhí)行這樣的過程,可以使用一個開源的ETL工具來處理不同性質(zhì)的數(shù)據(jù)源。在識別的數(shù)據(jù)被提取之后,下一步是改變提取的數(shù)據(jù)的形式以適應(yīng)目標(biāo)數(shù)據(jù)倉庫的結(jié)構(gòu)。轉(zhuǎn)換是對數(shù)據(jù)執(zhí)行的一些活動,按照相關(guān)的規(guī)則將多源異構(gòu)數(shù)據(jù)進(jìn)行格式和結(jié)構(gòu)統(tǒng)一。最后,轉(zhuǎn)換后的數(shù)據(jù)存儲在數(shù)據(jù)倉庫中,供最終用戶和最終用戶層的應(yīng)用程序訪問。最終用戶可以使用各種工具來處理數(shù)據(jù),如報表、電子表格和其他圖表。

4、基于ETL-Kettle模式的數(shù)據(jù)集成實現(xiàn)

ETL過程是使用Kettle中的Spoon應(yīng)用程序來執(zhí)行的。Spoon是一個用于創(chuàng)建轉(zhuǎn)換和作業(yè)的圖形界面工具,基于圖形化界面操作Kettle進(jìn)行數(shù)據(jù)處理,只需按照數(shù)據(jù)處理的流程配置相應(yīng)的步驟即可。通過構(gòu)建多個轉(zhuǎn)換對象來集成數(shù)據(jù),創(chuàng)建的各種轉(zhuǎn)換對象應(yīng)該以正確的順序執(zhí)行,因此這些轉(zhuǎn)換對象將被視為作業(yè)中的作業(yè)項。Spoon應(yīng)用程序中的作業(yè)用于執(zhí)行所有轉(zhuǎn)換對象,如初始化數(shù)據(jù)倉庫表、從源中提取數(shù)據(jù)以及將轉(zhuǎn)換后的數(shù)據(jù)加載到數(shù)據(jù)倉庫中等轉(zhuǎn)換依次執(zhí)行。下面介紹一種針對多平臺的數(shù)據(jù)加載到數(shù)據(jù)倉庫的解決方案。

整個數(shù)據(jù)抽取流程包括2個作業(yè)和7個轉(zhuǎn)換,總作業(yè)如圖2所示,抽取數(shù)據(jù)作業(yè)如圖3所示。總作業(yè)包括一個轉(zhuǎn)換和一個作業(yè),獲取表名列表是要獲取到數(shù)據(jù)倉庫中要抽取的表名,抽取數(shù)據(jù)作業(yè)包括了數(shù)據(jù)抽取、清洗、轉(zhuǎn)換的過程。

在對數(shù)據(jù)表進(jìn)行匯總時要建立兩個日志表,一個用來記錄成功或失敗的記錄,另一個用來分配成功的抽取表以便進(jìn)行數(shù)據(jù)清洗、轉(zhuǎn)換等數(shù)據(jù)處理。為方便起見,我們把需要抽取數(shù)據(jù)的表命名為基本表,記錄成功或失敗記錄的表命名為歷史表,分配清洗轉(zhuǎn)換任務(wù)的表命名為清洗表。數(shù)據(jù)抽取的基本思路是:對基本表進(jìn)行抽取,如果抽取成功,則將基本表中全部數(shù)據(jù)記錄到歷史表中,并標(biāo)記為“成功”;如果抽取失敗,則終止表的提取過程,并將失敗的記錄在歷史記錄表中進(jìn)行記錄。數(shù)據(jù)抽取具體流程如下:

(1)設(shè)置表名變量。從上一步獲取表名列表的結(jié)果中獲取記錄,將表名設(shè)置為變量,方便后續(xù)表輸入和表輸出的使用。(2)統(tǒng)計表中記錄數(shù)。如果記錄數(shù)大于0就繼續(xù)進(jìn)行下一步,否則就指向“表不存或表中沒有數(shù)據(jù)”步驟,跳過后面的步驟,進(jìn)入下一個循環(huán)。(3)獲取PRIMARY_VALUE。獲取每個表的主鍵值并放在一個字段里。(4)設(shè)置平臺變量。為了區(qū)分不同的平臺,可以通過語句獲取每個平臺對應(yīng)的平臺值。(5)抽取基本表。主要分為3步:獲取表名、表輸入、表輸出。如果出現(xiàn)錯誤,就會停止抽取表并指向“失敗新增history”。(6)新增歷史表。基本的流程就是獲取變量(包括表名變量,主鍵值)、表輸入、增加序列(以序列號作為每條記錄的主鍵)、輸出到歷史表。(7)新增清洗表。從歷史表中獲取數(shù)據(jù)并加入條件判斷將數(shù)據(jù)合理分配給某個清洗服務(wù)器,可以使用平均表數(shù)量的分配方法,也可以使用固定平臺對應(yīng)固定清洗服務(wù)器的方法,還可以使用隨機抽取的方法。

5 結(jié)語

數(shù)據(jù)集成是建立數(shù)據(jù)倉庫、進(jìn)行數(shù)據(jù)挖掘和決策分析的重要組成部分,KETTLE在多源異構(gòu)數(shù)據(jù)集成方面具有易于使用,開發(fā)簡單的優(yōu)勢。本研究設(shè)計了ETL驅(qū)動的異構(gòu)數(shù)據(jù)集成框架,并制定了多平臺數(shù)據(jù)集成方案,實際完成了數(shù)據(jù)抽取、轉(zhuǎn)換和加載等過程的數(shù)據(jù)集成。利用KETTLE能夠快速高效地實現(xiàn)多源異構(gòu)數(shù)據(jù)集成,形成高質(zhì)量的數(shù)據(jù)為后期的數(shù)據(jù)挖掘與分析奠定數(shù)據(jù)基礎(chǔ)。

參考文獻(xiàn)

[1] 徐俊剛,裴瑩.數(shù)據(jù)ETL研究綜述[J].計算機科學(xué),2011,38(04):15-20.

[2] 陳亞東,鮮國建,趙瑞雪,劉現(xiàn)武,郭淑敏.基于ETL-KETTLE模式的蘋果產(chǎn)業(yè)數(shù)據(jù)整合[J].江蘇農(nóng)業(yè)科學(xué),2019,47(10):230-234.

[3] 趙一凡,卞良,叢昕.數(shù)據(jù)清洗方法研究綜述[J].軟件導(dǎo)刊,2017,16(12):222-224.

[4] 廉博. 數(shù)據(jù)倉庫中ETL技術(shù)的研究與實現(xiàn)[D].沈陽工業(yè)大學(xué),2006.

[5] 王軍.基于kettle的高職學(xué)生行為數(shù)據(jù)集成研究[J].信息與電腦(理論版),2020,32(03):225-227.

基金項目:湖南省教育廳科學(xué)研究項目(16C1276),湖南省懷化學(xué)院雙一流應(yīng)用特色學(xué)科“控制科學(xué)與工程”資助

作者簡介:馬竹根(1971—),男,講師,碩士,研究方向為數(shù)據(jù)庫、軟件工程。

404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
主站蜘蛛池模板: 夜夜操天天摸| 久久精品一品道久久精品| 国产伦片中文免费观看| 2021精品国产自在现线看| 久久精品一卡日本电影| 伊人久久大线影院首页| 欧美一区二区三区欧美日韩亚洲| a毛片在线免费观看| 亚洲欧美一区二区三区蜜芽| 美女扒开下面流白浆在线试听| 亚洲浓毛av| 99手机在线视频| 日本一本在线视频| swag国产精品| 国产亚洲男人的天堂在线观看| 99热免费在线| 欧美激情第一欧美在线| 欧美国产日韩一区二区三区精品影视| 最新亚洲人成无码网站欣赏网| 日韩毛片免费| 91在线精品免费免费播放| 亚洲丝袜第一页| 色噜噜在线观看| 无码人妻免费| 国产91视频免费观看| 亚洲欧美日韩久久精品| 久久亚洲高清国产| a欧美在线| 国产成人艳妇AA视频在线| 九月婷婷亚洲综合在线| 99久久亚洲精品影院| 午夜精品一区二区蜜桃| 99在线观看精品视频| 精品久久国产综合精麻豆| 毛片手机在线看| 精品亚洲麻豆1区2区3区| 国产成人永久免费视频| 伊人久久大线影院首页| 99视频在线观看免费| 黄色成年视频| 欧美日韩免费在线视频| 真实国产乱子伦高清| 国产在线观看91精品亚瑟| 久久久久亚洲精品成人网| 欧美日韩第三页| 亚洲A∨无码精品午夜在线观看| 国产精品女主播| 天天躁狠狠躁| 国产精品思思热在线| 免费高清毛片| 国产精品国产主播在线观看| 丰满人妻被猛烈进入无码| 国产精品爽爽va在线无码观看| 99视频在线精品免费观看6| 2021国产在线视频| 九九香蕉视频| 刘亦菲一区二区在线观看| 亚洲高清资源| 99视频全部免费| 在线看片中文字幕| 亚洲a级在线观看| 亚洲美女高潮久久久久久久| 97色婷婷成人综合在线观看| 国产清纯在线一区二区WWW| 国产精品欧美日本韩免费一区二区三区不卡 | 国产成人亚洲精品色欲AV| 国产黄色片在线看| 日韩视频精品在线| 伊人久久大线影院首页| 首页亚洲国产丝袜长腿综合| 3344在线观看无码| 无码国内精品人妻少妇蜜桃视频 | 色屁屁一区二区三区视频国产| 首页亚洲国产丝袜长腿综合| 久久黄色视频影| 国产日韩精品欧美一区喷| 九九热精品视频在线| 亚洲中文字幕久久无码精品A| www.99精品视频在线播放| 免费久久一级欧美特大黄| 国产情侣一区二区三区| 中文字幕在线观看日本|