tft每日頭條

 > 科技

 > etl抽取數據實施方案

etl抽取數據實施方案

科技 更新时间:2024-11-05 09:42:44

今天這篇文章,給大家講述一下數據倉庫的ETL基礎算法,作為我們一起探讨的内容。希望大家留言、評論,我們一起學習。

ETL定義

是數據抽取(Extract)、轉換(Transform)、清洗(Cleansing)、裝載(Load)的過程。是構建數據倉庫的重要一環,用戶從數據源抽取出所需的數據,經過數據清洗,最終按照預先定義好的數據倉庫模型,将數據加載到數據倉庫中去

一 ETL工具

首先我們來看下常用的ETL工具都有哪些,我說一下我用過的ETL工具,KITTLE,DataStage,Informatica,目前我接觸的有這三種,基本上都是基于圖形化開發的工具,簡單的拖拉拽就可以替代原先的SQL代碼,開發效率高,運行穩定,但是這種太不易于後期的維護和擴展,可讀性也不強。所以現在的銀行業大都慢慢地放棄了,現在都是基于大數據平台開發(A/O分離),然後通過ETL調度,編寫存儲過程實現數據流動。

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)1

二 ETL是數據倉庫的基礎

數據倉庫系統以事實發生數據為基礎,自産數據較少。一個企業往往包含多個業務系統,均可能成為數據倉庫的數據源。

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)2

三 ETL在BI架構中的定位

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)3

四 源數據概況

1

流水事件表:此類源表用于記錄交易等動作的發生,在源系統中會新增、大部分不會修改和删除,少量表存在删除情況。如定期存款登記簿;

常規狀态表:此類源表用于記錄數據信息的狀态。在源系統中會新增、修改,也存在删除的情況。如客戶信息表;

代碼參數表:此類源表用于記錄源系統中使用到的數據代碼和參數

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)4

2

數據文件大多數以1天為固定的周期從源系統加載到數據倉庫。數據文件包含增量,全量以及待删除的增量。

增量數據文件:數據文件的内容為數據表的增量信息,包含表内新增及修改的記錄。

全量數據文件:數據文件的内容為數據表的全量信息,包含表内的所有數據。

待删除的增量:數據文件的内容為數據表的增量信息,包含表内新增、修改及删除的記錄,通常删除的記錄以字段DEL_IND='D'标識該記錄。

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)5

五 ETL算法概述

1 ETL标準算法

曆史拉鍊:根據業務分析要求,對數據變化都要記錄,需要基于日期的連續曆史軌迹;

追加(事件表):根據業務分析要求,對數據變化都要記錄,不需要基于日期的連續曆史軌迹;

Upsert(主表):根據業務分析要求,對數據變化不需要都要記錄,當前數據對曆史數據有影響;

全删全加算法(參數表):根據業務分析要求,對數據變化不需要都要記錄,當前數據對曆史數據無影響;

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)6

2 ETL标準算法選擇

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)7

3 曆史拉鍊法

所謂拉鍊,就是記錄曆史,記錄一個事務從開始,一直到當前狀态的所有變化信息(參數新增開始結束日期)。

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)8

4 追加算法

一般用于事件表,事件之間相對獨立,不存在對曆史信息進行更新。

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)9

5 Upsert算法

是update和insert組合體,一般用于對曆史信息變化不需要進行跟蹤保留、隻需其最新狀态且數據量有一定規模的表,如客戶資料表。

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)10

6 全删全加算法

一般用于數據量不大的參數表,把曆史數據全部删除,然後重新全量加載。

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)11

算法的複雜度比較:

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)12

具體算法概述1:

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)13

0210算法

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)14

0211算法

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)15

0212算法

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)16

具體算法概述2

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)17

0610算法

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)18

0611算法

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)19

0612算法

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)20

0613算法

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)21

0614算法

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)22

0615算法

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)23

0616算法

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)24

0617算法

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)25

0618算法

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)26

0619算法

etl抽取數據實施方案(數據倉庫ETL基礎算法你了解嗎)27

總結:

按照實際工作經驗來看,ETL算法常用的有:

曆史拉鍊 ----最常用,記錄事物變化

追加(事件表) ---根據業務需求

全删全加算法(參數表) --根據業務需求

可以根據實際需求選擇不同的算法。

好了,這篇文章就給大家寫到這裡了,希望大家留言、評論。我們一起探讨,學習。大家喜歡的,可以點個關注 ,我會不定期更新文章,将自己的經驗分享出來。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved