2017-05-03 47 views
2

我在本地數據庫中有200+個表中的數據,我需要將其移至Azure Data Lake。我對Azure數據工廠中的每個表有200多個單獨的管道(或者一個管道有200多個活動或其他管道的劃分/活動)的想法感到不高興。有更好的/更具擴展性的方法來做到這一點嗎?在SSIS中,我可能會創建一個模板包並將其包裝在for-loop容器中以遍歷表列表來完成這項工作,或者進一步說,有幾個列表和每個包自行工作獨立列出更大的並行性。數據工廠中有相同的方法嗎?Azure Data Factory中是否有類似於SSIS中的FOR/FOREACH循環的東西?

回答

2

真的嗎?就動態模式而言,SSIS非常糟糕。根據this question,Azure數據工廠(ADF)是一種ELT工具,不是ETL工具,在這方面有着根本性的不同。但是,使用複製嚮導不需要很長時間就可以完成此操作。

或者,您將不得不學習如何使用.net SDK和/或Powershell以及ADF來更加動態地使用它。您理論上需要輸入和輸出每個可以在一個管道下運行的表的數據集。

最後,我不認爲這是一個很好的模式(主要是因爲您需要一些IaaS來承載它),但作爲最後的手段,SSIS現在已經與2016年Feature Pack中的Azure Data Lake集成。

+0

我大多暗指任務的可管理性方面。在單個項目中管理超過200個表格需要200多個輸入/輸出數據集和管道相互連接。 SSIS功能包沒有那麼有用。我確實嘗試過...... – YuGagarin

+0

@YuGagarin爲我運行SSIS方法。你如何建議使用動態模式?您始終可以使用SSIS將文件輸出到文件共享中,然後使用ADF來拾取和移動文件。複製活動可以移動目錄中的所有文件,只需要一個管道,輸入數據集(源目錄)和輸出數據集(輸出目錄)。您也可以嘗試使用Stored Proc任務,運行數據庫中的所有表格,將文件輸出到文件共享中,然後複製活動等。點是ADF只編排,循環將發生在您選擇的計算上。 – wBob

+0

使用BCP命令 – YuGagarin

相關問題