国产激情久久久久影院小草,少妇熟女高潮流白浆,亚洲中文字幕日产乱码高清app,亚洲第一女人av

億信華辰

連續(xù)3年穩(wěn)坐商務智能應用榜首
與此同時,億信華辰在數(shù)據(jù)治理領域榮登五強
首頁行業(yè)資訊數(shù)據(jù)分析

關于數(shù)據(jù)分析,你需要知道的ETL基礎知識

時間:2022-06-09來源:小億瀏覽數(shù):690

信息是現(xiàn)代企業(yè)的重要資源,是企業(yè)運用科學管理、決策分析的基礎。據(jù)統(tǒng)計,數(shù)據(jù)量每經(jīng)過2-3年時間就會成倍增長,這些數(shù)據(jù)蘊含著巨大的商業(yè)價值,而企業(yè)所關注的通常只占總數(shù)據(jù)量的2%~4%左右。因此,企業(yè)仍然沒有最大化地利用已存在的數(shù)據(jù)資源,以至于浪費了更多的時間和資金,也失去制定關鍵商業(yè)決策的最佳契機。 于是,企業(yè)如何通過各種技術手段,并把數(shù)據(jù)轉(zhuǎn)換為信息、知識,已經(jīng)成了提高其核心競爭力的關鍵,其中的數(shù)據(jù)處理在大數(shù)據(jù)的生態(tài)中始終處于不可缺少的地位,因為數(shù)據(jù)處理的時效性,準確性直接影響數(shù)據(jù)的分析與挖掘,分析的最終結(jié)果影響業(yè)務的營銷與收入。 今天我們就來說說一種重要的數(shù)據(jù)處理手段ETL(Extract-Transform-Load)。 01、ETL發(fā)展的歷史背景 隨著企業(yè)的發(fā)展,各業(yè)務線、產(chǎn)品線、部門都會承建各種信息化系統(tǒng)方便開展自己的業(yè)務。隨著信息化建設的不斷深入,由于業(yè)務系統(tǒng)之間各自為政、相互獨立造成的數(shù)據(jù)孤島”現(xiàn)象尤為普遍,業(yè)務不集成、流程不互通、數(shù)據(jù)不共享。這給企業(yè)進行數(shù)據(jù)的分析利用、報表開發(fā)、分析挖掘等帶來了巨大困難。 在此情況下,為了實現(xiàn)企業(yè)全局數(shù)據(jù)的系統(tǒng)化運作管理(信息孤島、數(shù)據(jù)統(tǒng)計、數(shù)據(jù)分析、數(shù)據(jù)挖掘) ,為DSS(決策支持系統(tǒng))、BI(商務智能)、經(jīng)營分析系統(tǒng)等深度開發(fā)應用奠定基礎,挖掘數(shù)據(jù)價值 ,企業(yè)會開始著手建立數(shù)據(jù)倉庫,數(shù)據(jù)中臺。將相互分離的業(yè)務系統(tǒng)的數(shù)據(jù)源整合在一起,建立一個統(tǒng)一的數(shù)據(jù)采集、處理、存儲、分發(fā)、共享中心,從而使公司的成員能夠從不同業(yè)務部門查看綜合數(shù)據(jù),而這個過程中使用的數(shù)據(jù)處理方法之一就是ETL。 ETL是數(shù)據(jù)中心建設、BI分析項目中不可或缺的環(huán)節(jié)。各個業(yè)務系統(tǒng)中分布的、異構(gòu)的數(shù)據(jù)源,經(jīng)過ETL過程的數(shù)據(jù)抽取、轉(zhuǎn)換,最終存儲到目標數(shù)據(jù)庫或者數(shù)據(jù)倉庫,為上層BI數(shù)據(jù)分析,或其他業(yè)務功能做數(shù)據(jù)支撐。 02、什么是ETL? ETL,Extract-Transform-Load的縮寫,是將業(yè)務系統(tǒng)的數(shù)據(jù)經(jīng)過抽取、清洗轉(zhuǎn)換之后加載到數(shù)據(jù)倉庫的過程。ETL是數(shù)據(jù)集成的第一步,也是構(gòu)建數(shù)據(jù)倉庫最重要的步驟,目的是將企業(yè)中的分散、零亂、標準不統(tǒng)一的數(shù)據(jù)整合到一起,為企業(yè)的決策提供分析依據(jù)。ETL一詞較常用在數(shù)據(jù)倉庫,但其對象并不限于數(shù)據(jù)倉庫。 舉個例子,某電商公司分析人員根據(jù)訂單數(shù)據(jù)進行用戶特征分析。這時需要基于訂單數(shù)據(jù),計算一些相應的分析指標,如每個用戶的消費頻次,銷售額最大的單品,用戶復購時間間隔等,這些指標都要通過計算轉(zhuǎn)換得到。 03、ETL的流程 ETL如同它代表的三個英文單詞,涉及三個獨立的過程:抽取、轉(zhuǎn)換和加載。工作流程往往作為一個正在進行的過程來實現(xiàn),各模塊可靈活進行組合,形成ETL處理流程。 1.數(shù)據(jù)抽取 數(shù)據(jù)抽取指的是從不同的網(wǎng)絡、不同的操作平臺、不同的數(shù)據(jù)庫和數(shù)據(jù)格式、不同的應用中抽取數(shù)據(jù)的過程。目標源可能包括ERP、CRM和其他企業(yè)系統(tǒng),以及來自第三方源的數(shù)據(jù)。 不同的系統(tǒng)傾向于使用不同的數(shù)據(jù)格式,在這個過程中,首先需要結(jié)合業(yè)務需求確定抽取的字段,形成一張公共需求表頭,并且數(shù)據(jù)庫字段也應與這些需求字段形成一一映射關系。這樣通過數(shù)據(jù)抽取所得到的數(shù)據(jù)都具有統(tǒng)一、規(guī)整的字段內(nèi)容,為后續(xù)的數(shù)據(jù)轉(zhuǎn)換和加載提供基礎,具體步驟如下: ①確定數(shù)據(jù)源,需要確定從哪些源系統(tǒng)進行數(shù)據(jù)抽取 ②定義數(shù)據(jù)接口,對每個源文件及系統(tǒng)的每個字段進行詳細說明 ③確定數(shù)據(jù)抽取的方法:是主動抽取還是由源系統(tǒng)推送?是增量抽取還是全量抽取?是按照每日抽取還是按照每月抽?。? 2.數(shù)據(jù)轉(zhuǎn)換 數(shù)據(jù)轉(zhuǎn)換實際上還包含了數(shù)據(jù)清洗的工作,需要根據(jù)業(yè)務規(guī)則對異常數(shù)據(jù)進行清洗,主要將不完整數(shù)據(jù)、錯誤數(shù)據(jù)、重復數(shù)據(jù)進行處理,保證后續(xù)分析結(jié)果的準確性。 數(shù)據(jù)轉(zhuǎn)換就是處理抽取上來的數(shù)據(jù)中存在的不一致的過程。數(shù)據(jù)轉(zhuǎn)換一般包括兩類:第一類:數(shù)據(jù)名稱及格式的統(tǒng)一,即數(shù)據(jù)粒度轉(zhuǎn)換、商務規(guī)則計算以及統(tǒng)一的命名、數(shù)據(jù)格式、計量單位等;第二類:數(shù)據(jù)倉庫中存在源數(shù)據(jù)庫中可能不存在的數(shù)據(jù),因此需要進行字段的組合、分割或計算。主要涉及以下幾個方面: ①空值處理:可捕獲字段空值,進行加載或替換為其他含義數(shù)據(jù),或數(shù)據(jù)分流問題庫 ②數(shù)據(jù)標準:統(tǒng)一元數(shù)據(jù)、統(tǒng)一標準字段、統(tǒng)一字段類型定義 ③數(shù)據(jù)拆分:依據(jù)業(yè)務需求做數(shù)據(jù)拆分,如身份證號,拆分區(qū)劃、出生日期、性別等 ④數(shù)據(jù)驗證:時間規(guī)則、業(yè)務規(guī)則、自定義規(guī)則 ⑤數(shù)據(jù)替換:對于因業(yè)務因素,可實現(xiàn)無效數(shù)據(jù)、缺失數(shù)據(jù)的替換 ⑥數(shù)據(jù)關聯(lián):關聯(lián)其他數(shù)據(jù)或數(shù)學,保障數(shù)據(jù)完整性 3.數(shù)據(jù)加載 數(shù)據(jù)加載的主要任務是將經(jīng)過清洗后的干凈的數(shù)據(jù)集按照物理數(shù)據(jù)模型定義的表結(jié)構(gòu)裝入目標數(shù)據(jù)倉庫的數(shù)據(jù)表中,如果是全量方式則采用LOAD方式,如果是增量則根據(jù)業(yè)務規(guī)則MERGE進數(shù)據(jù)庫,并允許人工干預,以及提供強大的錯誤報告、系統(tǒng)日志、數(shù)據(jù)備份與恢復功能。整個操作過程往往要跨網(wǎng)絡、跨操作平臺。 在實際的工作中,數(shù)據(jù)加載需要結(jié)合使用的數(shù)據(jù)庫系統(tǒng)(Oracle、Mysql、Spark、Impala等),確定最優(yōu)的數(shù)據(jù)加載方案,節(jié)約CPU、硬盤IO和網(wǎng)絡傳輸資源。 04、ETL與ELT有什么區(qū)別? ETL架構(gòu)按其字面含義理解就是按照E-T-L這個順序流程進行處理的架構(gòu):先抽取、然后轉(zhuǎn)換、完成后加載到目標數(shù)據(jù)庫中。 在ETL架構(gòu)中,數(shù)據(jù)的流向是從源數(shù)據(jù)流到ETL工具,ETL工具是一個單獨的數(shù)據(jù)處理引擎,一般會在單獨的硬件服務器上,實現(xiàn)所有數(shù)據(jù)轉(zhuǎn)化的工作,然后將數(shù)據(jù)加載到目標數(shù)據(jù)倉庫中。如果要增加整個ETL過程的效率,則只能增強ETL工具服務器的配置,優(yōu)化系統(tǒng)處理流程(一般可調(diào)的東西非常少)。 ELT架構(gòu)則把“L”這一步工作提前到“T”之前來完成:先抽取、然后加載到目標數(shù)據(jù)庫中、在目標數(shù)據(jù)庫中完成轉(zhuǎn)換操作。在ELT架構(gòu)中,ELT只負責提供圖形化的界面來設計業(yè)務規(guī)則,數(shù)據(jù)的整個加工過程都在目標和源的數(shù)據(jù)庫之間流動,ELT協(xié)調(diào)相關的數(shù)據(jù)庫系統(tǒng)來執(zhí)行相關的應用,數(shù)據(jù)加工過程既可以在源數(shù)據(jù)庫端執(zhí)行,也可以在目標數(shù)據(jù)倉庫端執(zhí)行(主要取決于系統(tǒng)的架構(gòu)設計和數(shù)據(jù)屬性)。當ETL過程需要提高效率,則可以通過對相關數(shù)據(jù)庫進行調(diào)優(yōu),或者改變執(zhí)行加工的服務器就可以達到。 ELT架構(gòu)的特殊優(yōu)勢:①ELT主要通過數(shù)據(jù)庫引擎來實現(xiàn)系統(tǒng)的可擴展性;②ELT可以保持所有的數(shù)據(jù)始終在數(shù)據(jù)庫當中,避免數(shù)據(jù)的加載和導出,從而保證效率,提高系統(tǒng)的可監(jiān)控性;③ELT可以根據(jù)數(shù)據(jù)的分布情況進行并行處理優(yōu)化,并可以利用數(shù)據(jù)庫的固有功能優(yōu)化磁盤I/O;④ELT的可擴展性取決于數(shù)據(jù)庫引擎和其硬件服務器的可擴展性;⑤通過對相關數(shù)據(jù)庫進行性能調(diào)優(yōu),ELT過程獲得3到4倍的效率提升一般不是特別困難。 (1)當您想要執(zhí)行復雜的計算時,ETL工具比數(shù)據(jù)倉庫或數(shù)據(jù)池更有效 (2)如果要在加載到目標存儲之前進行大量數(shù)據(jù)清理。ETL是一種更好的解決方案,因為您不會將不需要的數(shù)據(jù)移動到目標。 (3)當您僅使用結(jié)構(gòu)化數(shù)據(jù)或傳統(tǒng)結(jié)構(gòu)化數(shù)據(jù)倉庫時。ETL工具通常最有效地將結(jié)構(gòu)化數(shù)據(jù)從一個環(huán)境移動到另一個環(huán)境。 (4)當你想要擴展補充數(shù)據(jù)時。如果要在將數(shù)據(jù)移動到目標存儲時擴展補充數(shù)據(jù),則需要使用ETL工具。例如,添加時間戳。 05、如何才能做好ETL? 1.數(shù)據(jù)抽取設計 數(shù)據(jù)的抽取需要在調(diào)研階段做大量工作,要搞清楚以下幾個問題:數(shù)據(jù)是從幾個業(yè)務系統(tǒng)中來?各個業(yè)務系統(tǒng)的數(shù)據(jù)庫服務器運行什么DBMS?是否存在手工數(shù)據(jù),手工數(shù)據(jù)量有多大?是否存在非結(jié)構(gòu)化的數(shù)據(jù)?等等類似問題,當收集完這些信息之后進行數(shù)據(jù)抽取的設計。常見的數(shù)據(jù)抽取設計方式有四種: (1)與存放DW的數(shù)據(jù)庫系統(tǒng)相同的數(shù)據(jù)源處理方法 這一類數(shù)源在設計比較容易,一般情況下,DBMS(包括SQLServer,Oracle)都會提供數(shù)據(jù)庫鏈接功能,在DW數(shù)據(jù)庫服務器和原業(yè)務系統(tǒng)之間建立直接的鏈接關系就可以寫Select 語句直接訪問。 (2)與DW數(shù)據(jù)庫系統(tǒng)不同的數(shù)據(jù)源的處理方法 這一類數(shù)據(jù)源一般情況下也可以通過ODBC的方式建立數(shù)據(jù)庫鏈接,如SQL Server和Oracle之間。如果不能建立數(shù)據(jù)庫鏈接,可以有兩種方式完成,一種是通過工具將源數(shù)據(jù)導出成.txt或者是.xls文件,然后再將這些源系統(tǒng)文件導入到ODS中。另外一種方法通過程序接口來完成。 (3)對于文件類型數(shù)據(jù)源(.txt,.xls) 可以培訓業(yè)務人員利用數(shù)據(jù)庫工具將這些數(shù)據(jù)導入到指定的數(shù)據(jù)庫,然后從指定的數(shù)據(jù)庫抽取?;蛘呖梢越柚ぞ邔崿F(xiàn),如SQL SERVER 2005 的SSIS服務的平面數(shù)據(jù)源和平面目標等組件導入ODS中去。 (4)增量更新問題 對于數(shù)據(jù)量大的系統(tǒng),必須考慮增量抽取。一般情況,業(yè)務系統(tǒng)會記錄業(yè)務發(fā)生的時間,可以用作增量的標志,每次抽取之前首先判斷ODS中記錄最大的時間,然后根據(jù)這個時間去業(yè)務系統(tǒng)取大于這個時間的所有記錄。利用業(yè)務系統(tǒng)的時間戳,一般情況下,業(yè)務系統(tǒng)沒有或者部分有時間戳。 2.數(shù)據(jù)清洗處理規(guī)范 不符合要求的數(shù)據(jù)主要有不完成數(shù)據(jù)(缺失值)、錯誤數(shù)據(jù)(異常值)、重復數(shù)據(jù)、不同類型需歸一化處理數(shù)據(jù)幾類。幾類數(shù)據(jù)的處理方法如下: 缺失值:不完整的數(shù)據(jù),其特征是是一些應該有的信息缺失,如供應商的名稱,分公司的名稱,客戶的區(qū)域信息缺失、業(yè)務系統(tǒng)中主表與明細表不能匹配等。需要將這一類數(shù)據(jù)過濾出來,按缺失的內(nèi)容分別采取定(范圍)刪(字段)補(數(shù)據(jù))。 定范圍:哪些字段缺失,缺失范圍如何,缺失字段的重要性如何?刪字段:刪數(shù)據(jù)的判斷,a\對業(yè)務清晰的判斷,b\“有心殺賊,無力回天”缺失數(shù)據(jù)太多。這時候可以看看是否有其他數(shù)據(jù)可以彌補。補數(shù)據(jù):就是補充缺失值。這里有三種補數(shù)據(jù)的方式:A、業(yè)務知識驚訝填充;B、使用均值、中位數(shù)、眾數(shù)填充;C、使用其他渠道補充,如身份證前6位是地區(qū)=手機號歸屬地。補全后才寫入數(shù)據(jù)倉庫。 異常值:產(chǎn)生原因是業(yè)務系統(tǒng)不夠健全,在接收輸入后沒有進行判斷直接寫入后臺數(shù)據(jù)庫造成的,比如數(shù)值數(shù)據(jù)輸成全角數(shù)字字符、字符串數(shù)據(jù)后面有一個回車、日期格式不正確、日期越界等。這一類數(shù)據(jù)也要分類,對于類似于全角字符、數(shù)據(jù)前后有不面見字符的問題只能寫SQL的方式找出來,然后要求客戶在業(yè)務系統(tǒng)修正之后抽??;日期格式不正確的或者是日期越界的這一類錯誤會導致ETL運行失敗,這一類錯誤需要去業(yè)務系統(tǒng)數(shù)據(jù)庫用SQL的方式挑出來,交給業(yè)務主管部門要求限期修正,修正之后再抽取。 重復數(shù)據(jù):特別是維表中比較常見,將重復的數(shù)據(jù)的記錄所有字段導出來,讓客戶確認并整理。 數(shù)據(jù)歸一化:歸一化的問題,就是將絕對數(shù)變成相對數(shù)的問題。因為不同維度的絕對數(shù)是沒有可比性的,這時候需要將絕對數(shù)轉(zhuǎn)化成相對一個標準的相對數(shù)。那如何進行歸一化處理呢?三種方式,A、最值歸一化、均值方差歸一化、非線性歸一化。 數(shù)據(jù)清洗是一個反復的過程,不可能在幾天內(nèi)完成,只有不斷的發(fā)現(xiàn)問題,解決問題。對于是否過濾、是否修正一般要求客戶確認;對于過濾掉的數(shù)據(jù),寫入Excel文件或者將過濾數(shù)據(jù)寫入數(shù)據(jù)表,在ETL開發(fā)的初期可以每天向業(yè)務單位發(fā)送過濾數(shù)據(jù)的郵件,促使他們盡快的修正錯誤,同時也可以作為將來驗證數(shù)據(jù)的依據(jù)。數(shù)據(jù)清洗需要注意的是不要將有用的數(shù)據(jù)過濾掉了,對于每個過濾規(guī)則認真進行驗證,并要用戶確認才行。 3.數(shù)據(jù)轉(zhuǎn)換處理規(guī)范 數(shù)據(jù)轉(zhuǎn)換的任務主要是進行不一致的數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)粒度的轉(zhuǎn)換和一些商務規(guī)則的計算。 (1)不一致數(shù)據(jù)轉(zhuǎn)換,這個過程是一個整合的過程,將不同業(yè)務系統(tǒng)的相同類型的數(shù)據(jù)統(tǒng)一,比如同一個供應商在結(jié)算系統(tǒng)的編碼是XX0001,而在CRM中編碼是YY0001,這樣在抽取過來之后統(tǒng)一轉(zhuǎn)換成一個編碼。 (2)數(shù)據(jù)粒度的轉(zhuǎn)換,業(yè)務系統(tǒng)一般存儲非常明細的數(shù)據(jù),而數(shù)據(jù)倉庫中的數(shù)據(jù)是用來分析的,不需要非常明細的數(shù)據(jù),會將業(yè)務系統(tǒng)數(shù)據(jù)按照數(shù)據(jù)倉庫粒度進行聚合。一般數(shù)據(jù)轉(zhuǎn)換有離散化和屬性構(gòu)造兩種方式。離散化主要分為簡單離散、分桶離散、聚類離散、回歸平滑四類,屬性構(gòu)造分為特征工程和隨意構(gòu)造后篩選。 (3)商務規(guī)則的計算,不同的企業(yè)有不同的業(yè)務規(guī)則,不同的數(shù)據(jù)指標,這些指標有的時候不是簡單的加加減減就能完成,這個時候需要在ETL中將這些數(shù)據(jù)指標計算好了之后存儲在數(shù)據(jù)倉庫中,供分析使用。 4.ETL日志與警告發(fā)送 (1)ETL日志 記錄日志的目的是隨時可以知道ETL運行情況,如果出錯了,出錯在那里。 ETL日志分為三類。①執(zhí)行過程日志,是在ETL執(zhí)行過程中每執(zhí)行一步的記錄,記錄每次運行每一步驟的起始時間,影響了多少行數(shù)據(jù),流水賬形式。②是錯誤日志,當某個模塊出錯的時候需要寫錯誤日志,記錄每次出錯的時間,出錯的模塊以及出錯的信息等。③日志是總體日志,只記錄ETL開始時間,結(jié)束時間是否成功信息。 如果使用ETL工具,工具會自動產(chǎn)生一些日志,這一類日志也可以作為ETL日志的一部分。 (2)警告發(fā)送 ETL出錯了,不僅要寫ETL出錯日志而且要向系統(tǒng)管理員發(fā)送警告,發(fā)送警告的方式有多種,常用的就是給系統(tǒng)管理員發(fā)送郵件,并附上錯誤信息,便于管理員排查。 06、小結(jié) 在這里涉及到ETL中,我們只要有一個清晰的認識,它不是想象中的簡單一蹴而就,在實際的過程,你可以會遇到各種各樣的問題,甚至是部門之間溝通的問題。出現(xiàn)以上問題時,可以和團隊小伙伴或者業(yè)務側(cè)一起制定解決方案,不斷完善,只有這樣才能保證我們的業(yè)務分析結(jié)果是準確的,才能指導公司做出正確的決策。
(部分內(nèi)容來源網(wǎng)絡,如有侵權(quán)請聯(lián)系刪除)
立即免費申請產(chǎn)品試用 免費試用
相關文章推薦
相關主題

人工
客服

立即掃碼
享受一對一服務
億信微信二維碼

預約
演示

您好,商務咨詢請聯(lián)系

400咨詢:4000011866
咨詢熱線:137-0121-6791