Extraction, Transformation and Loading
SAP BW的解決方案中最大的一部分的挑戰來自取得各種不同來源的資料,從SAP其他的解決方案到其他第三方非SAP的資料(例如big data in Hadoop)。簡單的來說就是SAP的ETL(extraction, transformation, and loading)工具。以下表列出目前SAP ETL tool可以支援的來源資料系統
SAP applications
使用SAP的Operational Data Provisioning (ODP) 框架來取得來自SAP source systems的資料。這個框架可以讓你將資料從SAP repositories取得資料,看是使用Service Application Programming Interface (S-API) 或是Operational Delta Queues -ODQ)。前者S-API是常用的方式,後者ODQ則是包含了SAP Data Services的連結。
Database source systems
通常是非SAP system的資料庫,透過ODBC來取得資料。SAP提供的ODBC稱做HODBC (SAP HANA ODBC)。你也可以使用SAP HANA smart data integration (SDI) and SAP HANA smart data access (SDA) frameworks取得資料。
Local or tenant database
資料來自本地資料庫或是tenant DB,是HANA可以直接連結取得的。
SDA(Smart Data access) Big data source systems
SDA是一種Framework讓你可以連結到不同的data source(也包括了Big data)。除了批次載入資料也能使用串流資料將資料以近乎及時將資料從來源端源源不絕的將資料載入。
Files
可以把CSV或是 Excel的檔案匯入BW4HANA DB中
Operational Data Provisioning 框架
上面我們提到BW4HANA在transfer data時若是資料來源是SAP 的系統時可以使用ODP框架。ODP是透過RFCs 或 Simple Object Access Protocol (SOAP) web services將資料extraction 與replication到SAP BW4HANA中。ODP也可以讓你使用SAP Landscape Transformation replication server以real time的傳輸資料。 ODP框架會使用BW4HANA提供的SAP Landscape Transformation server 或DataSources在SAP source system中create一個data transfer queues.ODP框架在這個架構中就像是一個central component來控管這個queues(如下圖)
在這個框架中我們看到兩種角色: providers and consumers。Provider負責傳送資料,而consumers負責接收資料。但providers and consumers可以不是一對一個關係,Provider可以同時傳送給不同的目標。在ODP框架中這種一堆多的關係我們稱為subscriptions,Provider對應到不同的consumers都會有一個相對應的data transfer queues(由ODP queue management管控)。
另外ODP也有Queue Monitor的功能(透過Transaction ODQMON)來監控delta queue processing的狀態還能做一些管理工作(像是clean up queues)。
在Create source時我們有如下三種選擇
SAP BW 4HANA Data Sources
DataSource是SAP BW4HANA objects,這個object一個rules/parameters/fields的colletion。可以讓你從soruce system去access or extract data並copy到SAP BW/4HANA。DataSource type有以下三種
Transaction data
Master data (attributes, texts, hierarchies)
Segmented data
當設定完成 Data source的設定後會有一個設定結果(如下圖)
其中在Overview這個頁籤中 關於 General Properties的選項
DS for Data Reconciliation
這個選項是讓你直接access由 data provider提供的資料並且在SAP BW4HANA的 Virtual Provider中是available的。這個可以讓你很容易的實現從來源端到目的端的 data consistency check.
Opening Balance
用於對InfoProvider中的noncumulative key figures執行initial load
Data Is Language Dependent
可避免在傳輸到SAP BW4HANA的 data 具有語言依賴性時避免資料重複或資料遺失。 在這種情況下,data source必須具有一個field以標識記錄的語言。 在SAP系統中,語言的標準fields是LANGU和SPRAS
Data Is Time Dependent
避免在將數據傳輸到SAP BW4HANA具有時間依賴性(例如有效期)時避免資料重複或資料遺失。 在這種情況下,data source必須至少具有一個field來定義記錄有效期的下限或上限。 在SAP系統中,有效期限制的標準SAP fields為DATEFROM和DATETO。
Delivery of Duplicate Data Recs
這個indicator的設定在 data load期間處理重複記錄時DataSource的行為。 此處的選項為Undefined,None和Allowed。除了Undefined選項外,必須在DataSource中設置將用作驗證重複記錄的primary key 的fields
另外在 Extraction 頁籤則會有這些選項
Delta Process
這是定義資料的處理模式。會有三種,
Data Access
定義DataSource是否可以建立對source provider的直接access以及data extraction期間可以對data執行的其他操作
Streaming
定義 Data Source是否需要 stream data
Adapter
將資料從 data source到BW4HANA的方法
Extractor Specific Properties
包含有source system 和將object發送到DataSource的對象的訊息。 可以根據需要修改source object
ODP DataSources介紹
這通常是create 在 SAP source system裡並且它們的 metadata 會被複製到 BW4HANA中。基於 metadata replication, 你可以在 BW4HANA中手動的create ODP DataSource並且在create過程中連結在SAP source system中可用的ODP provider
SAP BW4HANA Data Flows
視覺化的資料流程,如下圖
基本上就是一連串的資料整理/匯出最終轉變(transformation)成你要的資料。每個node上執行你想要的資料轉換方式。但怎麼轉變呢?這就需要設定規則與設計邏輯來consolidate, cleanse, 與apply business rules以期能將資料從源頭端到目的端。例如下圖在其中一個node執行Transofrmation
在執行 Transformation 過程中,我們有四個主要階段可以將規則套入
Record transformation之前:
在資料還沒進到目的端時做轉換。這套規則是通過“Start Routine”應用程序按鈕創建的programming routine。
2. Record transformation期間:
在target structure 中create data時,可以create 一組規則,以在對每個recrods進行轉換期間將其應用於data的每個fields。 這套規則在每個fields mapping內運行,並具有以下選項