国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
ETL的主要步驟

ETL的主要步驟

ETL(Extract Transform Loading, 數(shù)據(jù)抽取轉(zhuǎn)化裝載規(guī)則)是負(fù)責(zé)完成是數(shù)據(jù)源數(shù)據(jù)向數(shù)據(jù)倉庫數(shù)據(jù)的轉(zhuǎn)化的過程。是實(shí)施數(shù)據(jù)倉庫中最重要的步驟??梢孕蜗蟮恼f,ETL的角色相當(dāng)于磚石修葺成 房子的過程。在數(shù)據(jù)倉庫系統(tǒng)設(shè)計(jì)中最難的部分是用戶需求分析和模型設(shè)計(jì),那么工作量最大的就是ETL規(guī)則的設(shè)計(jì)和實(shí)施了,它要占到整個(gè)數(shù)據(jù)倉庫設(shè)計(jì)工作量 60%-70%,甚至更多。
  下面是本人對(duì)ETL的幾個(gè)重要步驟理解,和大家分享!

一、ODS區(qū)的數(shù)據(jù)采集:  最主要作用為了盡量減少對(duì) 業(yè)務(wù)系統(tǒng)的影響。表結(jié)構(gòu)可以不必和DW一致。根據(jù)具體業(yè)務(wù)需求和數(shù)據(jù)量情況,將數(shù)據(jù)源的數(shù)據(jù)放入ODS有各種不同的方法,比如Oracle的數(shù)據(jù)庫鏈路, 表復(fù)制,SQL*LOADER,TeradataFastloadSysbaseBCP等等。

  需要解決的問題包括:
a
、數(shù)據(jù)的時(shí)間差異性問題
  在抽取舊有數(shù)據(jù)時(shí),要將不同時(shí)期的數(shù)據(jù)定義統(tǒng)一,較早的數(shù)據(jù)不夠完整或不符合新系統(tǒng)的數(shù)據(jù)規(guī)范,一般可以根據(jù)規(guī)則,在存入中轉(zhuǎn)區(qū)的過程中予以更新或補(bǔ)充。

b
、數(shù)據(jù)的平臺(tái)多樣性問題
  在抽取舊有數(shù)據(jù)時(shí),大部分?jǐn)?shù)據(jù)都可采用表復(fù)制方式直接導(dǎo)入數(shù)據(jù)中轉(zhuǎn)區(qū)集中,再做處理,但有部分?jǐn)?shù)據(jù)可能需要轉(zhuǎn)換成文本文件或使用第三方工具如 Informatica等裝載入數(shù)據(jù)中轉(zhuǎn)區(qū)。這部分?jǐn)?shù)據(jù)主要是與數(shù)據(jù)中轉(zhuǎn)區(qū)數(shù)據(jù)庫平臺(tái)不一致的數(shù)據(jù)庫數(shù)據(jù),或非存儲(chǔ)于數(shù)據(jù)庫內(nèi)的文本、excel等數(shù)據(jù)。

c
、數(shù)據(jù)的不穩(wěn)定性問題
  對(duì)于重要信息的完整歷史變更記錄,在抽取時(shí)可以根據(jù)各時(shí)期的歷史信息,在抽取需要信息等基本屬性的舊有數(shù)據(jù)時(shí),要與相應(yīng)時(shí)段的信息關(guān)聯(lián)得到真實(shí)的歷史屬性。

d
、數(shù)據(jù)的依賴性問題
  舊有業(yè)務(wù)系統(tǒng)的數(shù)據(jù)關(guān)聯(lián)一般已有約束保證,代碼表和參照表等數(shù)據(jù)也比較準(zhǔn)確,但仍有少量數(shù)據(jù)不完整,對(duì)這部分?jǐn)?shù)據(jù),需根據(jù)地稅的需求采取清洗策略,保證數(shù)據(jù)倉庫各事實(shí)表和維表之間的關(guān)聯(lián)完整有效。
  數(shù)據(jù)倉庫各事實(shí)表和維表的初始裝載順序有先后關(guān)系,要有一個(gè)集中的數(shù)據(jù)裝載任務(wù)順序方案,確保初始數(shù)據(jù)裝載的準(zhǔn)確。這可以通過操作系統(tǒng)或第三方工具的任務(wù)調(diào)度機(jī)制來保證。

二、數(shù)據(jù)轉(zhuǎn)換、清洗:
  將ODS中的數(shù)據(jù),按照數(shù)據(jù)倉庫中數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)進(jìn)行合理的轉(zhuǎn)換,轉(zhuǎn)換步驟一般還要包含數(shù)據(jù)清洗的過程。數(shù)據(jù)清洗主要是針對(duì)源數(shù)據(jù)庫中出現(xiàn)二義性、重復(fù)、不完整、違反業(yè)務(wù)或邏輯規(guī)則等問題的數(shù)據(jù)數(shù)據(jù)進(jìn)行統(tǒng)一的處理,一般包括如:NULL值處理,日期格式轉(zhuǎn)換,數(shù)據(jù)類型轉(zhuǎn)換等等。在清洗之前需要進(jìn)行數(shù)據(jù)質(zhì)量分析,以找出存在問題的數(shù)據(jù),否則數(shù)據(jù)清洗將無從談起。數(shù)據(jù)裝載是通過裝載工具或自行編寫的SQL程序?qū)⒊槿?、轉(zhuǎn)換后的結(jié)果數(shù)據(jù)加載到目標(biāo)數(shù)據(jù)庫中。

  數(shù)據(jù)質(zhì)量問題具體表現(xiàn)在以下幾個(gè)方面:
a
、正確性(Accuracy):數(shù)據(jù)是否正確的表示了現(xiàn)實(shí)或可證實(shí)的來源?
b
、完整性(Integrity):數(shù)據(jù)之間的參照完整性是否存在或一致?
c
、一致性(Consistency):數(shù)據(jù)是否被一致的定義或理解?
d
、完備性(Completeness):所有需要的數(shù)據(jù)都存在嗎?
e
、有效性(Validity):數(shù)據(jù)是否在企業(yè)定義的可接受的范圍之內(nèi)?
f
、時(shí)效性(Timeliness):數(shù)據(jù)在需要的時(shí)侯是有效的嗎?
g
、可獲取性(Accessibility):數(shù)據(jù)是否易于獲取、易于理解和易于使用?

  以下綜合說明數(shù)據(jù)倉庫中數(shù)據(jù)質(zhì)量要求,包括格式、完整性要求。
a
、業(yè)務(wù)描述統(tǒng)一,對(duì)數(shù)據(jù)模型的不同版本融合、映射為唯一版本。包括:
  1、在業(yè)務(wù)邏輯沒有變化的前提下,舊的業(yè)務(wù)數(shù)據(jù)映射在新模型上。
  2、 遺留系統(tǒng)的人事信息、考核相關(guān)信息與業(yè)務(wù)系統(tǒng)、行政其他模塊要一致。
b
、信息描述規(guī)范、完整。
  1、不存在格式違規(guī)
 數(shù)據(jù)類型不存在潛在錯(cuò)誤。
  2 、參照完整性未被破壞
 數(shù)據(jù)不會(huì)找不到參照。
  3 、不存在交叉系統(tǒng)匹配違規(guī),數(shù)據(jù)被很好集成
 相同的數(shù)據(jù)存在于多個(gè)系統(tǒng)中,數(shù)據(jù)之間要匹配。
  4 、數(shù)據(jù)在內(nèi)部一致
 同樣的紀(jì)錄字段在同一個(gè)表中重復(fù)出現(xiàn),不能有差別。

  以下是對(duì)主要數(shù)據(jù)質(zhì)量問題的清洗策略:

主要問題

表現(xiàn)形式

產(chǎn)生原因

清洗策略

數(shù)據(jù)完整性問題

大量的空值字段的出現(xiàn)

OLTP系統(tǒng)中對(duì)很多字段沒有做非空限制

1.
交由OLTP系統(tǒng)重新錄入, 補(bǔ)齊
2.
在數(shù)據(jù)倉庫對(duì)應(yīng)的維表中建立一個(gè)新的字段, 將這些空值字段的值統(tǒng)一的賦值

超出字典表范圍

填寫這些值的時(shí)候是直接讓用戶填寫而非下拉框選擇

1. 交由OLTP系統(tǒng)重新錄入, 補(bǔ)齊
2.
在數(shù)據(jù)倉庫對(duì)應(yīng)的維表中建立一個(gè)新的字段, 將這些空值字段的值統(tǒng)一的賦值

數(shù)據(jù)一致性問題

一個(gè)特定的字段在不同的表中內(nèi)容不同

錄入, 同步的問題

1. 選取最可靠的表中的字段為確定值

應(yīng)該成為主鍵的值不唯一

OLTP系統(tǒng)中未建立有效的主鍵關(guān)系

1. 消除錯(cuò)誤, 重復(fù)的主鍵



三、數(shù)據(jù)加載:
  將轉(zhuǎn)換和清洗完的數(shù)據(jù)按照數(shù)據(jù)倉庫的結(jié)構(gòu)進(jìn)行數(shù)據(jù)加載。需要考慮初始數(shù)據(jù)裝載、數(shù)據(jù)刷新、加載順序等等問題。
  a、針對(duì)數(shù)據(jù)現(xiàn)狀,初始導(dǎo)入有這樣一些問題需要考慮:
1
、如何解決時(shí)間差異性?
2
、如何解決平臺(tái)差異性?
3
、如何適應(yīng)數(shù)據(jù)的不穩(wěn)定性?
4
、如何解決數(shù)據(jù)依賴性?

  b、數(shù)據(jù)刷新的策略要根據(jù)業(yè)務(wù)需求和應(yīng)用系統(tǒng)的承受能力和數(shù)據(jù)情況決定。主要有這樣一些問題需要考慮:1、如何解決時(shí)間差異性?
2
、如何適應(yīng)數(shù)據(jù)的不穩(wěn)定性?
3
、如何解決平臺(tái)差異性?
4
、如何解決數(shù)據(jù)依賴性?
5
、如何減少對(duì)業(yè)務(wù)系統(tǒng)的影響?

  c、不同的刷新任務(wù)類型,對(duì)業(yè)務(wù)系統(tǒng)的影響不同,刷新任務(wù)有以下種歸類特性:
1
、刷新頻率:
實(shí)時(shí)刷新、每數(shù)小時(shí)、每日、每周、每月、不定期手動(dòng)刷新。

2
、刷新方式:
數(shù)據(jù)庫表復(fù)制、文本文件ftp再裝載、物化視圖、數(shù)據(jù)庫trigger。

3
、數(shù)據(jù)加工方式:
簡(jiǎn)單插入更新、增加計(jì)算項(xiàng)字段、多表關(guān)聯(lián)更新、匯總、多表關(guān)聯(lián)匯總計(jì)算。

  并可針對(duì)各種異常情況做處理:回滾,重新裝載,斷點(diǎn)重新裝載等等,還可在任務(wù)完成后(或失敗后)將日志以Email方式發(fā)給數(shù)據(jù)倉庫管理人員。
四、匯總層、CUBE加載:
  ODS加載進(jìn)入數(shù)據(jù)倉庫的數(shù)據(jù)只是底層詳細(xì)層數(shù)據(jù),還需按定義的匯總規(guī)則進(jìn)行匯總,生成數(shù)據(jù)集市用的匯總表或CUBE。ETL流程是指完成每個(gè)維表數(shù)據(jù)及事實(shí)表數(shù)據(jù)導(dǎo)入的順序,  其包括兩個(gè)部分, 初始導(dǎo)入數(shù)據(jù)時(shí)的ETL流程, 及增量導(dǎo)入時(shí)的ETL流程。

初始導(dǎo)入數(shù)據(jù)時(shí)的ETL流程
第一步: 自動(dòng)生成維的數(shù)據(jù)裝載
  自動(dòng)生成維一般來說就是日期,年度月份,年度等時(shí)間類維度(年度月份,年度其實(shí)都是日期維的一個(gè)層次,但某些事實(shí)表中沒有日期信息,只有月份信息,所以需額外建立此二維度),幾乎數(shù)據(jù)倉庫中每個(gè)數(shù)據(jù)模型都需使用時(shí)間類維度,在加載其它維度和事實(shí)之前,需要先將時(shí)間維度生成出來。

第二步: 手工維護(hù)維度裝載
  實(shí)際數(shù)據(jù)倉庫開發(fā)中,很可能會(huì)有些維度的數(shù)據(jù)在業(yè)務(wù)系統(tǒng)中無發(fā)得到,典型的是一些外部信息指表的類型代碼,是由數(shù)據(jù)倉庫開發(fā)人員設(shè)計(jì)的。所以需要手工方式建立這些信息,然后導(dǎo)入數(shù)據(jù)倉庫。

第三步: 緩慢變化維表數(shù)據(jù)裝載
  這些維度可以從業(yè)務(wù)系統(tǒng)中找到來源,但變化比較緩慢。對(duì)于初始裝載時(shí),需要考慮對(duì)緩慢變化維的處理方式要和增量刷新方式一致。
  在裝載事實(shí)表數(shù)據(jù)之前,需要先裝載這些維表。需要注意的是,有些維本身就是事實(shí)表,其所依賴的維必須先裝載完成。

第四步: 事實(shí)表數(shù)據(jù)裝載
  然后是初始裝載所有的事實(shí)表數(shù)據(jù)。事實(shí)表之間也有依賴關(guān)系,某些事實(shí)表需在其他事實(shí)表裝載之前裝載。(如果ETL程序已保障了數(shù)據(jù)的完整性,也可以在將關(guān)聯(lián)約束禁用的情況下不考慮先后順序,但一般不建議)。

第五步:聚合表初始生成
  許多數(shù)據(jù)倉庫的前端應(yīng)用,并非直接使用主題星型模型中的事實(shí)表數(shù)據(jù),而是聚合表中匯總,運(yùn)算好的數(shù)據(jù)。(Oracle OLAP Service所建立的ROLAP 和數(shù)據(jù)集市實(shí)際上也是使用一系列的經(jīng)過大量預(yù)先計(jì)算得到的聚合表)

增量導(dǎo)入
第一步: 緩慢變化維表數(shù)據(jù)裝載
  每天將所有變化過的維度信息刷新到數(shù)據(jù)倉庫中,維表數(shù)據(jù)的刷新必須現(xiàn)于事實(shí)表。

第二步: 事實(shí)表數(shù)據(jù)裝載階段
  每天新增事實(shí)數(shù)據(jù)的導(dǎo)入,如同初始化導(dǎo)入一樣,需要考慮任務(wù)之間的先后順序。

第三步: 數(shù)據(jù)匯總和聚合
  根據(jù)設(shè)定的聚合規(guī)則和時(shí)間段對(duì)數(shù)據(jù)進(jìn)行聚合。

第四步: 作業(yè)調(diào)度和異常情況處理


五、任務(wù)調(diào)度策略
驅(qū)動(dòng)策略
前導(dǎo)Job驅(qū)動(dòng):只有滿足另外一個(gè)JOB成功后,自己才運(yùn)行。文件驅(qū)動(dòng):當(dāng)下傳的文件到達(dá),并經(jīng)過檢驗(yàn)準(zhǔn)確后JOB才運(yùn)行。時(shí)間驅(qū)動(dòng):當(dāng)?shù)竭_(dá)某個(gè)時(shí)點(diǎn)時(shí),Job便開始運(yùn)行。事件驅(qū)動(dòng):如人工參與,導(dǎo)致JOB執(zhí)行。
通知設(shè)計(jì):重要信息(成功/失?。┑耐ㄖ?/span>
1
、成功退出
  分段提交方式,當(dāng)分段提交的當(dāng)次任務(wù)都正確完成,即Job運(yùn)行狀態(tài)臨時(shí)表中登記的作業(yè)狀態(tài)全部為完成時(shí),退出ETL調(diào)度。
  自動(dòng)提交方式,當(dāng)當(dāng)期所有的任務(wù)都正確完成,即Job運(yùn)行狀態(tài)表中登記的作業(yè)狀態(tài)全部為完成時(shí),退出ETL調(diào)度。
2
、失敗退出
  關(guān)鍵作業(yè)異常,關(guān)鍵作業(yè)運(yùn)行異常時(shí),影響剩下的作業(yè)不能運(yùn)行時(shí),則退出ETL調(diào)度。
  超過ETL時(shí)限,當(dāng)超過預(yù)先設(shè)定的ETL?時(shí)限時(shí),退出ETL調(diào)度。
  數(shù)據(jù)庫異常,當(dāng)不能正常操作數(shù)據(jù)庫時(shí),退出ETL調(diào)度。
  操作系統(tǒng)異常,當(dāng)發(fā)生操作系統(tǒng)異常,導(dǎo)致程序不能正常運(yùn)行,如文件系統(tǒng)異常導(dǎo)致讀寫文件錯(cuò)時(shí),需要退出ETL調(diào)度。

3
、手工退出,需要人為干預(yù)ETL調(diào)度的時(shí)候,能以手工操作的方式退出ETL調(diào)度。

 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
ETL工具點(diǎn)評(píng)
ETL 集結(jié)區(qū),數(shù)據(jù)結(jié)構(gòu),三范式實(shí)體/關(guān)系模型
數(shù)據(jù)倉庫之ETL漫談
ETL學(xué)習(xí)心得
數(shù)據(jù)架構(gòu)中的ODS層
數(shù)據(jù)倉庫和數(shù)據(jù)集市
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服