2014年6月23日 星期一

[SAP][Data Service] Change Data Capture (CDC) 異動數據記錄

在進行資料倉儲資料轉換時,使用 ETL 將所有交易資料轉入後,當資料量少時,當然可以在進行 ETL 前,先將目標資料表的資料清除再進行轉入的作業,但隨著時間的增加,資料可能是倍增的,而重複轉入不會再異動的資料也是非常沒有效率的一件事。

實務上常見的CDC實作方法很多,有些會根據 Timestamp欄位當作判斷異動資料的依據,有些則是以精心設計過的 Flag 指標為基準。

[SAP][Data Service] 匯整關聯資料表至目標資料表

在進行資料匯整時為了查詢方便及效率,會進行反正規化,將要關聯的資料表匯整至一張目標資料表中。
使用 LOOKUP_EXT() 函數,來找出對應值。首先在 Data Flow 工作區中拖拉出兩個來源資料表、一個 Query Transform 及一個目標資料表。


D_COMPLAINTS 資料表:RecordID、CallerName、ServiceTypeID、CreatedDateTime
B_SERVICETYPE 資料表:ServiceTypeID、ServiceTypeName
T4 目標資料表:RecordID、CallerName、ServiceTypeID、CreatedDateTime、ServiceTypeName
( 來源資料表可以來自不同的資料來源或資料庫 )

[SAP][Data Service] Reimport 資料表

當資料庫中的資料表有所異動時,不論是欄位的新增、修改或刪除;或是資料型態的改變,
在 Datastore 中須 Reimport 資料表。



[SAP][Data Service] 使用 XML_Pipeline

當我們擷取 XML 資料至目的資料表時,常只擷取部分資料。XML_Pipeline Transform 主要目的就是擷取 XML 中的部分資料,比使用 Query Transform 效率更好。

在 Data Flow 工作區中拖拉相關元件出來。


XML_Pipeline 在 Data Integrator 類別中

[SAP][Data Service] 使用 DTD 轉換 XML 資料

XML 檔案可能會有巢狀式的資料,要轉入資料表中,必須扁平化 XML 的元素,才能將非規格化的資料轉入資料表中。對 XML 文件而言,DTD可有可無。

  •  Well-formed XML 文件:
    • 沒有對應的 DTD 或 XML Schema。
    • 只需符合 Well-formed XML 規則。
  • Valid XML 文件:
    • 有對應 DTD 或 XML Schema。
    • 除符合 well-formed XML 規則外,文件內容結構須符合 DTD 或 XML Schema 之規範。