• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            ETL

            Posted on 2008-11-20 14:33 Prayer 閱讀(301) 評論(0)  編輯 收藏 引用 所屬分類: 數據庫,SQL
             ETLExtraction-Transformation-Loading的縮寫,中文名稱為數據抽取、轉換和加載
              ETL負責將分布的、異構數據源中的數據如關系數據、平面數據文件等抽取到臨時中間層后進行清洗、轉換、集成,最后加載到數據倉庫或數據集市中,成為聯機分析處理、數據挖掘的基礎。
              ETL是數據倉庫中的非常重要的一環。它是承前啟后的必要的一步。相對于關系數據庫,數據倉庫技術沒有嚴格的數學理論基礎,它更面向實際工程應用。所以從工程應用的角度來考慮,按著物理數據模型的要求加載數據并對數據進行一些系列處理,處理過程與經驗直接相關,同時這部分的工作直接關系數據倉庫中數據的質量,從而影響到聯機分析處理和數據挖掘的結果的質量。
              數據倉庫是一個獨立的數據環境,需要通過抽取過程將數據從聯機事務處理環境、外部數據源和脫機的數據存儲介質導入到數據倉庫中;在技術上,ETL主要涉及到關聯、轉換、增量、調度和監控等幾個方面;數據倉庫系統中數據不要求與聯機事務處理系統中數據實時同步,所以ETL可以定時進行。但多個ETL的操作時間、順序和成敗對數據倉庫中信息的有效性至關重要。
              ETL(Extract-Transform-Load的縮寫,即數據抽取、轉換、裝載的過程)作為BI/DW(Business Intelligence)的核心和靈魂,能夠按照統一的規則集成并提高數據的價值,是負責完成數據從數據源向目標數據倉庫轉化的過程,是實施數據倉庫的重要步驟。如果說數據倉庫的模型設計是一座大廈的設計藍圖,數據是磚瓦的話,那么ETL就是建設大廈的過程。在整個項目中最難部分是用戶需求分析和模型設計,而ETL規則設計和實施則是工作量最大的,約占整個項目的60%~80%,這是國內外從眾多實踐中得到的普遍共識。
              ETL是數據抽取(Extract)、轉換(Transform)、清洗(Cleansing)、裝載(Load)的過程。是構建數據倉庫的重要一環,用戶從數據源抽取出所需的數據,經過數據清洗,最終按照預先定義好的數據倉庫模型,將數據加載到數據倉庫中去。
              信息是現代企業的重要資源,是企業運用科學管理、決策分析的基礎。目前,大多數企業花費大量的資金和時間來構建聯機事務處理OLTP的業務系統和辦公自動化系統,用來記錄事務處理的各種相關數據。據統計,數據量每2~3年時間就會成倍增長,這些數據蘊含著巨大的商業價值,而企業所關注的通常只占在總數據量的2%~4%左右。因此,企業仍然沒有最大化地利用已存在的數據資源,以致于浪費了更多的時間和資金,也失去制定關鍵商業決策的最佳契機。于是,企業如何通過各種技術手段,并把數據轉換為信息、知識,已經成了提高其核心競爭力的主要瓶頸。而ETL則是主要的一個技術手段。如何正確選擇ETL工具?如何正確應用ETL?
              目前,ETL工具的典型代表有:Informatica、Datastage、OWB、微軟DTS……
              數據集成:快速實現ETL
              ETL的質量問題具體表現為正確性、完整性、一致性、完備性、有效性、時效性和可獲取性等幾個特性。而影響質量問題的原因有很多,由系統集成和歷史數據造成的原因主要包括:業務系統不同時期系統之間數據模型不一致;業務系統不同時期業務過程有變化;舊系統模塊在運營、人事、財務、辦公系統等相關信息的不一致;遺留系統和新業務、管理系統數據集成不完備帶來的不一致性。
              實現ETL,首先要實現ETL轉換的過程。它可以集中地體現為以下幾個方面:
              空值處理 可捕獲字段空值,進行加載或替換為其他含義數據,并可根據字段空值實現分流加載到不同目標庫。
              規范化數據格式 可實現字段格式約束定義,對于數據源中時間、數值、字符等數據,可自定義加載格式。
              拆分數據 依據業務需求對字段可進行分解。例,主叫號 861084613409,可進行區域碼和電話號碼分解。
              驗證數據正確性 可利用Lookup及拆分功能進行數據驗證。例如,主叫號861084613409,進行區域碼和電話號碼分解后,可利用Lookup返回主叫網關或交換機記載的主叫地區,進行數據驗證。
              數據替換 對于因業務因素,可實現無效數據、缺失數據的替換。
              Lookup 查獲丟失數據 Lookup實現子查詢,并返回用其他手段獲取的缺失字段,保證字段完整性。
              建立ETL過程的主外鍵約束 對無依賴性的非法數據,可替換或導出到錯誤數據文件中,保證主鍵惟一記錄的加載。
              為了能更好地實現ETL,筆者建議用戶在實施ETL過程中應注意以下幾點:
              第一,如果條件允許,可利用數據中轉區對運營數據進行預處理,保證集成與加載的高效性;
              第二,如果ETL的過程是主動“拉取”,而不是從內部“推送”,其可控性將大為增強;
              第三,ETL之前應制定流程化的配置管理和標準協議;
              第四,關鍵數據標準至關重要。目前,ETL面臨的最大挑戰是當接收數據時其各源數據的異構性和低質量。以電信為例,A系統按照統計代碼管理數據,B系統按照賬目數字管理,C系統按照語音ID管理。當ETL需要對這三個系統進行集成以獲得對客戶的全面視角時,這一過程需要復雜的匹配規則、名稱/地址正常化與標準化。而ETL在處理過程中會定義一個關鍵數據標準,并在此基礎上,制定相應的數據接口標準。
              ETL過程在很大程度上受企業對源數據的理解程度的影響,也就是說從業務的角度看數據集成非常重要。一個優秀的ETL設計應該具有如下功能:
              管理簡單;采用元數據方法,集中進行管理;接口、數據格式、傳輸有嚴格的規范;盡量不在外部數據源安裝軟件;數據抽取系統流程自動化,并有自動調度功能;抽取的數據及時、準確、完整;可以提供同各種數據系統的接口,系統適應性強;提供軟件框架系統,系統功能改變時,應用程序很少改變便可適應變化;可擴展性強。
              數據模型:標準定義數據
              合理的業務模型設計對ETL至關重要。數據倉庫是企業惟一、真實、可靠的綜合數據平臺。數據倉庫的設計建模一般都依照三范式、星型模型、雪花模型,無論哪種設計思想,都應該最大化地涵蓋關鍵業務數據,把運營環境中雜亂無序的數據結構統一成為合理的、關聯的、分析型的新結構,而ETL則會依照模型的定義去提取數據源,進行轉換、清洗,并最終加載到目標數據倉庫中。
              模型的重要之處在于對數據做標準化定義,實現統一的編碼、統一的分類和組織。標準化定義的內容包括:標準代碼統一、業務術語統一。ETL依照模型進行初始加載、增量加載、緩慢增長維、慢速變化維、事實表加載等數據集成,并根據業務需求制定相應的加載策略、刷新策略、匯總策略、維護策略。
              元數據:拓展新型應用
              對業務數據本身及其運行環境的描述與定義的數據,稱之為元數據(metadata)。元數據是描述數據的數據。從某種意義上說,業務數據主要用于支持業務系統應用的數據,而元數據則是企業信息門戶、客戶關系管理、數據倉庫、決策支持和B2B等新型應用所不可或缺的內容。
              元數據的典型表現為對象的描述,即對數據庫、表、列、列屬性(類型、格式、約束等)以及主鍵/外部鍵關聯等等的描述。特別是現行應用的異構性與分布性越來越普遍的情況下,統一的元數據就愈發重要了。“信息孤島”曾經是很多企業對其應用現狀的一種抱怨和概括,而合理的元數據則會有效地描繪出信息的關聯性。
              而元數據對于ETL的集中表現為:定義數據源的位置及數據源的屬性、確定從源數據到目標數據的對應規則、確定相關的業務邏輯、在數據實際加載前的其他必要的準備工作,等等,它一般貫穿整個數據倉庫項目,而ETL的所有過程必須最大化地參照元數據,這樣才能快速實現ETL。
              ETL體系結構
              下圖為ETL體系結構,它體現了主流ETL產品框架的主要組成部分。ETL是指從源系統中提取數據,轉換數據為一個標準的格式,并加載數據到目標數據存儲區,通常是數據倉庫。
              ETL體系結構圖
              Design manager 提供一個圖形化的映射環境,讓開發者定義從源到目標的映射關系、轉換、處理流程。設計過程的各對象的邏輯定義存儲在一個元數據資料庫中。
              Meta data management 提供一個關于ETL設計和運行處理等相關定義、管理信息的元數據資料庫。ETL引擎在運行時和其它應用都可參考此資料庫中的元數據。
              Extract 通過接口提取源數據,例如ODBC、專用數據庫接口和平面文件提取器,并參照元數據來決定數據的提取及其提取方式。
              Transform 開發者將提取的數據,按照業務需要轉換為目標數據結構,并實現匯總。
              Load 加載經轉換和匯總的數據到目標數據倉庫中,可實現SQL或批量加載。
              Transport services 利用網絡協議或文件協議,在源和目標系統之間移動數據,利用內存在ETL處理的各組件中移動數據。
              Administration and operation 可讓管理員基于事件和時間進行調度、運行、監測ETL作業、管理錯誤信息、從失敗中恢復和調節從源系統的輸出。
            97视频久久久| 久久精品三级视频| 欧美日韩精品久久久久| 爱做久久久久久| AA级片免费看视频久久| 色综合久久综合网观看| 久久九九有精品国产23百花影院| 久久99精品久久久久久久不卡 | 久久久久高潮毛片免费全部播放| 久久精品国产久精国产果冻传媒| 久久无码AV中文出轨人妻| 久久国产精品二国产精品| 久久青青草原精品国产不卡| 午夜精品久久久久9999高清| 国产精品一区二区久久精品涩爱| 狠狠色丁香久久婷婷综合蜜芽五月| 少妇无套内谢久久久久| 无码人妻久久一区二区三区免费丨 | 日韩人妻无码一区二区三区久久| 无码人妻精品一区二区三区久久| 久久精品国产亚洲AV电影| 国产精品视频久久| 久久这里只有精品视频99| 欧美日韩精品久久免费| 久久发布国产伦子伦精品| 国产精品激情综合久久| 久久成人小视频| 国产精品久久久久久福利漫画| 久久久久这里只有精品| 日韩久久久久久中文人妻| 久久久久一级精品亚洲国产成人综合AV区| 少妇被又大又粗又爽毛片久久黑人| 亚洲精品白浆高清久久久久久| 久久综合九色综合欧美狠狠| 国内精品伊人久久久影院 | 久久亚洲精精品中文字幕| 国产91久久综合| 无码AV波多野结衣久久| 久久亚洲国产成人影院网站 | 精品久久一区二区| 久久AV高潮AV无码AV|