Azure Data Factory 中的整合執行階段

適用於:Azure Data Factory Azure Synapse Analytics

Integration Runtime (IR) 是Azure Data Factory和Azure Synapse管線所使用的計算基礎結構,可在不同的網路環境中提供下列資料整合功能:

  • 資料Flow:在受控 Azure 計算環境中執行資料Flow
  • 資料移動:針對內部部署或虛擬私人網路 (,跨公用或私人網路) 的資料存放區複製資料。 此服務支援內建連接器、格式轉換、資料行對應,以及高效能且可調整的資料傳輸。
  • 活動分派:分派和監視在各種計算服務上執行的轉換活動,例如 Azure Databricks、Azure HDInsight、ML Studio (傳統) 、Azure SQL Database、SQL Server等等。
  • SSIS 套件執行:在受控 Azure 計算環境中,以原生方式執行 SQL Server Integration Services (SSIS) 套件。

在 Data Factory 和 Synapse 管線中,活動會定義要執行的動作。 連結服務可定義目標資料存放區或計算服務。 整合執行時間提供活動與連結服務之間的橋樑。 連結服務或活動會參考它,並提供活動直接執行或分派的計算環境。 這可讓活動在最接近目標資料存放區或計算服務的可能區域中執行,以最大化效能,同時允許彈性以符合安全性和合規性需求。

整合執行時間可以直接透過管理中樞,以及從參考它們的任何活動、資料集或資料流程,在Azure Data Factory和Azure Synapse UI 中建立。

整合執行階段類型

Data Factory 提供三種類型的Integration Runtime (IR) ,您應該選擇最適合資料整合功能和網路環境需求的類型。 IR 的三種類型包括:

  • Azure
  • 自我裝載
  • Azure-SSIS

注意

Synapse 管線目前僅支援 Azure 或自我裝載整合執行時間。

下表描述每個整合執行階段類型的功能和網路支援:

IR 類型 公用網路支援 Private Link支援
Azure 資料流程
資料移動
活動分派
資料流程
資料移動
活動分派
自我裝載 資料移動
活動分派
資料移動
活動分派
Azure-SSIS SSIS 封裝執行 SSIS 封裝執行

注意

輸出控制項會因 Azure IR 的服務而有所不同。 在 Synapse 中,工作區可以選擇在使用 Azure IR 時限制 來自受控虛擬網路 的輸出流量。 在 Data Factory 中,使用 Azure IR 時,所有埠都會針對 輸出通訊 開啟。 Azure-SSIS IR可以與您的 vNET 整合,以提供輸出通訊控制項。

Azure 整合執行階段

Azure 整合執行時間可以:

  • 在 Azure 中執行資料流程
  • 在雲端資料存放區之間執行複製活動
  • 在公用網路中分派下列轉換活動:Databricks Notebook/Jar/ Python 活動、HDInsight Hive 活動、HDInsight Pig 活動、HDInsight MapReduce活動、HDInsight Spark 活動、HDInsight 串流活動、ML Studio (傳統) Batch執行活動、ML Studio (傳統) 更新資源活動、預存程式活動、Data Lake Analytics U-SQL活動、.NET 自訂活動、Web 活動、查閱活動和取得中繼資料活動。

Azure IR 網路環境

Azure Integration Runtime支援使用公用可存取端點連線到資料存放區和計算服務。 啟用受控虛擬網路,Azure Integration Runtime支援在私人網路環境中使用私人連結服務連線到資料存放區。 在 Synapse 中,工作區有選項可限制來自 IR 受控虛擬網路的輸出流量。 在 Data Factory 中,所有埠都會開啟以進行 輸出通訊。 Azure-SSIS IR可以與您的 vNET 整合,以提供輸出通訊控制項。

Azure IR 計算資源和調整規模

Azure 整合執行階段在 Azure 中提供完全受控、無伺服器的計算。 您不必擔心基礎結構布建、軟體安裝、修補或容量調整。 此外,您只需支付實際使用時間。

Azure 整合執行階段提供原生計算,能夠以安全、可靠且高效能的方式,在雲端資料存放區之間移動資料。 您可以設定複製活動上要使用的資料整合單位數目,並據以彈性地相應增加 Azure IR 的計算大小,而不需要您明確地調整 Azure Integration Runtime的大小。

活動分派是將活動路由傳送至目標計算服務的輕量型作業,因此不需要相應增加此案例的計算大小。

如需建立和設定 Azure IR 的相關資訊,請參閱如何建立和設定 Azure Integration Runtime

注意

Azure 整合執行時間具有與 Data Flow 執行時間相關的屬性,其定義用來執行資料流程的基礎計算基礎結構。

自我裝載整合執行階段

自我裝載 IR 能夠:

  • 在雲端資料存放區和私人網路中的資料存放區之間執行複製活動。
  • 針對內部部署或 Azure 虛擬網路中的計算資源分派下列轉換活動:HDInsight Hive 活動 (BYOC 攜帶您自己的叢集) , HDInsight Pig 活動 (BYOC) 、HDInsight MapReduce活動 (BYOC) 、HDInsight Spark 活動 (BYOC) 、HDInsight 串流活動 (BYOC) 、ML Studio (傳統) Batch執行活動、ML Studio (傳統) 更新資源活動、預存程式活動、Data Lake Analytics U-SQL活動、自訂活動 (在Azure Batch) 、查閱活動和取得中繼資料活動上執行。

注意

使用自我裝載整合執行時間來支援需要自備驅動程式的資料存放區,例如 SAP Hana、MySQL 等。如需詳細資訊,請參閱 支援的資料存放區

注意

JAVA 執行時間環境 (JRE) 是自我裝載 IR 的相依性。 請確定您已在相同的主機上安裝 JRE。

自我裝載 IR 網路環境

如果您想要安全地在沒有來自公用雲端環境的私人網路環境中執行資料整合,您可以在防火牆後方的內部部署環境中,或在虛擬私人網路內安裝自我裝載 IR。 自我裝載整合執行時間只會對網際網路進行輸出 HTTP 型連線。

自我裝載 IR 計算資源和調整規模

在內部部署機器或私人網路內的虛擬機器上安裝自我裝載 IR。 目前,我們只支援在 Windows 作業系統上執行自我裝載 IR。
若要達到高可用性和延展性,您可以在主動-主動模式下,將邏輯執行個體和多個內部部署機器產生關聯,以相應放大自我裝載 IR。 如需詳細資訊,請參閱 有關如何建立和設定自我裝載 IR 的文章,以取得詳細資料。

Azure SSIS 整合執行階段

若要隨即轉移現有的 SSIS 工作負載,您可以建立 Azure-SSIS IR,以原生方式執行 SSIS 套件。

Azure-SSIS IR 網路環境

Azure-SSIS IR可以在公用網路或私人網路中布建。 將Azure-SSIS IR聯結至連線到內部部署網路的虛擬網路,可支援內部部署資料存取。

Azure-SSIS IR 計算資源和調整規模

Azure-SSIS IR是完全受控的 Azure VM 叢集,專門用來執行 SSIS 套件。 您可以為 SSIS 專案/套件目錄 (SSISDB) 自備Azure SQL Database或SQL 受管理執行個體。 指定節點大小可以相應增加計算能力,指定叢集的節點數目可以相應放大計算能力。 您可以藉由停止並視需求啟動 Azure-SSIS Integration Runtime來管理執行 Azure-SSIS 的成本。

如需詳細資訊,請參閱如何建立和設定Azure-SSIS IR。 建立之後,您可以使用熟悉的工具,例如SQL Server Data Tools (SSDT) 和SQL Server Management Studio (SSMS) 等熟悉的工具,部署和管理現有的 SSIS 套件,就像使用內部部署 SSIS 一樣。

如需 Azure-SSIS 執行時間的詳細資訊,請參閱下列文章:

整合執行階段位置

處理站位置和 IR 位置之間的關聯性

當您建立 Data Factory 或 Synapse 工作區的實例時,您必須指定其位置。 實例的中繼資料會儲存在這裡,並從這裡起始管線觸發。 中繼資料只會儲存在所選的區域,而且不會儲存在其他區域中。

同時,管線可以存取其他 Azure 區域中的資料存放區和計算服務,以在資料存放區之間移動資料,或使用計算服務處理資料。 此行為會透過全域可用的 IR 來達成,以確保資料合規性、效率,並降低網路輸出成本。

IR 位置會定義其後端計算的位置,以及執行資料移動、活動分派和 SSIS 封裝執行的位置。 IR 位置可以與它所屬的 Data Factory 位置不同。

Azure IR 位置

您可以設定 Azure IR 的位置區域,在此情況下,活動執行或分派會在選取的區域發生。

預設值是自動解析公用網路中 Azure IR。 使用此選項:

  • 針對複製活動,請盡最大努力自動偵測接收資料存放區的位置,然後在相同區域中使用 IR,如果有的話,或相同地理位置中最接近的 IR;否則為 ;如果無法偵測接收資料存放區的區域,則會改用實例區域中的 IR。

    例如,Data Factory 或 Synapse 工作區是在美國東部建立的,

    • 將資料複製到美國西部的 Azure Blob 時,如果 Blob 偵測到位於美國西部區域,則會在美國西部的 IR 上執行複製活動;如果區域偵測失敗,則會在美國東部的 IR 上執行複製活動。
    • 將資料複製到無法偵測到區域Salesforce時,複製活動會在美國東部 IR 上執行。

    提示

    如果您有嚴格的資料合規性需求,而且需要確保資料不會離開特定地理位置,您可以在特定區域中明確建立 Azure IR,並使用 ConnectVia 屬性將連結服務指向此 IR。 例如,如果您想要將資料從英國南部的 Blob 複製到英國南部的Azure Synapse工作區,而且想要確保資料不會離開英國,請在英國南部建立 Azure IR,並將這兩個連結服務連結至此 IR。

  • 如需查閱/GetMetadata/Delete 活動執行 (管線活動) 、轉換活動分派 (外部活動) ,以及撰寫作業 (測試連線、流覽資料夾清單和資料表清單,以及預覽資料) ,則會使用與 Data Factory 或 Synapse Workspace 相同的區域中的 IR。

  • 針對 Data Flow,會使用 Data Factory 或 Synapse 工作區區域中的 IR。

    提示

    最佳做法是確保資料流程盡可能在與對應資料存放區相同的區域中執行。 如果資料存放區位置與 Data Factory 或 Synapse 工作區位置) 相同,或是在與資料存放區相同的區域中建立新的 Azure IR 實例,然後在與資料存放區相同的區域中建立新的 Azure IR 實例,然後在其中執行資料流程,即可達成 (此目的。

如果您針對 Azure IR 啟用受控虛擬網路,則會使用 Data Factory 或 Synapse 工作區區域中的 IR。

您可以在 Data Factory Studio 或 Synapse Studio 或活動監視承載中的管線活動監視檢視中監視活動執行期間,監視哪些 IR 位置生效。

自我裝載 IR 位置

自我裝載 IR 會以邏輯方式註冊到 Data Factory 或 Synapse 工作區,而用來支援其功能的計算是由您提供。 因此,自我裝載 IR 沒有明確的位置屬性。

用來執行資料移動時,自我裝載 IR 會從來源取出資料,並寫入目的地。

Azure-SSIS IR 位置

注意

Synapse 管線目前不支援 Azure-SSIS 整合執行時間。

為了在擷取、轉換和下載 (ETL) 工作流程中達到高效能,務必選取正確的 Azure-SSIS IR 位置。

  • Azure-SSIS IR的位置不需要與 Data Factory 的位置相同,但它應該與 SSISDB 所在位置Azure SQL Database或SQL 受管理執行個體位置相同。 如此一來,您的 Azure-SSIS Integration Runtime就可以輕鬆地存取 SSISDB,而不會產生不同位置之間的過多流量。
  • 如果您沒有現有的SQL Database或SQL 受管理執行個體,但您有內部部署資料來源/目的地,您應該在連線至內部部署網路的相同位置建立新的Azure SQL Database或SQL 受管理執行個體。 如此一來,您可以使用新的Azure SQL Database或SQL 受管理執行個體來建立Azure-SSIS IR,並加入該虛擬網路。 所有專案都會位於相同的位置,將資料移動和相關聯的成本降至最低,同時將效能最大化。
  • 如果現有Azure SQL Database或SQL 受管理執行個體的位置與連線至內部部署網路的虛擬網路位置不同,請先使用現有的Azure SQL Database或SQL 受管理執行個體建立您的Azure-SSIS IR 並加入相同位置的另一個虛擬網路。 然後,將虛擬網路設定為不同位置之間的虛擬網路連線。

下圖顯示 Data Factory 及其整合執行時間的位置設定:

Shows Data Factory integration runtime locations.

決定使用哪一個 IR

如果活動與一種以上的整合執行時間相關聯,則會解析為其中一種。 自我裝載整合執行時間優先于使用受控虛擬網路Azure Data Factory或 Synapse 工作區實例中的 Azure 整合執行時間。 後者優先于全域 Azure 整合執行時間。

例如,一個複製活動是用來將資料從來源複製到接收。 全域 Azure 整合執行時間會與連結服務建立關聯,而Azure Data Factory受控虛擬網路中的 Azure 整合執行時間會與接收的連結服務相關聯,因此,來源和接收連結服務都會使用 Azure Data Factory 受控虛擬網路中的 Azure 整合執行時間。 但是,如果自我裝載整合執行時間與來源的連結服務相關聯,則來源和接收連結服務都會使用自我裝載整合執行時間。

複製活動

複製活動需要來源和接收連結服務來定義資料流程的方向。 下列邏輯可決定使用哪個整合執行階段執行個體來執行複製:

  • 在兩個雲端資料來源之間複製:如果來源和接收連結服務都使用 Azure IR,則會在指定 Azure IR 時使用區域 Azure IR,或者如果已選擇自動解析 IR (預設) 選項,就會自動判斷 Azure IR 的位置,如 整合執行時間位置 一節中所述。
  • 在雲端資料來源與私人網路中的資料來源之間複製:如果來源或接收連結服務指向自我裝載 IR,則會在自我裝載 IR 上執行複製活動。
  • 在私人網路中的兩個數據源之間複製:來源和接收連結服務都必須指向整合執行時間的相同實例,而且該 IR 是用來執行複製活動。

查閱和 GetMetadata 活動

查閱和 GetMetadata 的活動會在與資料存放區連結服務相關聯的整合執行階段上執行。

外部轉換活動

每個利用外部計算引擎的外部轉換活動都有一個目標計算連結服務,指向整合執行時間。 這個 IR 實例會決定從該外部手動編碼轉換活動分派的位置。

資料流程活動

資料Flow活動會在相關聯的 Azure 整合執行時間上執行。 資料流程所使用的 Spark 計算是由 Azure IR 中的資料流程屬性所決定,並由服務完全管理。

CI/CD 中的Integration Runtime

整合執行階段不會經常變更,而且在 CI/CD 中的所有階段都很類似。 Data Factory 要求在 CI/CD 的所有階段中,要有相同的名稱和相同類型的整合執行階段。 如果您想要在所有階段共用整合執行時間,請考慮只使用專用處理站來包含共用整合執行時間。 然後,您可以在所有環境中使用此共用處理站作為連結整合執行時間類型。

後續步驟

查看下列文章: