1. 程式人生 > >ETL (資料倉庫技術)

ETL (資料倉庫技術)

ETL(資料倉庫技術)

首先來看圖,看完這三張圖,你有什麼想法?再進入正題。然你帶這個問題往下看哈




ETL,是英文 Extract-Transform-Load 的縮寫,用來描述將資料從來源端經過抽取(extract)、互動轉換(transform)、載入(load)至目的端的過程。ETL一詞較常用在資料倉庫,但其物件並不限於資料倉庫。ETL是構建資料倉庫的重要一環,使用者從資料來源抽取出所需的資料,經過資料清洗,最終按照預先定義好的資料倉庫模型,將資料載入到資料倉庫中去。資訊是現代企業的重要資源,是企業運用科學管理、決策分析的基礎。目前,大多數企業花費大量的資金和時間來構建聯機事務處理OLTP的業務系統和
辦公自動化系統
,用來記錄事務處理的各種相關資料。據統計,資料量每2~3年時間就會成倍增長,這些資料蘊含著巨大的商業價值,而企業所關注的通常只佔在總資料量的2%~4%左右。因此,企業仍然沒有最大化地利用已存在的資料資源,以至於浪費了更多的時間和資金,也失去制定關鍵商業決策的最佳契機。於是,企業如何通過各種技術手段,並把資料轉換為資訊、知識,已經成了提高其核心競爭力的主要瓶頸。而ETL則是主要的一個技術手段。
工具應用ETL工具的典型代表有:Informatica、Datastage、OWB、微軟DTS、BeeloadKettle等等……開源的工具有eclipse的etl外掛:cloveretlETL的質量問題具體表現為正確性、完整性、一致性、完備性、有效性、時效性和可獲取性等幾個特性。而影響質量問題的原因有很多,由
系統整合
和歷史資料造成的原因主要包括:業務系統不同時期系統之間資料模型不一致;業務系統不同時期業務過程有變化;舊系統模組在運營、人事、財務、辦公系統等相關資訊的不一致;遺留系統和新業務、管理系統資料整合不完備帶來的不一致性。
實現ETL,首先要實現ETL轉換的過程。體現為以下幾個方面:1、空值處理:可捕獲欄位空值,進行載入或替換為其他含義資料,並可根據欄位空值實現分流載入到不同目標庫。2、規範化資料格式:可實現欄位格式約束定義,對於資料來源中時間、數值、字元等資料,可自定義載入格式。3、拆分資料:依據業務需求對欄位可進行分解。例,主叫號 861082585313-8148,可進行區域碼和電話號碼分解。
4、驗證資料正確性:可利用Lookup及拆分功能進行資料驗證。例如,主叫號861082585313-8148,進行區域碼和電話號碼分解後,可利用Lookup返回主叫閘道器或交換機記載的主叫地區,進行資料驗證。5、資料替換:對於因業務因素,可實現無效資料、缺失資料的替換。6、Lookup:查獲丟失資料 Lookup實現子查詢,並返回用其他手段獲取的缺失欄位,保證欄位完整性。7、建立ETL過程的主外來鍵約束:對無依賴性的非法資料,可替換或匯出到錯誤資料檔案中,保證主鍵唯一記錄的載入。

體系結構

ETL工具目前有兩種技術架構——ETL架構和ELT架構,不仔細看好像沒什麼不同之處,那麼這兩種架構到底有什麼區別呢?

ETL架構


在ETL架構中,資料的流向是從源資料流到ETL工具,ETL工具是一個單獨的資料處理引擎,一般會在單獨的硬體伺服器上,實現所有資料轉化的工作,然後將資料載入到目標資料倉庫中,如果要增加整個ETL過程的效率,則只能增強ETL工具伺服器的配置,優化系統處理流程(一般可調的東西非常少)。IBM的datastage和Informatica的powercenter原來都是採用的這種架構。ETL架構的優勢:
  1. ETL可以分擔資料庫系統的負載(採用單獨的硬體伺服器)
  2. ETL相對於EL-T架構可以實現更為複雜的資料轉化邏輯
  3. ETL採用單獨的硬體伺服器。.
  4. ETL與底層的資料庫資料儲存無關。

ELT架構


ELT架構中,ELT只負責提供圖形化的介面來設計業務規則,資料的整個加工過程都在目標和源的資料庫之間流動,ELT協調相關的資料庫系統來執行相關的應用,資料加工過程既可以在源資料庫端執行,也可以在目標資料倉庫端執行(主要取決於系統的架構設計和資料屬性)。當ETL過程需要提高效率,則可以通過對相關資料庫進行調優,或者改變執行加工的伺服器就可以達到。一般資料庫廠商會力推該種架構,像OracleTeradata都極力宣傳ELT架構。ELT架構的優勢:
  1. ELT主要通過資料庫引擎來實現系統的可擴充套件性(尤其是當資料加工過程在晚上時,可以充分利用資料庫引擎的資源)
  2. ELT可以保持所有的資料始終在資料庫當中,避免資料的載入和匯出,從而保證效率,提高系統的可監控性。
  3. ELT可以根據資料的分佈情況進行並行處理優化,並可以利用資料庫的固有功能優化磁碟I/O。
  4. ELT的可擴充套件性取決於資料庫引擎和其硬體伺服器的可擴充套件性。
  5. 通過對相關資料庫進行效能調優,ETL過程獲得3到4倍的效率提升一般不是特別困難。

注意事項

為了能更好地實現ETL,使用者在實施ETL過程中應注意以下幾點:第一,如果條件允許,可利用資料中轉區對運營資料進行預處理,保證整合與載入的高效性;第二,如果ETL的過程是主動“拉取”,而不是從內部“推送”,其可控性將大為增強;第三,ETL之前應制定流程化的配置管理和標準協議;第四,關鍵資料標準至關重要。ETL面臨的最大挑戰是當接收資料時其各源資料的異構性和低質量。以電信為例,A系統按照統計程式碼管理資料,B系統按照賬目數字管理,C系統按照語音ID管理。當ETL需要對這三個系統進行整合以獲得對客戶的全面視角時,這一過程需要複雜的匹配規則、名稱/地址正常化與標準化。而ETL在處理過程中會定義一個關鍵資料標準,並在此基礎上,制定相應的資料介面標準。第五,將資料載入到個體資料集時。在沒有一個集中化的資料庫情況下,擁有資料模板是非常重要的。它們是標準化的介面,每一個個體或者部門資料集市都能夠填充。確保你的ETL工具有這樣的功能,能夠擴充套件到一個數據倉庫平臺,將資訊從一個數據集市流動到下一個。

特色功能

ETL過程在很大程度上受企業對源資料的理解程度的影響,也就是說從業務的角度看資料整合非常重要。一個優秀的ETL設計應該具有如下功能:

管理簡單

採用元資料方法,集中進行管理;介面、資料格式、傳輸有嚴格的規範;儘量不在外部資料來源安裝軟體;資料抽取系統流程自動化,並有自動排程功能;抽取的資料及時、準確、完整;可以提供同各種資料系統的介面,系統適應性強;提供軟體框架系統,系統功能改變時,應用程式很少改變便可適應變化;可擴充套件性強。

標準定義資料

合理的業務模型設計對ETL至關重要。資料倉庫是企業唯一、真實、可靠的綜合資料平臺。資料倉庫的設計建模一般都依照三正規化、星型模型、雪花模型,無論哪種設計思想,都應該最大化地涵蓋關鍵業務資料,把運營環境中雜亂無序的資料結構統一成為合理的、關聯的、分析型的新結構,而ETL則會依照模型的定義去提取資料來源,進行轉換、清洗,並最終載入到目標資料倉庫中。模型的重要之處在於對資料做標準化定義,實現統一的編碼、統一的分類和組織。標準化定義的內容包括:標準程式碼統一、業務術語統一。ETL依照模型進行初始載入、增量載入、緩慢增長維、慢速變化維、事實表載入等資料整合,並根據業務需求制定相應的載入策略、重新整理策略、彙總策略、維護策略。

拓展新型應用

對業務資料本身及其執行環境的描述與定義的資料,稱之為元資料(metadata)。元資料是描述資料的資料。從某種意義上說,業務資料主要用於支援業務系統應用的資料,而元資料則是企業資訊門戶、客戶關係管理、資料倉庫、決策支援和B2B等新型應用所不可或缺的內容。元資料的典型表現為物件的描述,即對資料庫、表、列、列屬性(型別、格式、約束等)以及主鍵/外部鍵關聯等等的描述。特別是現行應用的異構性與分佈性越來越普遍的情況下,統一的元資料就愈發重要了。“資訊孤島”曾經是很多企業對其應用現狀的一種抱怨和概括,而合理的元資料則會有效地描繪出資訊的關聯性。元資料對於ETL的集中表現為:定義資料來源的位置及資料來源的屬性、確定從源資料到目標資料的對應規則、確定相關的業務邏輯、在資料實際載入前的其他必要的準備工作,等等,它一般貫穿整個資料倉庫專案,而ETL的所有過程必須最大化地參照元資料,這樣才能快速實現ETL。

相關推薦

ETL 資料倉庫技術

ETL(資料倉庫技術)首先來看圖,看完這三張圖,你有什麼想法?再進入正題。然你帶這個問題往下看哈ETL,是英文 Extract-Transform-Load 的縮寫,用來描述將資料從來源端經過抽取(ex

hive 資料倉庫工具

hive是基於Hadoop的一個資料倉庫工具,可以將結構化的資料檔案對映為一張資料庫表,並提供簡單的sql查詢功能,可以將sql語句轉換為MapReduce任務進行執行。 其優點是學習成本低,可以通過類SQL語句快速實現簡單的MapReduce統計,不必開發專門的MapRed

Hive 資料倉庫簡介

一:什麼是Hive(資料倉庫)?        1、Hive 由 Facebook 實現並開源  2、是基於 Hadoop 的一個數據倉庫工具  3、可以將結構化的資料對映為一張資料庫表  4、並提供 HQL(Hive SQL)查詢功能  5、底層資料是儲存在 HDFS 上  

JAVA核心技術I---JAVA基礎知識資料結構基礎

一:陣列 (一)基本內容是與C一致的 (二)陣列定義和初始化 (1)宣告 int a[]; //a沒有new操作,沒有被分配記憶體,為null int[] b; //b沒有new操作,沒有被分配記憶體,為null(可以看做指標)

AWS Glue ELT服務_資料倉庫技術ELT)

AWS Glue 是一項完全託管的提取、轉換和載入 (ETL) 服務,讓客戶能夠輕鬆準備和載入資料進行分析。您只需在 AWS 管理控制檯中單擊幾次,即可建立並執行 ETL 作業。您只需將 AWS Glue 指向儲存在 AWS 上的資料,AWS Glue 便會發現您的資料,並將關聯的元資料(

springboot配置多種型別多資料來源mysql+postgresql+presto資料倉庫yml方式整合分頁

宣告:此處示例為mysql和postgresql資料庫和presto 三種類型資料庫源mysql與postgresql都屬於資料庫所以這裡簡寫只配置postgresql庫presto是資料倉庫在配置資料來源測試時會遇到很多坑,等下詳細描述首先宣告:我專案的springboot

oracle資料量650G的表有分割槽資料刪除方案分割槽交換技術

背景:650G的流程已辦記錄表太大,用delete刪除的話肯定是刪不動的,然後因為這個大表肯定是建了分割槽的,所以打算使用分割槽交換技術。具體SQL如下:------------------執行指令碼之前需要用資料泵把BPMS_RU_DONE_TASK匯出來---------

開源工具介紹資料關鍵技術

        在介紹大資料關鍵技術之前,先給出一張Hadoop大資料應用生態中最主要的元件圖,該圖描述了這些元件的地位,以及它們之間的相互關係。圖1.Hadoop大資料應用生態元件及其關係HDFS(Hadoop分散式檔案系統)    HDFS是Hadoop體系中資料儲存管理

大數據項目相關技術Hadoop周邊技術

dbm bulk 日誌 數據交換 ack ssm spark 分布式系 Lucene J2EE 框架Spring 開發框架 + SSH or SSM Lucene 索引和查詢IKAnalyzer 分詞Webmagic 爬蟲 ETL工具:KettleSqoop 結構化數據

轉載找回丟失的手機,順便把小偷繩之於法!親測管用!內含些技術

我想 manage ip定位 第一次 jcu mar 操作 ges base 找回丟失的手機,順便把小偷繩之於法!親測管用! 2017-12-11 帕尼尼 智能江湖 編者按:不想戳穿你們了,點進來的童鞋肯定都試過丟手機……小編最近在網上看到一個有意思的故事:一位大神的

NLP文字標註工具與平臺資料標註公司

最近在做NLP相關專案,包括句法分析、情感分析等,有大量資料需要標註。我評估了幾個文字標註工具,也接觸了幾家資料標註公司和平臺,總結如下,供各位參考。 文字標註平臺(標註外包公司) 資料標註公司的工作比較多樣,文字資料標註是最基礎的,另外語音、圖片、視訊標註也都可以做。目前這個行業良莠不齊,有的平臺技術實

Web測試到底是在測什麼資料合集

https://www.cnblogs.com/idotest/p/6838583.html     圖片略模糊 看得清就好   Web測試, 進行抽離拆分,基本上就如上一些內容。 不管是測什麼系統,什麼功能,基本都差不多。 唯一區別是,一些特性 &

SVG_text.文字高度ascent&baseline&descent資料及測試

ZC:文字的 高度的測試在文章的後半部分   1、html5 svg 第八章 文字text - 2030的專欄 - CSDN部落格.html(https://blog.csdn.net/lcy132100/article/details/9722543)      2、baseline-sh

Unity引擎的AssetBundle資源管理技術

一、Unity引擎的AssetBundle(資源管理技術)的介紹     ①Unity引擎的AssetBundle(資源管理技術)是通過動態載入與解除安裝資源,極大節約遊戲所佔空間,且實現遊戲釋出後關於資源的後續更新與完善的實時更新技術。     ②

MyBatis學習——第三篇資料批量處理

1:資料批量處理方法有兩種 第一種:傳統的sqlsession的批量處理方法 第二種:ExecutorType.BATCH 介面程式碼如下: //批量新增資料 public int addPersons(@Param("persons1") List<Per

一個AI產品資料探勘的產生過程

模型的訓練一般包括以下步驟: 1:資料的輸入: 一般使用pandas庫,他有幾種常用的讀入不同檔案型別的函式: 一般我使用read_csv(File_Path,[params]);(對應的檔案型別為csv檔案,這是資料探勘中的常用檔案格式) 2:資料的預處理: 1):缺失值的處理

Easyrecovery破解版|easyrecovery資料恢復軟體v13免費版 附啟用碼

Easyrecovery破解版是由全球著名資料廠商Kroll Ontrack出品的一款資料檔案恢復軟體。支援恢復不同儲存介質資料:硬碟、光碟、U盤/行動硬碟、數碼相機、手機、Raid檔案恢復等,能恢復包括文件、表格、圖片、音視訊等各種檔案。 Easyrecovery13包括了easyrecovery f

誰說菜鳥不會資料分析入門篇----- 學習筆記6資料分析報告

1、資料分析報告:三大作用四項基本原則 定義 是根據資料分析原理和方法,運用資料來反映、研究和分析某項事物的現狀、問題、原因、本質和規律,並得出結論,提出解決辦法的一種分析應用文體。 這種文體是決策者認識事物、瞭解事物、

誰說菜鳥不會資料分析入門篇----- 學習筆記4資料分析方法

1、資料分析方法 資料分析作用與對應的分析方法 資料分析作用 基本方法 資料分析方法 現狀分析 對比 對比分析、平均分析、總和評價分析 原因分析

5、Hive 資料倉庫技術

一、Hive 概念 Hive 是基於 Hadoop 的資料倉庫軟體,可以查詢和管理 PB 級別的分散式資料。資料倉庫已用多種方式定義,很難給出一種嚴格的定義。寬泛來講,資料倉庫是一種資料庫,他與單位的操作資料庫分別維護。資料倉庫系統允許將各種應用系統整合在一起,為統一的歷史資料分析提供堅實的