一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

ETL的主要步驟

 荷露叮咚 2009-03-23

ETL的主要步驟

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

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

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

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

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

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

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

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

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

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

主要問題

表現(xiàn)形式

產(chǎn)生原因

清洗策略

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

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

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

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

超出字典表范圍

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

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

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

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

錄入, 同步的問題

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

應該成為主鍵的值不唯一

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

1. 消除錯誤, 重復的主鍵



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

 

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产欧美日韩不卡在线视频| 日韩精品小视频在线观看| 中文字幕人妻综合一区二区| 国产内射一级一片内射高清| 午夜久久精品福利视频| 精品亚洲香蕉久久综合网| 亚洲高清中文字幕一区二三区| 色婷婷日本视频在线观看| 国产又黄又爽又粗视频在线| 伊人天堂午夜精品草草网| 亚洲熟妇熟女久久精品 | 亚洲免费观看一区二区三区| 久久综合狠狠综合久久综合| 国产精品欧美激情在线观看| 91精品国产综合久久福利| 日木乱偷人妻中文字幕在线| 日韩精品视频高清在线观看| 国内午夜精品视频在线观看| 日韩精品你懂的在线观看| 午夜精品麻豆视频91| 国产欧美日韩一级小黄片| 国产精品免费视频专区| 免费观看潮喷到高潮大叫| 中国美女草逼一级黄片视频| 国产亚洲精品久久久优势| 日韩午夜老司机免费视频| 风间中文字幕亚洲一区| 不卡在线播放一区二区三区| 日本加勒比在线播放一区| 中文字幕日韩欧美一区| 欧美精品久久男人的天堂| 中文字幕日韩一区二区不卡 | 欧美日韩精品久久第一页 | 激情国产白嫩美女在线观看| 亚洲精品小视频在线观看| 一区二区福利在线视频| 日韩亚洲激情在线观看| 亚洲一区二区三区三区| 欧美大粗爽一区二区三区 | 五月婷婷亚洲综合一区| 一区二区三区四区亚洲另类|