次の方法で共有


Azure Data Factory と Synapse pipelinesでサポートされるコンピューティング環境

適用対象: Azure Data Factory Azure Synapse Analytics

Tip

企業向けのオールインワン分析ソリューションである Microsoft Fabric Data Factory を試してみてください。 Microsoft Fabric では、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものが対象になります。 無料で新しい試用版を開始する方法については、こちらを参照してください。

Important

Azure Machine Learning Studio (クラシック) のサポートは、2024 年 8 月 31 日に終了します。 その日付までに Azure Machine Learning に移行することをお勧めします。

2021 年 12 月 1 日の時点で、新しい Machine Learning Studio (クラシック) リソース (ワークスペースと Web サービス プラン) を作成することはできません。 2024 年 8 月 31 日まで、既存の Machine Learning Studio (クラシック) 実験と Web サービスを引き続き使用できます。 詳細については、次を参照してください。

Machine Learning Studio (クラシック) のドキュメントは廃止され、今後更新されない可能性があります。

この記事では、データの処理または変換に利用できるさまざまなコンピューティング環境について説明します。 これらのコンピューティング環境をリンクするリンク サービスの構成時にサポートされる、さまざまな構成 (オンデマンドと Bring Your Own の比較) に関する詳細も説明します。

次の表は、サポートされているコンピューティング環境と、その環境で実行できるアクティビティの一覧です。

コンピューティング環境 Activities
オンデマンド HDInsight クラスター または 独自の HDInsight クラスター HivePigSparkMapReduceHadoop ストリーミング
Azure Batch Custom
ML スタジオ (クラシック) ML Studio (クラシック) のアクティビティ: Batch Execution と更新リソース
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 (Bring your own compute) 環境での構成でサポートされているストレージにリンクされたサービスの種類の詳細については、以下の表を参照してください。

コンピューティングのリンクされたサービス プロパティ名 Description Blob ADLS Gen2 Azure SQL DB ADLS Gen 1
On-demand linkedServiceName Azure Storageデータの格納と処理にオンデマンド クラスターによって使用されるリンクされたサービスです。 Yes Yes No No
additionalLinkedServiceNames HDInsight のリンクされたサービスの追加のstorage アカウントを指定して、サービスがユーザーに代わって登録できるようにします。 Yes No No No
hcatalogLinkedServiceName Azure SQL が HCatalog データベースを指すリンクされたサービスの名前。 オンデマンド HDInsight クラスターは、Azure SQL databaseをメタストアとして使用して作成されます。 No No Yes No
BYOC linkedServiceName リンクされたサービス参照Azure Storage。 Yes Yes No No
additionalLinkedServiceNames HDInsight のリンクされたサービスの追加のstorage アカウントを指定して、サービスがユーザーに代わって登録できるようにします。 No No No No
hcatalogLinkedServiceName HCatalog データベースを指すAzure SQLリンクされたサービスへの参照。 No No No No

AZURE HDInsight オンデマンドのリンクされたサービス

この種類の構成では、コンピューティング環境はサービスによって完全に管理されます。 データを処理するためのジョブが送信される前にサービスにより自動的に作成され、ジョブの完了時に削除されます。 オンデマンドのコンピューティング環境のために「リンクされたサービス」を作成し、構成し、ジョブ実行、クラスター管理、ブートストラップ アクションの詳細設定を制御できます。

Note

オンデマンド構成は現在、Azure HDInsight クラスターでのみサポートされています。 Azure Databricks では、ジョブ クラスターを使用したオンデマンド ジョブもサポートされます。 詳細については、「Azure databricks のリンクされたサービスを参照してください。

サービスにより、データを処理するためのオンデマンド HDInsight クラスターが自動的に作成されます。 クラスターは、クラスターに関連付けられている storage アカウント (JSON の linkedServiceName プロパティ) と同じリージョンに作成されます。 storage アカウント mustは、汎用の標準Azure Storage アカウントです。

オンデマンド HDInsight のリンクされたサービスに関する次の 重要な 点に注意してください。

  • オンデマンド HDInsight クラスターは、Azure サブスクリプションの下に作成されます。 クラスターが稼働しているときに、Azure portal内のクラスターを確認できます。
  • オンデマンド HDInsight クラスターで実行されるジョブのログは、HDInsight クラスターに関連付けられているstorage アカウントにコピーされます。 リンクされたサービス定義で定義されている ClusterUserName、clusterPassword、clusterSshUserName、clusterSshPassword は、クラスターのライフサイクル中に詳細なトラブルシューティングのためにクラスターにログインするときに使用されます。
  • HDInsight クラスターが稼動し、ジョブを実行している時間に対してのみ課金されます。
  • Azure HDInsight オンデマンドのリンクされたサービスでは、Script アクションを使用できます。

Important

通常、Azure HDInsight クラスターをオンデマンドでプロビジョニングするには>20 分

サービス プリンシパル キーの使用例

次の 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": "<tenant id>",
      "clusterResourceGroup": "<resource group name>",
      "clusterResourceGroupAuthType": "ServicePrincipalKey",
      "version": "3.6",
      "osType": "Linux",
      "linkedServiceName": {
        "referenceName": "AzureStorageLinkedService",
        "type": "LinkedServiceReference"
      }
    },
    "connectVia": {
      "referenceName": "<name of Integration Runtime>",
      "type": "IntegrationRuntimeReference"
    }
  }
}

システム割り当てマネージド ID の使用例

次の JSON は、Linux ベースのオンデマンド HDInsight のリンクされたサービスを定義します。 サービスは、必要なアクティビティを処理する Linux ベース の HDInsight クラスターを自動的に作成します。

{
  "name": "HDInsightOnDemandLinkedService",
  "properties": {
    "type": "HDInsightOnDemand",
    "typeProperties": {
      "clusterType": "hadoop",
      "clusterSize": 1,
      "timeToLive": "00:15:00",
      "hostSubscriptionId": "<subscription ID>",
      "clusterResourceGroup": "<resource group name>",
      "clusterResourceGroupAuthType": "SystemAssignedManagedIdentity",
      "version": "3.6",
      "osType": "Linux",
      "linkedServiceName": {
        "referenceName": "AzureStorageLinkedService",
        "type": "LinkedServiceReference"
      }
    },
    "connectVia": {
      "referenceName": "<name of Integration Runtime>",
      "type": "IntegrationRuntimeReference"
    }
  }
}

ユーザー割り当てマネージド ID の使用例

次の JSON は、Linux ベースのオンデマンド HDInsight のリンクされたサービスを定義します。 サービスは、必要なアクティビティを処理する Linux ベース の HDInsight クラスターを自動的に作成します。

{
  "name": "HDInsightOnDemandLinkedService",
  "properties": {
    "type": "HDInsightOnDemand",
    "typeProperties": {
      "clusterType": "hadoop",
      "clusterSize": 1,
      "timeToLive": "00:15:00",
      "hostSubscriptionId": "<subscription ID>",
      "clusterResourceGroup": "<resource group name>",
      "clusterResourceGroupAuthType": "UserAssignedManagedIdentity",
      "credential": {
            "referenceName": "CredentialName",
            "type": "CredentialReference"
       },
      "version": "3.6",
      "osType": "Linux",
      "linkedServiceName": {
        "referenceName": "AzureStorageLinkedService",
        "type": "LinkedServiceReference"
      }
    },
    "connectVia": {
      "referenceName": "<name of Integration Runtime>",
      "type": "IntegrationRuntimeReference"
    }
  }
}

Important

HDInsight クラスターは、JSON (linkedServiceName) で指定したblob storageに既定のコンテナーを作成します。 クラスターを削除しても、HDInsight はこのコンテナーを削除しません。 この動作は仕様です。 オンデマンド HDInsight のリンクされたサービスでは、既存のライブ クラスター (timeToLive) がない限り、スライスを処理する必要があるたびに HDInsight クラスターが作成され、処理が完了すると削除されます。

より多くのアクティビティが実行されると、Azure blob storageに多数のコンテナーが表示されます。 ジョブのトラブルシューティングに必要ない場合は、それらを削除してストレージコストを削減できます。 これらのコンテナーの名前は、adf**yourfactoryorworkspacename**-**linkedservicename**-datetimestamp 形式になります。 Microsoft Azure Storage Explorer などのツールを使用して、Azure blob storage内のコンテナーを削除します。

プロパティ

Property Description Required
type プロパティは HDInsightOnDemand に設定する必要があります。 Yes
clusterSize クラスター内の worker/データ ノードの数です。 このプロパティで指定した worker ノード数と共に 2 つのヘッド ノードを使用して HDInsight クラスターが作成されます。 ノードのサイズは Standard_D3 (4 コア) であるため、4 worker ノード クラスターのコアは 24 個になります (worker ノード用に 4*4 = 16 個のコアと、ヘッド ノード用に 2*4 = 8 個のコア)。 詳細については、Hadoop、Spark、Kafka などの HDInsight クラスターのセットアップに関する記事を参照してください。 Yes
linkedServiceName Azure Storageデータの格納と処理にオンデマンド クラスターによって使用されるリンクされたサービスです。 HDInsight クラスターは、このAzure Storage アカウントと同じリージョンに作成されます。 AZURE HDInsight では、サポートされている各Azureリージョンで使用できるコアの合計数に制限があります。 そのAzureリージョンに、必要な clusterSize を満たすのに十分なコア クォータがあることを確認します。 詳細については、Hadoop、Spark、Kafka などの HDInsight クラスターのセットアップに関する記事を参照してください

現時点では、storageとしてAzure Data Lake Storage (Gen 2) を使用するオンデマンド HDInsight クラスターを作成することはできません。 HDInsight 処理の結果データを Azure Data Lake Storage (Gen 2) に格納する場合は、Copy Activityを使用してAzure Blob StorageからAzure Data Lake Storage (Gen 2) にデータをコピーします。

Yes
clusterResourceGroup HDInsight クラスターは、このリソース グループに作成されます。 Yes
clusterResourceGroupAuthType HDInsight オンデマンド クラスター リソース グループ認証の種類を指定します。 サポートされている認証の種類は、"ServicePrincipalKey"、"SystemAssignedManagedIdentity"、"UserAssignedManagedIdentity" です。 マネージド ID 認証を使用するために必要です。 フィールドが存在しない場合、既定では ServicePrincipalKey になります
資格情報 リソース グループへのアクセス権を持つマネージド ID オブジェクトを含む資格情報参照を指定します。 "UserAssignedManagedIdentity" 認証にのみ必要です。
timetolive オンデマンド HDInsight クラスターに許可されるアイドル時間です。 他のアクティブなジョブがクラスターにない場合、アクティビティ実行の完了後にオンデマンド HDInsight クラスターが起動状態を維持する時間を指定します。 最小許容値は 5 分 (00:05:00) です。

たとえば、アクティビティ実行に 6 分かかるときに timetolive が 5 分に設定されている場合、アクティビティ実行の 6 分間の処理の後、クラスターが起動状態を 5 分間維持します。 別のアクティビティ実行が 6 分の時間枠で実行される場合、それは同じクラスターで処理されます。

オンデマンド HDInsight クラスターの作成はコストが高い (時間がかかる可能性がある) 操作であるためため、オンデマンド HDInsight クラスターを再利用し、サービスのパフォーマンスを向上させるために、必要に応じてこの設定を使用します。

timetolive 値を 0 に設定した場合、アクティビティ実行の完了直後にクラスターが削除されます。 ただし、高い値を設定した場合、クラスターは、何らかのトラブルシューティングの目的でログオンできるようにアイドル状態を維持できますが、その結果コストが高くなる可能性があります。 そのため、ニーズに合わせて適切な値を設定することが重要です。

timetolive プロパティ値が適切に設定されている場合、複数のpipelinesがオンデマンド HDInsight クラスターのインスタンスを共有できます。
Yes
clusterType 作成する HDInsight クラスターの種類。 許可される値は "hadoop" および "spark" です。 指定しない場合は、既定値の hadoop が使用されます。 エンタープライズ セキュリティ パッケージ対応クラスターをオンデマンドで作成することはできません。代わりに、既存のクラスターを使用して独自のコンピューティングを使用 No
バージョン HDInsight クラスターのバージョン。 指定しない場合、現在の HDInsight 定義の既定バージョンを使用します。 No
hostSubscriptionId HDInsight クラスターの作成に使用するAzure サブスクリプション ID。 指定しない場合は、Azureログイン コンテキストのサブスクリプション ID が使用されます。 No
clusterNamePrefix HDI クラスター名のプレフィックス (クラスター名の末尾にタイムスタンプが自動的に追加されます) No
sparkVersion クラスターの種類が "Spark" の場合の Spark のバージョンです No
additionalLinkedServiceNames HDInsight のリンクされたサービスの追加のstorage アカウントを指定して、サービスがユーザーに代わって登録できるようにします。 これらのstorage アカウントは、linkedServiceName で指定されたstorage アカウントと同じリージョンに作成される HDInsight クラスターと同じリージョンに存在する必要があります。 No
osType オペレーティング システムの種類。 使用可能な値: Linux と Windows (HDInsight 3.3 の場合のみ)。 既定値は Linux です。 No
hcatalogLinkedServiceName Azure SQL が HCatalog データベースを指すリンクされたサービスの名前。 オンデマンド HDInsight クラスターは、Azure SQL Databaseをメタストアとして使用して作成されます。 No
connectVia この HDInsight のリンクされたサービスにアクティビティをディスパッチするために使用するIntegration Runtime。 オンデマンド HDInsight のリンクされたサービスでは、Azure Integration Runtimeのみがサポートされます。 指定しない場合は、既定のAzure Integration Runtimeが使用されます。 No
clusterUserName クラスターにアクセスするためのユーザー名。 No
clusterPassword クラスターをaccessするためのセキュリティで保護された文字列の種類のパスワード。 No
clusterSshUserName クラスターのノードにリモートで接続する SSH のユーザー名 (Linux の場合)。 No
clusterSshPassword クラスターのノードにリモートで接続する SSH のセキュリティで保護された文字列の種類のパスワード (Linux の場合)。 No
scriptActions オンデマンド クラスター作成中に HDInsight クラスターのカスタマイズのスクリプトを指定します。
現在、UI 作成ツールは 1 つのスクリプト操作のみの指定をサポートしていますが、JSON でこの制限に対応できます (JSON で複数のスクリプト操作を指定できます)。
No

Important

HDInsight は、デプロイできる Hadoop クラスター バージョンを複数サポートしています。 各バージョンを選択すると、特定のバージョンの Hortonworks Data Platform (HDP) ディストリビューションと、そのディストリビューションに含まれるコンポーネントが作成されます。 HDInsight のサポートされるバージョンの一覧を常に更新して、最新の Hadoop エコシステム コンポーネントと修正プログラムを提供しています。 HDInsight のサポートされているバージョンを確実に使用するために、HDInsight のサポートされているバージョンと OS の種類に関する最新情報を常に参照してください。

Important

現在、HDInsight のリンクされたサービスでは、HBase、Interactive Query (Hive LLAP)、Storm はサポートされていません。

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

Authentication

サービス プリンシパルの認証

オンデマンドの HDInsight リンク サービスでは、ユーザーに代わって HDInsight クラスターを作成するためにサービス プリンシパル認証が必要になります。 サービス プリンシパル認証を使用するには、Microsoft Entra IDにアプリケーション エンティティを登録し、サブスクリプションまたは HDInsight クラスターが作成されるリソース グループの Contributor ロールを付与します。 詳細な手順については、「リソースをaccessできる Microsoft Entra アプリケーションとサービス プリンシパルを作成するポータルを使用するを参照してください。 次の値を記録しておきます。リンクされたサービスを定義するときに使います。

  • アプリケーション識別子
  • アプリケーション キー
  • テナント ID

次のプロパティを指定して、サービス プリンシパル認証を使います。

Property Description Required
servicePrincipalId アプリケーションのクライアント ID を取得します。 Yes
servicePrincipalKey アプリケーションのキーを取得します。 Yes
tenant アプリケーションが存在するテナントの情報 (ドメイン名またはテナント ID) を指定します。 Azure portalの右上隅にマウスを置くと取得できます。 Yes

マネージド ID 認証

AZURE HDInsight オンデマンドのリンクされたサービスにマネージド ID 認証を使用する場合は、マネージド ID オブジェクトにリソース グループへの共同作成者ロールaccessがあることを確認します。

ADLS Gen2 プライマリ storage アカウントでは、既存のキーベースの認証に加えて、ユーザー割り当てマネージド ID (UAMI) ベースの認証がサポートされるようになりました。 UAMI には、プライマリ ストレージ アカウントのストレージ BLOB データ所有者の権限が必要です。

制限事項:

  • ADLS Gen2 プライマリ storage アカウントと UAMI は、オンデマンド HDInsight クラスターの作成に使用されるリソース グループと同じリソース グループに存在する必要があります。
  • Data Factory の UAMI の資格情報オブジェクト名は、UAMI 名と完全に一致している必要があります。

詳細については、「Azure HDInsight の作成 - Azure Data Lake Storage Gen2 - ポータル」および「Azure HDInsight の管理対象 ID」を参照してください

詳細プロパティ

次のプロパティを指定し、オンデマンド HDInsight クラスターを詳細に設定することもできます。

Property Description Required
coreConfiguration 作成する HDInsight クラスターに core 構成パラメーター (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": "<tenant 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 ノードのサイズを指定できます。

Property Description Required
headNodeSize ヘッド ノードのサイズを指定します。 既定値は Standard_D3 です。 詳細については、「ノードのサイズの指定」をご覧ください。 No
dataNodeSize データ ノードのサイズを指定します。 既定値は Standard_D3 です。 No
zookeeperNodeSize Zookeeper ノードのサイズを指定します。 既定値は Standard_D3 です。 No
  • ノード サイズの指定 前のセクションで説明したプロパティに指定する必要がある文字列値についてはsizes of Virtual Machinesの記事を参照してください。 値は、この記事に記載されているコマンドレットと API に準拠する必要があります。 この記事に示すように、Large (既定値) サイズのデータ ノードのメモリ容量は 7 GB ですが、シナリオによってはこれでは不十分な場合があります。

D4 サイズのヘッド ノードとワーカー ノードを作成する場合は、headNodeSize プロパティと dataNodeSize プロパティの値として Standard_D4 を指定します。

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

これらのプロパティに間違った値を指定すると、次のエラーが表示される可能性があります : クラスターの作成に失敗しました。 例外: クラスター作成操作を完了できません。 コード '400' で操作が失敗しました。 取り残されたクラスターの状態: 'Error'。 メッセージ: 'PreClusterCreationValidationFailure'。 このエラーが発生した場合は、Sizes of Virtual Machines に関する記事の表から、必ずCMDLETとAPIsの名前を使用していることを確認してください。

Bring Your Own のコンピューティング環境

この種類の構成では、既存のコンピューティング環境をリンク サービスとして登録できます。 このコンピューティング環境はユーザーにより管理され、サービスではこれを使用してアクティビティを実行します。

この種類の構成は次のコンピューティング環境でサポートされています。

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

Azure HDInsight のリンクサービス

Azure HDInsight のリンクされたサービスを作成して、独自の HDInsight クラスターをデータ ファクトリまたは Synapse ワークスペースに登録できます。

基本認証の使用例

{
    "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"
      }
    }
  }

システム割り当てマネージド ID の使用例

{
    "name": "HDInsightLinkedService",
    "properties": {
      "type": "HDInsight",
      "typeProperties": {
        "clusterUri": " https://<hdinsightclustername>.azurehdinsight.net/",
        "clusterAuthType": "SystemAssignedManagedIdentity",
        "linkedServiceName": {
              "referenceName": "AzureStorageLinkedService",
              "type": "LinkedServiceReference"
        }
      },
      "connectVia": {
        "referenceName": "<name of Integration Runtime>",
        "type": "IntegrationRuntimeReference"
      }
    }
  }

ユーザー割り当てマネージド ID の使用例

{
    "name": "HDInsightLinkedService",
    "properties": {
      "type": "HDInsight",
      "typeProperties": {
        "clusterUri": " https://<hdinsightclustername>.azurehdinsight.net/",
         "clusterAuthType": "UserAssignedManagedIdentity",
         "credential": {
                "referenceName": "CredentialName",
                "type": "CredentialReference"
            },
        "linkedServiceName": {
              "referenceName": "AzureStorageLinkedService",
              "type": "LinkedServiceReference"
        }
      },
      "connectVia": {
        "referenceName": "<name of Integration Runtime>",
        "type": "IntegrationRuntimeReference"
      }
    }
  }

プロパティ

Property Description Required
type プロパティは HDInsight に設定する必要があります。 Yes
clusterUri HDInsight クラスターの URI です。 Yes
ユーザー名 既存の HDInsight クラスターに接続するために使用されるユーザーの名前を指定します。 Yes
パスワード ユーザー アカウントのパスワードを指定します。 Yes
linkedServiceName HDInsight クラスターで使用される Azure Blob Storage を参照するリンクされた Azure Storage サービスの名前。

現時点では、このプロパティにAzure Data Lake Storage (Gen 2) のリンクされたサービスを指定することはできません。 HDInsight クラスターが Data Lake Store にaccessしている場合は、Hive/Pig スクリプトから Azure Data Lake Storage (Gen 2) 内のデータをaccessできます。

Yes
isEspEnabled HDInsight クラスターが Enterprise セキュリティ パッケージが有効になっている場合は、'true' を指定します。 既定値は 'false' です。 No
connectVia このリンクされたサービスにアクティビティをディスパッチするために使用するインテグレーションランタイム。 Azure Integration Runtimeまたはセルフホステッド Integration Runtimeを使用できます。 指定しない場合は、既定のAzure Integration Runtimeが使用されます。
Enterprise Security Package (ESP) が有効な HDInsight クラスターの場合は、セルフホステッド integration runtimeを使用します。このintegration runtimeは、クラスターへの通信経路を持っているか、ESP HDInsight クラスターと同じVirtual Network内にデプロイする必要があります。
No
clusterAuthType HDInsight クラスター認証の種類を指定します。 サポートされている認証の種類は、"BasicAuth"、"SystemAssignedManagedIdentity"、"UserAssignedManagedIdentity" です。 マネージド ID 認証を使用するために必要です。フィールドが存在しない場合、既定では BasicAuth になります
資格情報 HDInsight クラスターのマネージド ID オブジェクト情報を含む資格情報参照を指定します。 "UserAssignedManagedIdentity" 認証にのみ必要です

Authentication

ADLS Gen2 のAzure Storageリンクされたサービスでは、既存の認証方法に加えて、システム割り当てマネージド ID とユーザー割り当てマネージド ID がサポートされるようになりました。 このサポートは、Azure Integration Runtime (Azure IR) を使用する場合に既定で使用でき、バージョン 5.55.9306.2 以降のセルフホステッド Integration Runtime (SHIR) でサポートされます。 Azure Blob Storageの場合、Azure Storageリンクされたサービスは引き続きアカウント キー認証のみをサポートします。 クラスター マネージド ID 認証は、Azure IR を使用するときに既定で使用できるようになりました。バージョン 5.58 以降の SHIR でサポートされています。 クラスターを作成する場合、クラスターごとに使用できる認証方法は 1 つだけです。 マネージド ID を使用したクラスターの作成と管理の詳細については、「 Entra ID 認証を使用して HDInsight クラスター Azure作成および管理する

Important

HDInsight は、デプロイできる Hadoop クラスター バージョンを複数サポートしています。 各バージョンを選択すると、特定のバージョンの Hortonworks Data Platform (HDP) ディストリビューションと、そのディストリビューションに含まれるコンポーネントが作成されます。 HDInsight のサポートされるバージョンの一覧を常に更新して、最新の Hadoop エコシステム コンポーネントと修正プログラムを提供しています。 HDInsight のサポートされているバージョンを確実に使用するために、HDInsight のサポートされているバージョンと OS の種類に関する最新情報を常に参照してください。

Important

現在、HDInsight のリンクされたサービスでは、HBase、Interactive Query (Hive LLAP)、Storm はサポートされていません。

Azure Batch リンクされたサービス

Note

Azure Az PowerShell モジュールを使用してAzureを操作することをお勧めします。 始めるには、「Install Azure PowerShell」を参照してください。 Az PowerShell モジュールに移行する方法については、「AzRM から Azを参照してください。

Azure Batch のリンクされたサービスを作成して、仮想マシン (VM) の Batch プールをデータまたは Synapse ワークスペースに登録できます。 Azure Batchを使用してカスタム アクティビティを実行できます。

Azure Batch サービスを初めて使用する場合は、次の記事を参照してください。

Important

新しいAzure Batch プールを作成するときは、'CloudServiceConfiguration' ではなく、'VirtualMachineConfiguration' を使用する必要があります。

Example

{
    "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"
      }
    }
  }

プロパティ

Property Description Required
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 Storageリンクサービスの名前。 この「リンクされたサービス」はアクティビティの実行に必要なファイルのステージングに利用されます。 Yes
connectVia このリンクされたサービスにアクティビティをディスパッチするために使用するIntegration Runtime。 Azure Integration Runtimeまたはセルフホステッド Integration Runtimeを使用できます。 指定しない場合は、既定のAzure Integration Runtimeが使用されます。 No

Machine Learning Studio (クラシック) のリンクされたサービス

Important

Azure Machine Learning Studio (クラシック) のサポートは、2024 年 8 月 31 日に終了します。 その日付までに Azure Machine Learning に移行することをお勧めします。

2021 年 12 月 1 日の時点で、新しい Machine Learning Studio (クラシック) リソース (ワークスペースと Web サービス プラン) を作成することはできません。 2024 年 8 月 31 日まで、既存の Machine Learning Studio (クラシック) 実験と Web サービスを引き続き使用できます。 詳細については、次を参照してください。

Machine Learning Studio (クラシック) のドキュメントは廃止され、今後更新されない可能性があります。

Machine Learning Studio (クラシック) のリンクされたサービスを作成して、Machine Learning Studio (クラシック) バッチ スコアリング エンドポイントをデータ ファクトリまたは Synapse ワークスペースに登録します。

Example

{
    "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"
      }
    }
}

プロパティ

Property Description Required
タイプ type プロパティは 、AzureML に設定する必要があります。 Yes
mlEndpoint バッチ スコアリング URL です。 Yes
apiKey 公開されたワークスペース モデルの API です。 Yes
updateResourceEndpoint トレーニング済みモデル ファイルを使用した予測 Web サービスの更新に使用される ML Studio (クラシック) Web サービス エンドポイントの更新リソース URL です No
servicePrincipalId アプリケーションのクライアント ID を取得します。 UpdateResourceEndpoint が指定されている場合は必須です
servicePrincipalKey アプリケーションのキーを取得します。 UpdateResourceEndpoint が指定されている場合は必須です
テナント アプリケーションが存在するテナントの情報 (ドメイン名またはテナント ID) を指定します。 Azure portalの右上隅にマウスを置くと取得できます。 UpdateResourceEndpoint が指定されている場合は必須です
connectVia このリンクされたサービスにアクティビティをディスパッチするために使用するIntegration Runtime。 Azure Integration Runtimeまたはセルフホステッド Integration Runtimeを使用できます。 指定しない場合は、既定のAzure Integration Runtimeが使用されます。 No

リンクされたサービスAzure Machine Learning

Azure Machine Learningリンクされたサービスを作成して、Azure Machine Learning ワークスペースをデータ ファクトリまたは Synapse ワークスペースに接続します。

Note

現在、Azure Machine Learningのリンクされたサービスでは、サービス プリンシパル認証のみがサポートされています。

Example

{
    "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"
        }
    }
}

プロパティ

Property Description Required
タイプ type プロパティは 、AzureMLService に設定する必要があります。 Yes
subscriptionId Azure サブスクリプション ID Yes
resourceGroupName name Yes
mlWorkspaceName Azure Machine Learning ワークスペースの名前 Yes
servicePrincipalId アプリケーションのクライアント ID を取得します。 Yes
servicePrincipalKey アプリケーションのキーを取得します。 Yes
テナント アプリケーションが存在するテナントの情報 (ドメイン名またはテナント ID) を指定します。 Azure portalの右上隅にマウスを置くと取得できます。 UpdateResourceEndpoint が指定されている場合は必須です
connectVia このリンクされたサービスにアクティビティをディスパッチするために使用するインテグレーション ランタイム。 Azure Integration Runtimeまたはセルフホステッド Integration Runtimeを使用できます。 指定しない場合は、既定のAzure Integration Runtimeが使用されます。 No

リンクされたサービスAzure Data Lake Analytics

Azure Data Lake Analyticsリンクされたサービスを作成して、Azure Data Lake Analyticsコンピューティング サービスをデータ ファクトリまたは Synapse ワークスペースにリンクします。 パイプラインの Data Lake Analytics U-SQL アクティビティは、このリンクされたサービスを参照します。

Example

{
    "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"
        }
    }
}

プロパティ

Property Description Required
type プロパティは 、AzureDataLakeAnalytics に設定する必要があります。 Yes
accountName Azure Data Lake Analyticsアカウント名。 Yes
dataLakeAnalyticsUri Azure Data Lake Analytics の URI。 No
subscriptionId Azure サブスクリプション ID No
resourceGroupName Azure リソース グループ名 No
servicePrincipalId アプリケーションのクライアント ID を取得します。 Yes
servicePrincipalKey アプリケーションのキーを取得します。 Yes
テナント アプリケーションが存在するテナントの情報 (ドメイン名またはテナント ID) を指定します。 Azure portalの右上隅にマウスを置くと取得できます。 Yes
connectVia このリンクされたサービスにアクティビティをディスパッチするために使用するのは、Integration Runtimeです。 Azure Integration Runtimeまたはセルフホステッド Integration Runtimeを使用できます。 指定しない場合は、既定のAzure Integration Runtimeが使用されます。 No

Azure Databricks リンクされたサービス

Azure Databricks のリンクされたサービスを作成して、Databricks ワークロード (ノートブック、jar、python) の実行に使用する Databricks ワークスペースを登録できます。

Important

Databricks のリンクされたサービスでは、 インスタンス プール とシステム割り当てマネージド ID 認証がサポートされます。

例 - 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": "YourAccessToken"
            }
        }
    }
}

例 - Databricks で対話型の既存クラスターの使用

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

プロパティ

Property Description Required
name リンクされたサービスの名前 Yes
type プロパティは、Azure Databricks に設定する必要があります。 Yes
ドメイン それに応じて、Databricks ワークスペースのリージョンに基づいてAzureリージョンを指定します。 例: https://eastus.azuredatabricks.net Yes
accessToken サービスが Azure Databricks に対して認証を行うには、Access トークンが必要です。 Accessトークンは、databricks ワークスペースから生成する必要があります。 access トークンを取得するための詳細な手順については、ここを参照してください。 No
MSI サービスのマネージド ID (システム割り当て) を使用して、Azure Databricks に対する認証を行います。 'MSI' 認証を使用する場合、Access トークンは必要ありません。 マネージド ID 認証の詳細については、こちら No
existingClusterId このすべてのジョブを実行する既存のクラスターのクラスター ID。 これは作成済みの対話型クラスターでなければなりません。 応答が停止した場合は、クラスターの手動再起動が必要になることがあります。 Databricks では、信頼性を高めるために新しいクラスターでジョブを実行することをお勧めします。 対話型クラスターのクラスター ID は Databricks ワークスペース -> クラスター -> 対話型クラスター名 -> 構成 -> タグで見つけることができます。 [詳細] No
instancePoolId Databricks ワークスペース内の既存のプールのインスタンス プール ID。 No
newClusterVersion クラスターの Spark バージョン。 Databricks にジョブ クラスターを作成します。 No
newClusterNumOfWorker このクラスターに属する worker ノードの数。 1 つのクラスターには 1 つの Spark ドライバーと num_workers Executor、全体では num_workers + 1 Spark ノードになります。 文字列は Int32 で設定されます。たとえば、"1" は、numOfWorker が 1 であること、"1:10" は、最小が 1 で最大が 10 の自動スケーリングを意味します。 No
newClusterNodeType このフィールドは、単一の値を通じて使用されるリソースをこのクラスターのそれぞれの Spark ノードにエンコードします。 たとえば、Spark ノードはメモリまたはコンピューティング集約型ワークロード用にプロビジョニングされ、最適化されます。 このフィールドは、新しいクラスターに必須です。 No
newClusterSparkConf 省略可能なユーザー指定の Spark 構成キーと値のペアのセット。 ユーザーは、余分な JVM オプションの文字列をドライバーと Executor にそれぞれ 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 Connector に関する記事を参照してください。

SQL Server のリンク サービス

SQL Serverリンクされたサービスを作成し、 ストアド プロシージャ アクティビティと共に使用して、パイプラインからストアド プロシージャを呼び出します。 このリンクされたサービスの詳細については、SQL Server コネクタに関する記事を参照してください。

Azure Synapse Analytics (Artifacts) のリンクされたサービス

Azure Synapse Analytics (Artifacts) のリンクされたサービスを作成し、Synapse Notebook Activity および Synapse Spark ジョブ定義アクティビティで使用します。

Example

{
    "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": "IntegrationRuntimeReference"
        }
    }
}

プロパティ

Property Description Required
name リンクされたサービスの名前 Yes
description リンク サービスの説明 No
annotations リンク サービスの注釈 No
type プロパティは AzureSynapseArtifacts に設定する必要があります Yes
エンドポイント Azure Synapse Analytics のURL Yes
認証 既定の設定はシステム割り当てマネージド ID です Yes
workspaceResourceId ワークスペースのリソース ID Yes
connectVia データ ストアに接続するために使用する統合ランタイム。 Azure Integration Runtimeを使用できます。 指定しない場合は、既定のAzure Integration Runtimeが使用されます。 セルフホステッドインテグレーションランタイムは現在サポートされていません。 Yes

Azure関数のリンクされたサービス

Azure関数のリンクされたサービスを作成し、Azure Function アクティビティと共に使用して、パイプラインでAzure Functionsを実行します。 Azure関数の戻り値の型は、有効なJObjectである必要があります。 JArrayないであることに注意してください。ただし、以外の戻り値の型はエラーになり、ユーザーエラーとして「レスポンスコンテンツが有効な JObject ではありません」が発生します。

Property Description Required
type プロパティは次のように設定する必要があります: AzureFunction yes
関数アプリの URL Azure Function App の URL。 形式は https://<accountname>.azurewebsites.net です。 この URL は、Azure ポータルで Function App を表示するときの URL セクションの値です。 yes
関数キー Azure Functionsのアクセス キー。 それぞれの関数の [管理 ] セクションをクリックし、 関数キー または ホスト キーをコピーします。 詳細については、以下をご覧ください。access キーを使用した作業 yes

サポートされている変換アクティビティの一覧については、「データの 変換」を参照してください。