Share via


Azure Data Factory 和 Synapse Analytics 管線支援的計算環境

適用於:Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用

重要

Machine Learning 工作室 (傳統) 的支援將於 2024 年 8 月 31 日結束。 建議您在該日期之前轉換成 Azure Machine Learning

自 2021 年 12 月 1 日起,您將無法建立新的 Machine Learning 工作室 (傳統) 資源 (工作區與 Web 服務方案)。 在 2024 年 8 月 31 日之前,您可以繼續使用現有的 Machine Learning 工作室 (傳統) 實驗與 Web 服務。

ML 工作室 (傳統) 文件即將淘汰,未來將不再更新。

本文說明您可用來處理或轉換資料的各種計算環境。 其中還提供在設定連結這些計算環境的連結服務時,所支援的不同組態 (隨選與自備) 的詳細資料。

下表列出支援的計算環境以及可在環境上執行的活動。

計算環境 活動
隨選 HDInsight 叢集您自己的 HDInsight 叢集 HivePigSparkMapReduceHadoop 串流
Azure Batch 自訂
ML Studio (傳統版) ML 工作室 (傳統) 活動︰批次執行和更新資源
Azure Machine Learning Azure Machine Learning 執行管線
Azure Data Lake Analytics Data Lake Analytics U-SQL
Azure SQLAzure Synapse AnalyticsSQL Server 預存程序
Azure Databricks NotebookJarPython
Azure Synapse Analytics (Artifacts) Synapse Notebook 活動Synapse Spark 工作定義
Azure 函式 Azure 函式活動

HDInsight 計算環境

請參閱下表,以了解隨選和 BYOC (自備計算) 環境中設定所支援的儲存體連結服務類型詳細資料。

在計算連結服務之中 屬性名稱 描述 Blob ADLS Gen2 Azure SQL DB ADLS Gen 1
依需求 linkedServiceName 隨選叢集用於儲存及處理資料的 Azure 儲存體連結服務。 Yes .是 No
additionalLinkedServiceNames 指定 HDInsight 連結服務的其他儲存體帳戶,讓服務代表您註冊它們。 No
hcatalogLinkedServiceName 指向 HCatalog 資料庫的 Azure SQL 連結服務名稱。 會使用 Azure SQL 資料庫作為中繼存放區,建立隨選 HDInsight 叢集。 No .是 No
BYOC linkedServiceName Azure 儲存體連結服務參考。 Yes .是 No
additionalLinkedServiceNames 指定 HDInsight 連結服務的其他儲存體帳戶,讓服務代表您註冊它們。 No No
hcatalogLinkedServiceName 指向 HCatalog 資料庫的 Azure SQL 連結服務的參考。 No No

Azure HDInsight 隨選連結服務

在這種組態中,運算環境會完全由服務管理。 服務會在工作提交前自動建立運算環境以處理資料,而在工作完成時予以移除。 您可以建立隨選計算環境的連結服務、加以設定,以及控制工作執行、叢集管理和啟動動作的細微設定。

注意

目前僅支援 Azure HDInsight 叢集的隨選組態。 Azure Databricks 也支援使用作業叢集的隨選作業。 如需詳細資訊,請參閱 Azure Databricks 連結服務

服務可自動建立隨選 HDInsight 叢集來處理資料。 此叢集會建立在與叢集相關聯的儲存體帳戶 (JSON 中的 linkedServiceName 屬性) 相同的區域中。 儲存體帳戶 must 必須是一般目的標準 Azure 儲存體帳戶。

請注意下列有關隨選 HDInsight 連結服務的 重點

  • 您的 Azure 訂用帳戶下會建立隨選 HDInsight 叢集。 該叢集啟動並執行時,您能看到該叢集出現在您的 Azure 入口網站中。
  • 在隨選 HDInsight 叢集上執行之工作的記錄會被複製到與 HDInsight 叢集相關聯的儲存體帳戶。 連結服務定義中定義的 clusterUserName、clusterPassword、clusterSshUserName、clusterSshPassword 可用來登入該叢集,以便在該叢集的生命週期中進行深入的疑難排解。
  • 只會針對 HDInsight 叢集啟動並執行工作的時間來向您收取費用。
  • 您可以使用指令碼動作搭配 Azure HDInsight 隨選連結服務。

重要

通常會花費 20 分鐘或更久的時間來佈建隨選 Azure HDInsight 叢集。

範例

下列 JSON 會定義以 Linux 為基礎的隨選 HDInsight 連結服務。 服務會自動建立以 Linux 為基礎的 HDInsight 叢集,以處理必要的活動。

{
  "name": "HDInsightOnDemandLinkedService",
  "properties": {
    "type": "HDInsightOnDemand",
    "typeProperties": {
      "clusterType": "hadoop",
      "clusterSize": 1,
      "timeToLive": "00:15:00",
      "hostSubscriptionId": "<subscription ID>",
      "servicePrincipalId": "<service principal ID>",
      "servicePrincipalKey": {
        "value": "<service principal key>",
        "type": "SecureString"
      },
      "tenant": "<tenent id>",
      "clusterResourceGroup": "<resource group name>",
      "version": "3.6",
      "osType": "Linux",
      "linkedServiceName": {
        "referenceName": "AzureStorageLinkedService",
        "type": "LinkedServiceReference"
      }
    },
    "connectVia": {
      "referenceName": "<name of Integration Runtime>",
      "type": "IntegrationRuntimeReference"
    }
  }
}

重要

HDInsight 叢集會在您於 JSON 中指定的 Blob 儲存體 (linkedServiceName) 建立預設容器。 HDInsight 不會在刪除叢集時刪除此容器。 這是依照設計的行為。 在使用 HDInsight 隨選連結服務時,除非有現有的即時叢集 (timeToLive),否則每當需要處理配量時,就會建立 HDInsight 叢集,並在處理完成時予以刪除。

隨著執行的活動越來越多,您會在 Azure Blob 儲存體中看到許多容器。 如果在對作業進行疑難排解時不需要這些容器,建議您加以刪除以降低儲存成本。 這些容器的名稱會遵循模式︰adf**yourfactoryorworkspacename**-**linkedservicename**-datetimestamp。 請使用 Microsoft Azure 儲存體總管 之類的工具刪除 Azure Blob 儲存體中的容器。

屬性

屬性 描述 必要
type type 屬性應設為 HDInsightOnDemand Yes
clusterSize 叢集中的背景工作/資料節點數。 HDInsight 叢集會利用您為此屬性指定的 2 個前端節點以及背景工作節點數目來建立。 節點大小為具有 4 個核心的 Standard_D3,因此 4 個背景工作節點的叢集需要 24 個核心 (4*4 = 16 個核心用於背景工作節點,加上 2*4 = 8 個核心用於前端節點)。 如需詳細資料,請參閱使用 Hadoop、Spark 及 Kafka 等在 HDInsight 中設定叢集 Yes
linkedServiceName 隨選叢集用於儲存及處理資料的 Azure 儲存體連結服務。 建立 HDInsight 叢集的區域和這個 Azure 儲存體帳戶的區域相同。 Azure HDInsight 對您在其支援的每個 Azure 區域中可使用的核心總數有所限制。 請確定 Azure 區域有足夠的核心配額,以符合所需的 clusterSize。 如需詳細資料,請參閱使用 Hadoop、Spark 及 Kafka 等在 HDInsight 中設定叢集

目前,您無法建立使用 Azure Data Lake Storage (Gen 2) 做為儲存體的隨選 HDInsight 叢集。 如果您想要在 Azure Data Lake Storage (Gen 2) 中儲存 HDInsight 處理的結果資料,可使用複製活動將 Azure Blob 儲存體的資料複製到 Azure Data Lake Storage (Gen 2)。

Yes
clusterResourceGroup 在此資源群組中將建立 HDInsight 叢集。 Yes
timetolive 隨選 HDInsight 叢集允許的閒置時間。 指定在活動執行完成後,如果叢集中沒有其他作用中的作業,隨選 HDInsight 叢集要保持運作多久。 最小的允許值為 5 分鐘 (00:05:00)。

例如,如果活動執行花費 6 分鐘,而 timetolive 設為 5 分鐘,叢集會在處理活動執行的 6 分鐘期間之後保持運作 5 分鐘。 如果 6 分鐘期間內執行另一個活動,則會由相同叢集來處理。

建立隨選 HDInsight 叢集是昂貴的作業 (可能需要一段時間),因此請視需要使用這項設定,重複使用隨選 HDInsight 叢集以改善服務的效能。

如果您將 timetolive 值設為 0,叢集會在活動執行完成後立即刪除。 不過,如果您設定較高的值,叢集可能會保持閒置,以便您登入進行一些疑難排解,但是可能會導致高成本。 因此,請務必根據您的需求設定適當的值。

如果適當地設定 timetolive 屬性值,則多個管線可以共用隨選 HDInsight 叢集的執行個體。
Yes
clusterType 將建立的 HDInsight 叢集類型。 允許的值為「hadoop」和「spark」。 若未指定,則預設值為 hadoop。 無法隨選建立已啟用企業安全性套件的叢集,請改用現有叢集/攜帶您自己的計算 No
version HDInsight 叢集的版本。 如果未指定,則使用目前的 HDInsight 定義的預設版本。 No
hostSubscriptionId 用來建立 HDInsight 叢集的 Azure 訂用帳戶識別碼。 如果未指定,它會使用您 Azure 登入內容的訂用帳戶識別碼。 No
clusterNamePrefix HDI 叢集名稱的前置詞,在叢集名稱的結尾會自動附加時間戳記 No
sparkVersion 如果叢集類型是「Spark」,則為 spark 的版本 No
additionalLinkedServiceNames 指定 HDInsight 連結服務的其他儲存體帳戶,讓服務代表您註冊它們。 這些儲存體帳戶與 HDInsight 叢集必須在相同區域,而建立此叢集的區域與 linkedServiceName 所指定之儲存體帳戶的區域相同。 No
osType 作業系統的類型。 允許的值為:Linux 和 Windows (僅適用於 HDInsight 3.3)。 預設值為 Linux No
hcatalogLinkedServiceName 指向 HCatalog 資料庫的 Azure SQL 連結服務名稱。 會使用 Azure SQL Database 作為中繼存放區,建立隨選 HDInsight 叢集。 No
connectVia 將活動分派到此 HDInsight 連結服務所用的整合執行階段。 對於隨選 HDInsight 連結服務,它只會支援 Azure 整合執行階段。 如果未指定,就會使用預設的 Azure Integration Runtime。 No
clusterUserName 存取叢集的使用者名稱。 No
clusterPassword 存取叢集的密碼,為安全字串類型。 No
clusterSshUserName 以 SSH 遠端連線到叢集節點的使用者名稱 (適用於 Linux)。 No
clusterSshPassword 以 SSH 遠端連線到叢集節點的密碼,為安全字串類型 (適用於 Linux)。 No
scriptActions 在隨選叢集建立期間為 HDInsight 叢集自訂指定指令碼。
目前,使用者介面撰寫工具支援僅指定 1 個指令碼動作,但是您可以在 JSON 中通過這項限制 (在 JSON 中指定多個指令碼動作)。
No

重要

HDInsight 支援多個可部署的 Hadoop 叢集版本。 每一個版本選擇都會建立特定版本的 Hortonworks Data Platform (HDP) 散發,以及該散發內包含的一組元件。 支援的 HDInsight 版本清單會持續更新,以提供最新的 Hadoop 生態系統元件和修正程式。 務必參閱支援的 HDInsight 版本及 OS 類型,確定您已使用支援的 HDInsight 版本。

重要

目前,HDInsight 連結服務不支援 HBase、互動式查詢 (Hive LLAP)、Storm。

  • additionalLinkedServiceNames JSON 範例
"additionalLinkedServiceNames": [{
    "referenceName": "MyStorageLinkedService2",
    "type": "LinkedServiceReference"          
}]

服務主體驗證

隨選 HDInsight 連結服務需要服務主體驗證,才能代表您建立 HDInsight 叢集。 若要使用服務主體驗證,請在 Microsoft Entra ID 中註冊應用程式實體,並將建立 HDInsight 叢集所用的訂用帳戶或資源群組之中的參與者角色授與該實體。 如需詳細步驟,請參閱使用入口網站,建立可存取資源的 Microsoft Entra 應用程式和服務主體。 請記下以下的值,您可以使用這些值來定義連結服務:

  • Application ID
  • 應用程式金鑰
  • 租用戶識別碼

指定下列屬性以使用服務主體驗證:

屬性 描述 必要
servicePrincipalId 指定應用程式的用戶端識別碼。 Yes
servicePrincipalKey 指定應用程式的金鑰。 Yes
tenant 指定您的應用程式所在租用戶的資訊 (網域名稱或租用戶識別碼)。 將滑鼠游標暫留在 Azure 入口網站右上角,即可擷取它。 Yes

進階屬性

您也可以針對隨選 HDInsight 叢集的細微組態指定下列屬性。

屬性 描述 必要
coreConfiguration 指定要建立之 HDInsight 叢集的核心組態參數 (如 core-site.xml 所示)。 No
hBaseConfiguration 指定 HDInsight 叢集的 HBase 組態參數 (hbase-site.xml)。 No
hdfsConfiguration 指定 HDInsight 叢集的 HDFS 組態參數 (hdfs-site.xml)。 No
hiveConfiguration 指定 HDInsight 叢集的 hive 組態參數 (hive-site.xml)。 No
mapReduceConfiguration 指定 HDInsight 叢集的 MapReduce 組態參數 (mapred-site.xml)。 No
oozieConfiguration 指定 HDInsight 叢集的 Oozie 組態參數 (oozie-site.xml)。 No
stormConfiguration 指定 HDInsight 叢集的 Storm 組態參數 (storm-site.xml)。 No
yarnConfiguration 指定 HDInsight 叢集的 Yarn 組態參數 (yarn-site.xml)。 No
  • 範例:含有進階屬性的隨選 HDInsight 叢集設定
{
    "name": " HDInsightOnDemandLinkedService",
    "properties": {
      "type": "HDInsightOnDemand",
      "typeProperties": {
          "clusterSize": 16,
          "timeToLive": "01:30:00",
          "hostSubscriptionId": "<subscription ID>",
          "servicePrincipalId": "<service principal ID>",
          "servicePrincipalKey": {
            "value": "<service principal key>",
            "type": "SecureString"
          },
          "tenant": "<tenent id>",
          "clusterResourceGroup": "<resource group name>",
          "version": "3.6",
          "osType": "Linux",
          "linkedServiceName": {
              "referenceName": "AzureStorageLinkedService",
              "type": "LinkedServiceReference"
            },
            "coreConfiguration": {
                "templeton.mapper.memory.mb": "5000"
            },
            "hiveConfiguration": {
                "templeton.mapper.memory.mb": "5000"
            },
            "mapReduceConfiguration": {
                "mapreduce.reduce.java.opts": "-Xmx4000m",
                "mapreduce.map.java.opts": "-Xmx4000m",
                "mapreduce.map.memory.mb": "5000",
                "mapreduce.reduce.memory.mb": "5000",
                "mapreduce.job.reduce.slowstart.completedmaps": "0.8"
            },
            "yarnConfiguration": {
                "yarn.app.mapreduce.am.resource.mb": "5000",
                "mapreduce.map.memory.mb": "5000"
            },
            "additionalLinkedServiceNames": [{
                "referenceName": "MyStorageLinkedService2",
                "type": "LinkedServiceReference"          
            }]
        }
    },
      "connectVia": {
      "referenceName": "<name of Integration Runtime>",
      "type": "IntegrationRuntimeReference"
    }
}

節點大小

您可使用下列屬性指定前端、資料和的 zookeeper 節點的大小:

屬性 描述 必要
headNodeSize 指定前端節點的大小。 預設值為:Standard_D3。 如需詳細資料,請參閱指定節點大小一節。 No
dataNodeSize 指定資料節點的大小。 預設值為:Standard_D3。 No
zookeeperNodeSize 指定 Zoo Keeper 節點的大小。 預設值為:Standard_D3。 No
  • 指定節點大小,有關您在上一節所述的屬性中需要指定的字串值,請參閱虛擬機器的大小一文。 值必須符合本文件中所參考的 CMDLET 與 APIS。 如文中所述,「大型」(預設值) 資料節點的記憶體大小為 7-GB,但這可能不適用於您的案例。

若想要建立 D4 大小的前端節點與背景工作節點,請指定 Standard_D4 作為 headNodeSize 與 dataNodeSize 屬性的值。

"headNodeSize": "Standard_D4",    
"dataNodeSize": "Standard_D4",

若您為這些屬性指定錯誤的值,可能會收到下列錯誤:無法建立叢集。 例外狀況:無法完成叢集建立作業。 作業失敗,錯誤碼為 '400'。 叢集剩餘狀態:「錯誤」。 訊息:「PreClusterCreationValidationFailure」。 出現此錯誤時,請確定您是使用虛擬機器的大小一文的表格中的 CMDLET 與 API 名稱。

自備計算環境

在這種組態中,使用者可以將現有的運算環境註冊為連結服務。 此運算環境是由使用者管理並由服務用來執行活動。

下列計算環境可支援這類型的組態:

  • Azure HDInsight
  • Azure Batch
  • Azure Machine Learning
  • Azure Data Lake Analytics
  • Azure SQL DB、Azure Synapse Analytics、SQL Server

Azure HDInsight 連結服務

您可以建立 Azure HDInsight 連結服務,以向 Data Factory 或 Synapse 工作區註冊自己的 HDInsight 叢集。

範例

{
    "name": "HDInsightLinkedService",
    "properties": {
      "type": "HDInsight",
      "typeProperties": {
        "clusterUri": " https://<hdinsightclustername>.azurehdinsight.net/",
        "userName": "username",
        "password": {
            "value": "passwordvalue",
            "type": "SecureString"
          },
        "linkedServiceName": {
              "referenceName": "AzureStorageLinkedService",
              "type": "LinkedServiceReference"
        }
      },
      "connectVia": {
        "referenceName": "<name of Integration Runtime>",
        "type": "IntegrationRuntimeReference"
      }
    }
  }

屬性

屬性 描述 必要
type type 屬性應設為 HDInsight Yes
clusterUri HDInsight 叢集的 URI。 Yes
username 指定要用來連接到現有 HDInsight 叢集的使用者名稱。 Yes
password 指定使用者帳戶的密碼。 Yes
linkedServiceName 參照 HDInsight 叢集所使用 Azure Blob 儲存體的 Azure 儲存體連結服務名稱。

目前,您無法針對此屬性指定 Azure Data Lake Storage (Gen 2) 連結服務。 如果 HDInsight 叢集可存取 Data Lake Store,您可以透過 Hive/Pig 指令碼存取 Azure Data Lake Storage (Gen 2) 中的資料。

Yes
isEspEnabled 如果 HDInsight 叢集已啟用企業安全性套件,請指定 'true'。 預設值為 ’false’ No
connectVia 將活動分派到此連結服務所用的整合執行階段。 您可以使用 Azure 整合執行階段或自我裝載整合執行階段。 如果未指定,就會使用預設的 Azure Integration Runtime。
針對已啟用企業安全性套件 (ESP) 的 HDInsight 叢集,使用自我裝載整合執行階段,該執行階段可供您察看叢集,或應該部署在與 ESP HDInsight 叢集相同的虛擬網路內。
No

重要

HDInsight 支援多個可部署的 Hadoop 叢集版本。 每一個版本選擇都會建立特定版本的 Hortonworks Data Platform (HDP) 散發,以及該散發內包含的一組元件。 支援的 HDInsight 版本清單會持續更新,以提供最新的 Hadoop 生態系統元件和修正程式。 務必參閱支援的 HDInsight 版本及 OS 類型,確定您已使用支援的 HDInsight 版本。

重要

目前,HDInsight 連結服務不支援 HBase、互動式查詢 (Hive LLAP)、Storm。

Azure Batch 已連結的服務

注意

建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 請參閱安裝 Azure PowerShell 以開始使用。 若要了解如何移轉至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 移轉至 Az

您可以建立 Azure Batch 連結服務,以向 Data Factory 或 Synapse 工作區註冊虛擬機器 (VM) 的 Batch 集區。 您可以使用 Azure Batch 執行自訂活動。

如果您不熟悉 Azure Batch 服務,請參閱下列文章:

重要

建立新的 Azure Batch 集區時,必須使用 'VirtualMachineConfiguration',而「不是」'CloudServiceConfiguration'。 如需詳細資訊,請參閱 Azure Batch 集區移轉指導

範例

{
    "name": "AzureBatchLinkedService",
    "properties": {
      "type": "AzureBatch",
      "typeProperties": {
        "accountName": "batchaccount",
        "accessKey": {
          "type": "SecureString",
          "value": "access key"
        },
        "batchUri": "https://batchaccount.region.batch.azure.com",
        "poolName": "poolname",
        "linkedServiceName": {
          "referenceName": "StorageLinkedService",
          "type": "LinkedServiceReference"
        }
      },
      "connectVia": {
        "referenceName": "<name of Integration Runtime>",
        "type": "IntegrationRuntimeReference"
      }
    }
  }

屬性

屬性 描述 必要
type type 屬性應設為 AzureBatch Yes
accountName 建立 Azure Batch 帳戶。 Yes
accessKey Azure Batch 帳戶的存取金鑰。 Yes
batchUri 您 Azure Batch 帳戶的 URL,格式為 https://batchaccountname.region.batch.azure.com。 Yes
poolName 虛擬機器的集區名稱。 Yes
linkedServiceName 與此 Azure Batch 連結服務相關聯的 Azure 儲存體服務連結名稱。 此連結服務用於執行活動所需的暫存檔案。 Yes
connectVia 將活動分派到此連結服務所用的整合執行階段。 您可以使用 Azure 整合執行階段或自我裝載整合執行階段。 如果未指定,就會使用預設的 Azure Integration Runtime。 No

Machine Learning 工作室 (傳統) 連結服務

重要

Machine Learning 工作室 (傳統) 的支援將於 2024 年 8 月 31 日結束。 建議您在該日期之前轉換成 Azure Machine Learning

自 2021 年 12 月 1 日起,您將無法建立新的 Machine Learning 工作室 (傳統) 資源 (工作區與 Web 服務方案)。 在 2024 年 8 月 31 日之前,您可以繼續使用現有的 Machine Learning 工作室 (傳統) 實驗與 Web 服務。

ML 工作室 (傳統) 文件即將淘汰,未來將不再更新。

您可建立 Machine Learning 工作室 (傳統) 連結服務,以向 Data Factory 和 Synapse 工作區註冊 Machine Learning 工作室 (傳統) 批次評分端點。

範例

{
    "name": "AzureMLLinkedService",
    "properties": {
      "type": "AzureML",
      "typeProperties": {
        "mlEndpoint": "https://[batch scoring endpoint]/jobs",
        "apiKey": {
            "type": "SecureString",
            "value": "access key"
        }
     },
     "connectVia": {
        "referenceName": "<name of Integration Runtime>",
        "type": "IntegrationRuntimeReference"
      }
    }
}

屬性

屬性 描述 必要
類型 type 屬性應設為: AzureML Yes
mlEndpoint 批次評分 URL。 Yes
apiKey 已發佈的工作區模型的 API。 Yes
updateResourceEndpoint ML 工作室 (傳統) Web 服務端點 (用以藉由定型模型檔案更新預測性 Web 服務) 的更新資源 URL No
servicePrincipalId 指定應用程式的用戶端識別碼。 如果指定 updateResourceEndpoint 則需要
servicePrincipalKey 指定應用程式的金鑰。 如果指定 updateResourceEndpoint 則需要
tenant 指定您的應用程式所在租用戶的資訊 (網域名稱或租用戶識別碼)。 將滑鼠游標暫留在 Azure 入口網站右上角,即可擷取它。 如果指定 updateResourceEndpoint 則需要
connectVia 將活動分派到此連結服務所用的整合執行階段。 您可以使用 Azure 整合執行階段或自我裝載整合執行階段。 如果未指定,就會使用預設的 Azure Integration Runtime。 No

Azure Machine Learning 連結服務

您可建立 Azure Machine Learning 連結服務,以將 Azure Machine Learning 工作區連線至 Azure Data Factory 或 Synapse 工作區。

注意

目前僅支援 Azure Machine Learning 連結服務的服務主體驗證。

範例

{
    "name": "AzureMLServiceLinkedService",
    "properties": {
        "type": "AzureMLService",
        "typeProperties": {
            "subscriptionId": "subscriptionId",
            "resourceGroupName": "resourceGroupName",
            "mlWorkspaceName": "mlWorkspaceName",
            "servicePrincipalId": "service principal id",
            "servicePrincipalKey": {
                "value": "service principal key",
                "type": "SecureString"
            },
            "tenant": "tenant ID"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime?",
            "type": "IntegrationRuntimeReference"
        }
    }
}

屬性

屬性 描述 必要
類型 type 屬性應該設為:AzureMLService Yes
subscriptionId Azure 訂用帳戶識別碼 Yes
resourceGroupName NAME Yes
mlWorkspaceName Azure Machine Learning 工作區名稱 Yes
servicePrincipalId 指定應用程式的用戶端識別碼。 Yes
servicePrincipalKey 指定應用程式的金鑰。 Yes
tenant 指定您的應用程式所在租用戶的資訊 (網域名稱或租用戶識別碼)。 將滑鼠游標暫留在 Azure 入口網站右上角,即可擷取它。 如果指定 updateResourceEndpoint 則需要
connectVia 將活動分派到此連結服務所用的整合執行階段。 您可以使用 Azure 整合執行階段或自我裝載整合執行階段。 如果未指定,就會使用預設的 Azure Integration Runtime。 No

Azure Data Lake Analytics 已連結的服務

您需建立 Azure Data Lake Analytics 連結服務,來將 Azure Data Lake Analytics 計算服務連結到 Data Factory 或 Synapse 工作區。 管線中的 Data Lake Analytics U-SQL 活動會參考此連結服務。

範例

{
    "name": "AzureDataLakeAnalyticsLinkedService",
    "properties": {
        "type": "AzureDataLakeAnalytics",
        "typeProperties": {
            "accountName": "adftestaccount",
            "dataLakeAnalyticsUri": "azuredatalakeanalytics URI",
            "servicePrincipalId": "service principal id",
            "servicePrincipalKey": {
                "value": "service principal key",
                "type": "SecureString"
            },
            "tenant": "tenant ID",
            "subscriptionId": "<optional, subscription ID of ADLA>",
            "resourceGroupName": "<optional, resource group name of ADLA>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

屬性

屬性 描述 必要
type type 屬性應設為: AzureDataLakeAnalytics Yes
accountName Azure Data Lake Analytics 帳戶名稱。 Yes
dataLakeAnalyticsUri Azure Data Lake Analytics URI。 No
subscriptionId Azure 訂用帳戶識別碼 No
resourceGroupName Azure 資源群組名稱 No
servicePrincipalId 指定應用程式的用戶端識別碼。 Yes
servicePrincipalKey 指定應用程式的金鑰。 Yes
tenant 指定您的應用程式所在租用戶的資訊 (網域名稱或租用戶識別碼)。 將滑鼠游標暫留在 Azure 入口網站右上角,即可擷取它。 Yes
connectVia 將活動分派到此連結服務所用的整合執行階段。 您可以使用 Azure 整合執行階段或自我裝載整合執行階段。 如果未指定,就會使用預設的 Azure Integration Runtime。 No

Azure Databricks 連結服務

您可以建立 Azure Databricks 連結服務來註冊 Databricks 工作區,之後您將使用此工作區執行 Databricks 工作負載 (Notebook、jar、python)。

重要

Databricks 連結服務支援執行個體集區與系統指派的受控識別驗證。

範例 - 在 Databricks 中使用新的作業叢集

{
    "name": "AzureDatabricks_LS",
    "properties": {
        "type": "AzureDatabricks",
        "typeProperties": {
            "domain": "https://eastus.azuredatabricks.net",
            "newClusterNodeType": "Standard_D3_v2",
            "newClusterNumOfWorker": "1:10",
            "newClusterVersion": "4.0.x-scala2.11",
            "accessToken": {
                "type": "SecureString",
                "value": "dapif33c9c721144c3a790b35000b57f7124f"
            }
        }
    }
}

範例 - 在 Databricks 中使用現有的互動式叢集

{
    "name": " AzureDataBricksLinedService",
    "properties": {
      "type": " AzureDatabricks",
      "typeProperties": {
        "domain": "https://westeurope.azuredatabricks.net",
        "accessToken": {
            "type": "SecureString", 
            "value": "dapif33c9c72344c3a790b35000b57f7124f"
          },
        "existingClusterId": "{clusterId}"
        }
}

屬性

屬性 描述 必要
NAME 連結服務的名稱 Yes
type type 屬性應該設為:Azure Databricks Yes
網域 根據 Databricks 工作區的區域指定 Azure 區域。 範例: https://eastus.azuredatabricks.net Yes
accessToken 服務需要有存取權杖才能向 Azure Databricks 進行驗證。 存取權杖必須由 Databricks 工作區產生。 有關尋找存取權杖的詳細步驟可在這裡找到。 No
MSI 使用服務的受控識別 (系統指派) 向 Azure Databricks 進行驗證。 使用 'MSI' 驗證時,您不需要存取權杖。 如需受控識別驗證的詳細資訊,請參閱這裡 No
existingClusterId 所有作業將在其上執行的現有叢集的叢集識別碼。 這應該是已建立的互動式叢集。 如果叢集停止回應,您可能需要手動重新啟動叢集。 Databricks 建議在新的叢集上執行作業以提高可靠度。 您可以在 Databricks 工作區 -> [叢集] -> [互動式叢集名稱] -> [設定] -> [標記] 找到互動式叢集的叢集識別碼。 更多詳細資料 No
instancePoolId Databricks 工作區中現有集區的執行個體集區識別碼。 No
newClusterVersion 叢集的 Spark 版本。 這會在 Databricks 中建立作業叢集。 No
newClusterNumOfWorker 此叢集應有的背景工作角色節點數目。 一個叢集有一個 Spark 驅動程式、num_workers 個執行程式、總共 num_workers + 1 個 Spark 節點 。 Int32 格式的字串,例如 "1" 表示 numOfWorker 為 1,或者 "1:10" 表示在最小值 1 和最大值 10 之間自動調整。 No
newClusterNodeType 此欄位透過單一值,將對此叢集中每個 Spark 節點可使用的資源編碼。 例如,Spark 節點可以佈建,並針對記憶體或計算密集型工作負載最佳化。 新叢集的此欄位為必要欄位 No
newClusterSparkConf 一組選擇性的、使用者指定的 Spark 設定機碼值組。 使用者也可以用字串將額外的 JVM 選項分別透過 spark.driver.extraJavaOptions 和 spark.executor.extraJavaOptions 傳遞給驅動程式和執行程式。 No
newClusterInitScripts 新叢集的一組選擇性、使用者定義的初始化指令碼。 您可以在工作區檔案中指定 init 指令碼 (建議) 或透過 DBFS 路徑 (傳統) 指定。 No

Azure SQL Database 的連結服務

您可建立 Azure SQL 連結服務,並將其與 預存程序活動 搭配使用,以叫用管線中的預存程序。 如需此連結服務的詳細資料,請參閱 Azure SQL 連接器 一文。

Azure Synapse Analytics 連結服務

您可建立 Azure Synapse Analytics 連結服務,並將其與預存程序活動搭配使用,以叫用管線中的預存程序。 如需此連結服務的詳細資料,請參閱 Azure Synapse Analytics 連接器一文。

SQL Server 連結服務

您可以建立 SQL Server 連結服務,並將其與 預存程序活動 搭配使用,以叫用管線中的預存程序。 如需此連結服務的詳細資料,請參閱 SQL Server 連接器 一文。

Azure Synapse Analytics (Artifacts) 連結服務

您可以建立 Azure Synapse Analytics (Artifacts) 連結服務,並將其與 Synapse Notebook 活動Synapse Spark 工作定義活動搭配使用。

範例

{
    "name": "AzureSynapseArtifacts",
    "type": "Microsoft.DataFactory/factories/linkedservice",
    "properties": {
      "properties": {
        "a":{
          "type": "String"
        }
      },
        "annotations": [],
        "type": "AzureSynapseArtifacts",
        "typeProperties": {
            "endpoint": "@{linkedService().a}",
            "authentication": "MSI",
            "workspaceResourceId": ""
        },
        "ConnectVia":{
          "referenceName": "integrationRuntime1",
          "type": "IntergrationRuntimeReference"
        }
    }
}

屬性

屬性 說明 必要
NAME 連結服務的名稱 Yes
description 連結服務的描述 No
annotations 連結服務的註釋 No
type type 屬性應設定為 AzureSynapseArtifacts Yes
endpoint Azure Synapse Analytics URL Yes
驗證 (authentication) 預設設定為系統指派的受控識別 Yes
workspaceResourceId 工作區資源識別碼 Yes
connectVia 用來連線到資料存放區的整合執行階段。 您可以使用 Azure Integration Runtime。 如果未指定,就會使用預設的 Azure Integration Runtime。 目前不支援自我裝載整合執行階段。 Yes

Azure 函式連結服務

您會建立 Azure Function 連結服務,並將其與 Azure Function 活動 搭配使用,以在管線中執行 Azure Functions。 Azure 函式的傳回型別必須是有效的 JObject。 (請記住,JArray「不是」一個JObject)。除了 JObject 以外的任何傳回型別都會失敗,並引發使用者錯誤「回應內容不是有效的 JObject」

屬性 說明 必要
type type 屬性必須設為:AzureFunction
函式應用程式 URL Azure 函式應用程式的 URL。 格式為 https://<accountname>.azurewebsites.net。 此 URL 是您在 Azure 入口網站中檢視函式應用程式時位於 [URL] 區段底下的值
函式金鑰 Azure 函式的存取金鑰。 按一下個別函式的 [管理] 區段,然後複製 [函式金鑰] 或 [主機金鑰]。 在此深入了解:Azure Functions HTTP 觸發程序和繫結

如需支援的轉換活動清單,請參閱轉換資料