2017-05-31 99 views
0

我使用ADF填充天藍色數據倉庫,我需要準備增量插入/更新操作。我的源代碼可以包含已經加載到DW的數據,因此我需要執行檢查以確定數據是否已加載並執行操作。基本上這個想法是在過去7天內每天都會獲取數據,以防有人更新歷史數據。使用Azure數據工廠將數據加載到Azure DW

起初,我嘗試使用副本活動與來源自定義查詢,然後在目的地使用存儲過程,將通過業務重點檢查記錄已經存在與否和執行插入或更新。但是我找不到如何處理每行的源查詢行結果並將其傳遞給SP。

什麼是最適合我的情況的方法?基本上我尋找SSIS Azure雲

回答

0

裏面你需要加載的數據降落到類似SQL數據庫第一(如果你沒有的話)。然後使用存儲過程來生成合並樣式行爲並處理7天窗口。例如:

{ 
"name": "SprocActivitySamplePipeline", 
"properties": { 
    "activities": [ 
    { 
    "type": "SqlServerStoredProcedure", 
    "typeProperties": { 
     "storedProcedureName": "sp_sample", 
     "storedProcedureParameters": { 
      "DateTime": "$$Text.Format('{0:yyyy-MM-dd HH:mm:ss}', SliceStart)" 
     } 
    } 

來源:在數據庫中https://docs.microsoft.com/en-us/azure/data-factory/data-factory-stored-proc-activity

在這種情況下,ADF輸入和輸出數據集可以是關係表。

不幸的是,ADF不是SSIS。但是如果你想比較一下,它更像SSIS控制流,而不是數據流和ETL引擎。

因此,您需要一系列活動來完成您的要求。在上面的屏幕截圖中,您已經將SQL DB作爲源代碼,所以我對於實際存在的問題有點困惑。

也許運行SQL DB中的數據的過程首先到一個staged區域。然後複製到SQL DW。

希望這會有所幫助。

相關問題