tft每日頭條

 > 科技

 > etl 數據倉庫項目

etl 數據倉庫項目

科技 更新时间:2024-08-11 15:26:43

傳統ETL通常都是采用昂貴的ETL工具(Datastage、SSIS等)基于高性能的小型機完成。這種方式已經難以滿足“大數據”時代下TB甚至PB級的數據ETL需求,如何在有限的時間内,高效高質量的完成海量數據的ETL工作,對ETL技術的架構設計也提出了更高的要求。

目前主流的解決方案是通過對傳統ETL進行橫向擴展,将ETL工作轉化為并行或分布式的架構,從而縮短數據處理時間。目前基于分布式的ETL技術架構有以下兩種:

3.1 基于多Agent方式的ETL技術架構

該方法是将多Agent系統技術⋯1引入到分布式計算環境中,該分布式ETL框架把數據抽取、數據轉換和數據加載分别對應成各個Agent,同時把每一個模塊比如元數據管理、作業管理和轉換函數管理等各對應到一個Agent,然後利用Agent之間的協作性、主動性和交互性來構建分布式ETL框架。

etl 數據倉庫項目(數據集成技術三)1

圖1

上圖給出了基于Agent的分布式ETL架構。其中”ETL任務設計”模塊向用戶提供ETL工作流的設計界面。”ETL任務管理”模塊則是分布式ETL的協調中心,向上(用戶)承接ETL作業的上傳、轉換函數的定義和日志浏覽功能,向下(ETL執行)基于元數據提供ETL作業轉換規則和作業調度。”ETL任務執行”模塊則是具體的執行引擎,分布在各個實體服務器上。通過各個Agent協作完成ETL的任務。

這種架構可以較好的解決分布式系統中的負載均衡問題,而且也能夠實現準實時的數據解析和入庫。但是該方式不能較好的保證各個Agent的穩定性,一旦某個Agent出現故障,将會使整個系統處于崩潰狀态,甚至有可能導緻數據的丢失。

3.2 基于MapReduce的ETL技術架構

hadoop技術在其誕生之初就是定位于大數據的存儲、分析。所以在hadoop框架下基于MapReduce實現ETL也是很多企業自然而然的選擇。

etl 數據倉庫項目(數據集成技術三)2

圖2

上圖中給出了一個典型的基于MapReduce的ETL技術架構。 服務端主要包括元數據管理模塊、執行引擎模塊、數據訪問模塊。元數據管理模塊是系統的基礎模塊,它描述了系統中所有數據結構的定義,提供元數據存儲、訪問的服務。系統的其他模塊通過公共接口從元數據管理模塊獲得元數據信息。另外,元數據管理模塊提供接口用來導入導出元數據。執行引擎模塊是系統的核心模塊,又分為流程解析和流程執行兩個模塊。在流程解析模塊,執行引擎獲取執行流程的元數據信息,根據這些信息,生成相應的工作流。流程執行模塊完成從數據轉換到數據解析的所有任務。數據訪問模塊提供公共的數據訪問接口,它屏蔽了各種數據源之間的差異,以一種統一的方式對數據進行查詢、删除、修改。

在基于MapReduce的ETL技術框架下,開發人員隻需要Map和Reduce兩個函數進行數據轉換的并行處理,并基于hadoop生态圈所提供的API接口進行數據抽取和加載。這樣可以提高開發效率,而且系統的并行處理能力也有成熟hadoop生态圈得以保證。但是MapReduce程序啟動較為耗時,并不适用于數據的實時加載和入庫,而且MapReduce作業流程的優化也需要投入大量的時間。

,

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

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

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