欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于sca的etl架構(gòu)管理方法

文檔序號(hào):8512594閱讀:657來(lái)源:國(guó)知局
一種基于sca的etl架構(gòu)管理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明針對(duì)ETL開發(fā)周期瓶頸的問題,研宄、設(shè)計(jì)和實(shí)現(xiàn)了一個(gè)基于SCA的ETL架構(gòu),該架構(gòu)能夠復(fù)用已有的ETL工具,已有的組件功能,同時(shí)提高定制開發(fā)組件的復(fù)用性。
【背景技術(shù)】
[0002]ETL是數(shù)據(jù)抽取、轉(zhuǎn)換和裝載(Extract,Transformat1n, Loading)的英文簡(jiǎn)稱,是數(shù)據(jù)倉(cāng)庫(kù)獲取高質(zhì)量數(shù)據(jù)的關(guān)鍵環(huán)節(jié),是對(duì)分散在各業(yè)務(wù)系統(tǒng)中的現(xiàn)有數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換、清洗和加載的過程,使這些數(shù)據(jù)成為商業(yè)智能系統(tǒng)需要的有用數(shù)據(jù)。ETL是構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)的第一步,也是構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)最重要的步驟。在聯(lián)合實(shí)驗(yàn)室所開發(fā)的數(shù)據(jù)倉(cāng)庫(kù)項(xiàng)目中,ETL部分是耗費(fèi)時(shí)間最多的階段,所使用的ETL工具為微軟的SSIS,在開發(fā)之前要先學(xué)習(xí)該平臺(tái)下的大量控件的使用規(guī)范和使用場(chǎng)景以及使用方式,還有其平臺(tái)部署時(shí)的移植問題,這和熟悉的編程語(yǔ)言,如Java,C#,SQL等雖有一定的交集,但較少,使用該平臺(tái)則需要學(xué)習(xí)大量的該平臺(tái)的相關(guān)新知識(shí),所以一個(gè)能夠獨(dú)立于編程語(yǔ)言和開發(fā)平臺(tái),能夠讓開發(fā)者根據(jù)自己熟悉的編程語(yǔ)言來(lái)實(shí)現(xiàn)ETL開發(fā)的ETL框架是有需求和意義的。在所開發(fā)的項(xiàng)目中,ETL部分是復(fù)雜的,其中有著大量相同的過程,以及相似的流程,也就是在多個(gè)項(xiàng)目中我們做了大量的重復(fù)工作,這也是造成ETL部分耗時(shí)最多的一個(gè)原因。故對(duì)于一個(gè)能夠降低ETL開發(fā)復(fù)雜度,減少ETL開發(fā)周期的,復(fù)用性和擴(kuò)展性良好的ETL框架有著迫切的需求。

【發(fā)明內(nèi)容】

[0003]本發(fā)明的目的是提供一種基于SCA的ETL架構(gòu)的組織和管理策略。
[0004]為了達(dá)到上述目的,本發(fā)明的技術(shù)方案是提供了一種基于SCA的ETL架構(gòu)管理方法,其特征在于,包括以下步驟:
[0005]步驟1、對(duì)元數(shù)據(jù)信息的訪問,和存儲(chǔ)元數(shù)據(jù)信息的存儲(chǔ)介質(zhì)進(jìn)行交互;
[0006]步驟2、解決不同數(shù)據(jù)源之間的交互,提供多源支持,包括以下步驟:
[0007]步驟2.1、對(duì)數(shù)據(jù)格式良好的文本數(shù)據(jù)源直接導(dǎo)入到對(duì)應(yīng)的表中;
[0008]步驟2.2、把基于文本的數(shù)據(jù)源和基于關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)源都看成是統(tǒng)一的數(shù)據(jù)源DataStore,一個(gè)數(shù)據(jù)源DataStore包含一到多個(gè)數(shù)據(jù)模式Schema,每個(gè)數(shù)據(jù)集合Schema包含多個(gè)一到多個(gè)數(shù)據(jù)表Table,每個(gè)數(shù)據(jù)表Table包含一到多個(gè)數(shù)據(jù)列Column ;
[0009]步驟2.3、當(dāng)要在不同的數(shù)據(jù)源之間進(jìn)行數(shù)據(jù)讀寫操作時(shí),提供足夠的信息給數(shù)據(jù)源DataStore,能夠找到對(duì)應(yīng)的DataContext、數(shù)據(jù)模式Schema、數(shù)據(jù)表Table的對(duì)應(yīng)實(shí)現(xiàn)類,然后在程序級(jí)別則是Column接口的數(shù)據(jù)介入到Column接口中,最后寫入到對(duì)應(yīng)的物理存儲(chǔ)介質(zhì)上;
[0010]步驟3、處理各種各樣的數(shù)據(jù)質(zhì)量問題,對(duì)多源異構(gòu)下的數(shù)據(jù)源進(jìn)行清洗與轉(zhuǎn)換操作,包括數(shù)據(jù)模式級(jí)別和數(shù)據(jù)實(shí)例級(jí)別;
[0011]步驟4、完成維度建模過程,把加載到數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)最終轉(zhuǎn)化為用戶感興趣的服務(wù)。
[0012]優(yōu)選地,所述步驟I包括:
[0013]步驟1.1、讀寫元數(shù)據(jù),包括對(duì)不同的元數(shù)據(jù)存儲(chǔ)介質(zhì)的訪問;
[0014]步驟1.2、實(shí)現(xiàn)解析輸入?yún)?shù)的功能,處理不同的業(yè)務(wù)邏輯所需要特定功能。
[0015]優(yōu)選地,所述步驟3包括:
[0016]步驟3.1、單源模式級(jí)的數(shù)據(jù)質(zhì)量問題的處理,找到從源到目的的映射規(guī)則,做一些簡(jiǎn)單的轉(zhuǎn)換即可;
[0017]步驟3.2、多源模式下,把數(shù)據(jù)從一個(gè)值轉(zhuǎn)成另一個(gè)值,這里面包含了數(shù)據(jù)一個(gè)抽象對(duì)象和一個(gè)轉(zhuǎn)換抽象動(dòng)作,由此抽象出來(lái)三個(gè)接口,分別對(duì)應(yīng)InputRow,InputCoIumn>Transformer, Transformer的對(duì)象是具體的列,所以需要兩個(gè)接口來(lái)對(duì)應(yīng)抽象的數(shù)據(jù),而Transformer中定義了兩個(gè)方法,一個(gè)是用來(lái)獲取輸出列的getOutputColumn,另一個(gè)是用來(lái)實(shí)現(xiàn)轉(zhuǎn)換的transform方法,InputRow中包含多個(gè)InputColumn,InputColumn定義為泛型結(jié)構(gòu),因?yàn)椴淮_定傳入的數(shù)據(jù)到底是什么類型的,有可能是從數(shù)據(jù)源中導(dǎo)入進(jìn)來(lái)的原始數(shù)據(jù),也可能是經(jīng)過了 Transformer之后轉(zhuǎn)換的數(shù)據(jù)類型。
[0018]優(yōu)選地,所述步驟4包括:
[0019]步驟4.1、生成滿足需求的維度表,維度表分為三種:第一種是不發(fā)生變化的維度表,第二種是需要記錄歷史變化的維度表,第三種則是不記錄歷史變化的維度表;
[0020]步驟4.2、處理事實(shí)表查找代理鍵的問題,在SCA組件中,調(diào)用對(duì)應(yīng)的數(shù)據(jù)庫(kù)函數(shù)和存儲(chǔ)過程,從SCA的裝配模型的角度看,關(guān)系數(shù)據(jù)庫(kù)是一個(gè)提供服務(wù)的外部應(yīng)用,SCA組件只需按照數(shù)據(jù)庫(kù)的規(guī)范來(lái)進(jìn)行調(diào)用即可。
[0021]本發(fā)明提供了一種基于SCA的ETL架構(gòu)方法和管理策略,其特點(diǎn)為復(fù)用當(dāng)前已有的滿足ETL需求的組件和系統(tǒng),提高開發(fā)的ETL組件的復(fù)用性和擴(kuò)展性,在結(jié)合SCA在粗粒度、平臺(tái)無(wú)關(guān)、松耦合等優(yōu)良特性的基礎(chǔ)上提出一個(gè)基于SCA的ETL框架方法,達(dá)到簡(jiǎn)化ETL開發(fā)周期和復(fù)雜度的目的。
【具體實(shí)施方式】
[0022]為使本發(fā)明更明顯易懂,茲以優(yōu)選實(shí)施例作詳細(xì)說明如下。
[0023]本發(fā)明的技術(shù)方案提供了一種基于SCA的ETL架構(gòu)管理方法,本發(fā)明能針對(duì)在所開發(fā)的項(xiàng)目中,ETL部分是復(fù)雜的,在多個(gè)項(xiàng)目中我們做了大量的重復(fù)工作,造成ETL部分耗時(shí)最多的問題,提供一種基于SCA的ETL架構(gòu)方法,降低ETL開發(fā)復(fù)雜度,減少ETL開發(fā)周期的,復(fù)用性和擴(kuò)展性良好的ETL框架,其步驟為:
[0024]步驟1、對(duì)元數(shù)據(jù)信息的訪問,和文本文件,關(guān)系數(shù)據(jù)庫(kù)等存儲(chǔ)元數(shù)據(jù)信息的存儲(chǔ)介質(zhì)進(jìn)行交互,該步驟包括:
[0025]步驟1.1、讀寫元數(shù)據(jù),包括對(duì)不同的元數(shù)據(jù)存儲(chǔ)介質(zhì)的訪問;
[0026]步驟1.2、實(shí)現(xiàn)解析輸入?yún)?shù)的功能,處理不同的業(yè)務(wù)邏輯所需要特定功能。
[0027]步驟2、解決不同數(shù)據(jù)源之間的交互,提供多源支持。該步驟包括:
[0028]步驟2.1、對(duì)數(shù)據(jù)格式良好的文本數(shù)據(jù)源直接導(dǎo)入到對(duì)應(yīng)的表中,但是現(xiàn)實(shí)世界是一般不能保證文本數(shù)據(jù)源的數(shù)據(jù)質(zhì)量,所以通常的做法是先把文本數(shù)據(jù)導(dǎo)入到內(nèi)存中,通過一系列的校驗(yàn),再?gòu)膬?nèi)存導(dǎo)入到關(guān)系數(shù)據(jù)庫(kù)中。
[0029]步驟2.2、把Excel文件,CSV文件等基于文本的數(shù)據(jù)源和基于關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)源都看成是統(tǒng)一的數(shù)據(jù)源DataStore,一個(gè)DataStore包含一到多個(gè)Schema,每個(gè)Schema包含多個(gè)一到多個(gè)Table,每個(gè)Table包含一到多個(gè)Column。
[0030]步驟2.3、當(dāng)要在不同的數(shù)據(jù)源之間進(jìn)行數(shù)據(jù)讀寫操作時(shí),可以不用業(yè)務(wù)邏輯階段去考慮這種異構(gòu)數(shù)據(jù)源之間的差異所帶來(lái)的影響,而只需要提供足夠的信息給DataStore,就能夠找到對(duì)應(yīng)DataContext,Schema, Table的對(duì)應(yīng)實(shí)現(xiàn)類,然后在程序級(jí)別則是Column接口的數(shù)據(jù)介入到Column接口中,最后寫入到對(duì)應(yīng)的物理存儲(chǔ)介質(zhì)上。
[0031]步驟3、處理各種各樣的數(shù)據(jù)質(zhì)量問題,對(duì)多源異構(gòu)下的數(shù)據(jù)源進(jìn)行清洗與轉(zhuǎn)換操作,包括數(shù)據(jù)模式級(jí)別和數(shù)據(jù)實(shí)例級(jí)別,該步驟包括:
[0032]步驟3.1、單源模式級(jí)的數(shù)據(jù)質(zhì)量問題的處理,找到從源到目的的映射規(guī)則,做一些簡(jiǎn)單的轉(zhuǎn)換即可。
[0033]步驟3.2、多源模式下,把數(shù)據(jù)從一個(gè)值轉(zhuǎn)成另一個(gè)值,這里面包含了數(shù)據(jù)一個(gè)抽象對(duì)象和一個(gè)轉(zhuǎn)換抽象動(dòng)作,由此抽象出來(lái)三個(gè)接口,分別對(duì)應(yīng)InputRow,InputColumn,Transformer。程序中Transfo
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
确山县| 习水县| 墨竹工卡县| 奎屯市| 潢川县| 阿合奇县| 邵阳县| 仙游县| 太白县| 曲靖市| 永昌县| 乌兰察布市| 安阳市| 辽阳市| 佛坪县| 仪陇县| 黔西县| 莲花县| 莱阳市| 台安县| 潮州市| 孟连| 灌云县| 昆明市| 伽师县| 襄汾县| 都昌县| 宁夏| 渭源县| 和田县| 五寨县| 迁西县| 花莲县| 西畴县| 四平市| 宝清县| 闸北区| 曲沃县| 全州县| 康保县| 天等县|