亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2020-12-23 04:53:25馬竹根林晶于述春李森林
        西部論叢 2020年16期
        關(guān)鍵詞:數(shù)據(jù)集成數(shù)據(jù)倉庫

        馬竹根 林晶 于述春 李森林

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

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

        1引言

        數(shù)據(jù)在當(dāng)今社會(huì)的重要性是毋庸置疑的,通過執(zhí)行數(shù)據(jù)分析,幾乎任何領(lǐng)域的可用數(shù)據(jù)都為用戶創(chuàng)造了價(jià)值并獲得競(jìng)爭(zhēng)優(yōu)勢(shì),數(shù)據(jù)集成需求變得日益緊迫。數(shù)據(jù)集成是一個(gè)迭代的過程,由來自多個(gè)異構(gòu)源系統(tǒng)的數(shù)據(jù)合并組成提供數(shù)據(jù)的統(tǒng)一視圖。集成來自多個(gè)異構(gòu)來源的數(shù)據(jù)以支持分析報(bào)告通常被稱為數(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 是一款國(guó)外開源的 ETL 工具,能夠高效穩(wěn)定地對(duì)數(shù)據(jù)進(jìn)行抽取,可以提供面向不同行業(yè)的數(shù)據(jù)集成解決方案[2]。本文設(shè)計(jì)和實(shí)現(xiàn)一個(gè)異構(gòu)數(shù)據(jù)集成框架,該框架采用數(shù)據(jù)倉庫技術(shù),使用Kettle ETL驅(qū)動(dòng)的方法從多個(gè)數(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ù)清洗可以使用各種專門的方法來消除集成多個(gè)數(shù)據(jù)源時(shí)的錯(cuò)誤,把不合規(guī)則的數(shù)據(jù)進(jìn)行處理和過濾,包括不完整數(shù)據(jù)、錯(cuò)誤數(shù)據(jù)、重復(fù)數(shù)據(jù)和缺省值等[3]。數(shù)據(jù)轉(zhuǎn)換將經(jīng)過清洗的數(shù)據(jù)轉(zhuǎn)換到目標(biāo)模式中,可以在ETL工具的幫助下進(jìn)行可視化操作的方式實(shí)現(xiàn)各種復(fù)雜的轉(zhuǎn)換。數(shù)據(jù)裝載主要是將經(jīng)過轉(zhuǎn)換后的統(tǒng)一格式的數(shù)據(jù)批量導(dǎo)入到數(shù)據(jù)倉庫中進(jìn)行存儲(chǔ)[4],數(shù)據(jù)裝載可以通過直接連接到數(shù)據(jù)庫來執(zhí)行。

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

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

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

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

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

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

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

        5 結(jié)語

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

        參考文獻(xiàn)

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

        [2] 陳亞東,鮮國(guó)建,趙瑞雪,劉現(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ù)的研究與實(shí)現(xiàn)[D].沈陽工業(yè)大學(xué),2006.

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

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

        作者簡(jiǎn)介:馬竹根(1971—),男,講師,碩士,研究方向?yàn)閿?shù)據(jù)庫、軟件工程。

        猜你喜歡
        數(shù)據(jù)集成數(shù)據(jù)倉庫
        基于數(shù)據(jù)倉庫的數(shù)據(jù)傾斜解決方案研究
        基于數(shù)據(jù)倉庫的住房城鄉(xiāng)建設(shè)信息系統(tǒng)整合研究
        頁巖氣工程大數(shù)據(jù)倉庫建設(shè)與管理系統(tǒng)開發(fā)
        錄井工程(2017年3期)2018-01-22 08:39:50
        分布式存儲(chǔ)系統(tǒng)在液晶面板制造數(shù)據(jù)倉庫中的設(shè)計(jì)
        電子制作(2016年15期)2017-01-15 13:39:15
        探析電力系統(tǒng)調(diào)度中數(shù)據(jù)倉庫技術(shù)的應(yīng)用
        成本與制造數(shù)據(jù)集成分析
        基于Biztalk的異構(gòu)醫(yī)療信息系統(tǒng)數(shù)據(jù)集成研究
        信息系統(tǒng)集成與數(shù)據(jù)集成策略研究
        XML數(shù)據(jù)交換技術(shù)在中醫(yī)智能化診斷數(shù)據(jù)集成中的應(yīng)用
        高校一表通系統(tǒng)建設(shè)探究
        亚洲综合一| 亚洲精品无码久久久| 亚洲色欲色欲www在线播放| 美女一级毛片免费观看97| 亚洲男人在线天堂av| 草草影院ccyy国产日本欧美| 国产精品无码专区av在线播放| 乱伦一区二| 亚洲天堂一区二区三区视频| 国产18禁黄网站免费观看| 久久久久久好爽爽久久| 久久福利青草精品资源| 在线观看免费的黄片小视频| 欧美日韩在线视频| 久久九九久精品国产| 加勒比在线一区二区三区| 亚洲啪啪色婷婷一区二区| 成 人 免 费 黄 色| 日本a级特黄特黄刺激大片| 国产午夜av一区二区三区| 一二三区亚洲av偷拍| 中文字幕人妻被公上司喝醉| 亚洲AV无码国产永久播放蜜芽 | h视频在线观看视频在线| 国产69精品久久久久9999apgf| 秋霞鲁丝片av无码| 国产欧美日本亚洲精品一5区| 日韩av天堂一区二区| 极品少妇一区二区三区四区| 精品国产亚洲一区二区在线3d| 亚洲精品国产二区在线观看| 日韩精品无码熟人妻视频| 亚洲av无码乱码国产精品fc2| 国产午夜亚洲精品不卡免下载| 91九色最新国产在线观看| 亚洲日产精品一二三四区| 亚洲AV无码精品一区二区三区l| 亚洲狠狠久久五月婷婷| 狠狠噜狠狠狠狠丁香五月 | 啪啪网站免费观看| 91一区二区三区在线观看视频|