Azure Data Factory と Data Factory バージョン 1 の比較Compare Azure Data Factory with Data Factory version 1

この記事では、Data Factory と Azure Data Factory バージョン 1 を比較します。This article compares Data Factory with Data Factory version 1. Data Factory の概要については、Data Factory の概要に関するページを参照してください。Data Factory バージョン 1 の概要については、「Azure Data Factory の概要」を参照してください。For an introduction to Data Factory, see Introduction to Data Factory.For an introduction to Data Factory version 1, see Introduction to Azure Data Factory.

機能の比較Feature comparison

次の表では、Data Factory の機能と Data Factory バージョン 1 の機能を比較します。The following table compares the features of Data Factory with the features of Data Factory version 1.

機能Feature Version 1Version 1 現在のバージョンCurrent version
データセットDatasets アクティビティで入力および出力として使用するデータを参照するデータの名前付きビューです。A named view of data that references the data that you want to use in your activities as inputs and outputs. データセットは、テーブル、ファイル、フォルダー、ドキュメントなど、さまざまなデータ ストア内のデータを示します。Datasets identify data within different data stores, such as tables, files, folders, and documents. たとえば、Azure Blob データセットは、アクティビティによってデータが読み取られる、Azure Blob Storage 内の BLOB コンテナーと BLOB フォルダーを示しています。For example, an Azure Blob dataset specifies the blob container and folder in Azure Blob storage from which the activity should read the data.

可用性で、データセットの処理時間枠スライス モデル (時間単位、日単位など) を定義します。Availability defines the processing window slicing model for the dataset (for example, hourly, daily, and so on).
データセットは、現在のバージョンと同じです。Datasets are the same in the current version. ただし、データセットの可用性スケジュールを定義する必要はありません。However, you do not need to define availability schedules for datasets. クロック スケジューラ パラダイムからパイプラインをスケジュールできるトリガー リソースを定義できます。You can define a trigger resource that can schedule pipelines from a clock scheduler paradigm. 詳細については、「トリガー」とデータセットに関するページを参照してください。For more information, see Triggers and Datasets.
リンクされたサービスLinked services リンクされたサービスは、接続文字列によく似ており、Data Factory が外部リソースに接続するために必要な接続情報を定義します。Linked services are much like connection strings, which define the connection information that's necessary for Data Factory to connect to external resources. リンクされたサービスは Data Factory V1 と同じですが、現在のバージョン の Data Factory の Integration Runtime コンピューティング環境を利用するための新しい connectVia プロパティがあります。Linked services are the same as in Data Factory V1, but with a new connectVia property to utilize the Integration Runtime compute environment of the current version of Data Factory. 詳細については、Azure Data Factory の統合ランタイムに関するページと、Azure Blob Storage のリンクされたサービスのプロパティに関するページを参照してください。For more information, see Integration runtime in Azure Data Factory and Linked service properties for Azure Blob storage.
パイプラインPipelines データ ファクトリは、1 つまたは複数のパイプラインを持つことができます。A data factory can have one or more pipelines. パイプラインは、1 つのタスクを連携して実行するアクティビティの論理的なグループです。A pipeline is a logical grouping of activities that together perform a task. パイプラインをスケジュールして実行するには、startTime、endTime、isPaused を使用します。You use startTime, endTime, and isPaused to schedule and run pipelines. パイプラインは、データに対して実行されるアクティビティのグループです。Pipelines are groups of activities that are performed on data. ただし、パイプライン内のアクティビティのスケジュールは、新しいトリガー リソースに分割されています。However, the scheduling of activities in the pipeline has been separated into new trigger resources. 現在のバージョンの Data Factory のパイプラインは、むしろ、トリガーを介して個別にスケジュールされる "ワークフロー単位" として考えることができます。You can think of pipelines in the current version of Data Factory more as “workflow units” that you schedule separately via triggers.

現在のバージョンの Data Factory では、パイプラインに実行時間の "枠" がありません。Pipelines do not have “windows” of time execution in the current version of Data Factory. Data Factory V1 の概念である startTime、endTime、isPaused は、現在のバージョンの Data Factory にはなくなりました。The Data Factory V1 concepts of startTime, endTime, and isPaused are no longer present in the current version of Data Factory. 詳細については、パイプラインの実行とトリガーに関するページと、パイプラインとアクティビティに関するページを参照してください。For more information, see Pipeline execution and triggers and Pipelines and activities.
アクティビティActivities アクティビティは、パイプライン内のデータに対して実行するアクションを定義します。Activities define actions to perform on your data within a pipeline. データ移動 (コピー アクティビティ) およびデータ変換アクティビティ (Hive、Pig、MapReduce など) がサポートされています。Data movement (copy activity) and data transformation activities (such as Hive, Pig, and MapReduce) are supported. 現在のバージョンの Data Factory では、アクティビティは引き続き、パイプライン内に定義されたアクションです。現在のバージョンの Data Factory では、制御フロー アクティビティが新たに導入されています。In the current version of Data Factory, activities still are defined actions within a pipelineThe current version of Data Factory introduces new control flow activities. これらのアクティビティは、制御フロー (ループおよび分岐) で使用します。You use these activities in a control flow (looping and branching). V1 でサポートされていたデータ移動およびデータ変換アクティビティは、現在のバージョンでもサポートされています。Data movement and data transformation activities that were supported in V1 are supported in the current version. 現在のバージョンでは、データセットを使用せずに変換アクティビティを定義できます。You can define transformation activities without using datasets in the current version.
ハイブリッド データ移動とアクティビティのディスパッチHybrid data movement and activity dispatch Data Management Gateway (現在は Integration Runtime と呼ばれます) は、オンプレミスとクラウドの間のデータ移動をサポートしていました。Now called Integration Runtime, Data Management Gateway supported moving data between on-premises and cloud. Data Management Gateway は、セルフホステッド Integration Runtime と呼ばれるようになりました。Data Management Gateway is now called Self-Hosted Integration Runtime. 機能は V1 と同じです。It provides the same capability as it did in V1.

現在のバージョンの Data Factory の Azure-SSIS Integration Runtime では、クラウドでの SQL Server Integration Services (SSIS) パッケージのデプロイと実行もサポートされています。The Azure-SSIS Integration Runtime in the current version of Data Factory also supports deploying and running SQL Server Integration Services (SSIS) packages in the cloud. 詳細については、「Azure Data Factory の統合ランタイム」を参照してください。For more information, see Integration runtime in Azure Data Factory.
parametersParameters 該当なしNA パラメーターは、パイプラインで定義されている、読み取り専用構成設定のキーと値のペアです。Parameters are key-value pairs of read-only configuration settings that are defined in pipelines. パイプラインを手動で実行するときは、パラメーターの引数を渡すことができます。You can pass arguments for the parameters when you are manually running the pipeline. スケジューラ トリガーを使用している場合は、トリガーでパラメーターの値を渡すこともできます。If you are using a scheduler trigger, the trigger can pass values for the parameters too. パイプライン内のアクティビティは、パラメーターの値を使用します。Activities within the pipeline consume the parameter values.
Expressions Data Factory V1 では、データ選択クエリやアクティビティ/データセットのプロパティに関数やシステム変数を使用できます。Data Factory V1 allows you to use functions and system variables in data selection queries and activity/dataset properties. 現在のバージョンの Data Factory では、JSON 文字列値の任意の場所で式を使用できます。In the current version of Data Factory, you can use expressions anywhere in a JSON string value. 詳細については、現在のバージョンの Data Factory の式と関数に関するページを参照してください。For more information, see Expressions and functions in the current version of Data Factory.
パイプライン実行Pipeline runs 該当なしNA パイプライン実行の単一のインスタンスです。A single instance of a pipeline execution. たとえば、午前 8 時、午前 9 時、午前 10 時に実行するパイプラインがあるとします。For example, say you have a pipeline that executes at 8 AM, 9 AM, and 10 AM. ここでは、パイプラインの 3 つの独立した実行 (パイプライン実行) があることになります。There would be three separate runs of the pipeline (pipeline runs) in this case. 各パイプライン実行には、一意のパイプライン実行 ID があります。Each pipeline run has a unique pipeline run ID. それぞれが特定のパイプライン実行を一意に定義する GUID です。The pipeline run ID is a GUID that uniquely defines that particular pipeline run. パイプライン実行は、通常、パイプラインで定義されたパラメーターに引数を渡してインスタンス化されます。Pipeline runs are typically instantiated by passing arguments to parameters that are defined in the pipelines.
アクティビティの実行Activity runs 該当なしNA パイプライン内のアクティビティ実行のインスタンス。An instance of an activity execution within a pipeline.
トリガーの実行Trigger runs 該当なしNA トリガー実行のインスタンス。An instance of a trigger execution. 詳細については、トリガーに関するページを参照してください。For more information, see Triggers.
スケジュール設定Scheduling スケジュール設定は、パイプラインの開始/終了時間、およびデータセットの可用性に基づきます。Scheduling is based on pipeline start/end times and dataset availability. 外部スケジューラを介したスケジューラ トリガーまたは実行。Scheduler trigger or execution via external scheduler. 詳細については、パイプラインの実行とトリガーに関するページを参照してください。For more information, see Pipeline execution and triggers.

以降のセクションでは、現在のバージョンの機能の詳細について説明します。The following sections provide more information about the capabilities of the current version.

制御フローControl flow

最新のデータ ウェアハウスの多様な統合フローとパターンをサポートするため、現在のバージョンの Data Factory では、時系列データと関連付けられていない新しい柔軟なデータ パイプライン モデルが利用できます。To support diverse integration flows and patterns in the modern data warehouse, the current version of Data Factory has enabled a new flexible data pipeline model that is no longer tied to time-series data. これまで実現できなかったもので、今回実現できるようになった一般的なフローのいくつかを次に紹介します。A few common flows that were previously not possible are now enabled. 以降のセクションでは、ここに挙げた手順について説明します。They are described in the following sections.

連鎖するアクティビティChaining activities

V1 では、アクティビティの出力を別のアクティビティの入力として構成し、それらを連鎖させる必要がありました。In V1, you had to configure the output of an activity as an input of another activity to chain them. 現在のバージョンでは、パイプライン内のシーケンスでアクティビティを連鎖させることができます。in the current version, you can chain activities in a sequence within a pipeline. アクティビティ定義の dependsOn プロパティを使用して、アップストリーム アクティビティに連鎖させることができます。You can use the dependsOn property in an activity definition to chain it with an upstream activity. 詳細と例については、パイプラインとアクティビティに関する記事と、アクティビティの分岐と連鎖に関するページを参照してください。For more information and an example, see Pipelines and activities and Branching and chaining activities.

アクティビティの分岐Branching activities

現在のバージョンでは、パイプライン内でアクティビティを分岐できるようになりました。in the current version, you can branch activities within a pipeline. If-condition アクティビティは、プログラミング言語における if ステートメントと同じ働きを持ちます。The If-condition activity provides the same functionality that an if statement provides in programming languages. 条件が true に評価されたときの一連のアクティビティと false に評価されたときの一連のアクティビティが評価されます。It evaluates a set of activities when the condition evaluates to true and another set of activities when the condition evaluates to false. アクティビティの分岐の例については、アクティビティの分岐と連鎖に関するチュートリアルを参照してください。For examples of branching activities, see the Branching and chaining activities tutorial.

parametersParameters

パイプライン レベルでパラメーターを定義し、パイプラインをオンデマンドで起動するかトリガーから起動するときに引数を渡すことができます。You can define parameters at the pipeline level and pass arguments while you're invoking the pipeline on-demand or from a trigger. アクティビティは、パイプラインに渡される引数を使用できます。Activities can consume the arguments that are passed to the pipeline. 詳細については、パイプラインとトリガーに関するページを参照してください。For more information, see Pipelines and triggers.

カスタム状態の受け渡しCustom state passing

状態などのアクティビティ出力は、パイプライン内の後続のアクティビティで使用できます。Activity outputs including state can be consumed by a subsequent activity in the pipeline. たとえば、アクティビティの JSON 定義で @activity('NameofPreviousActivity').output.value という構文を使用して、前のアクティビティの出力にアクセスできます。For example, in the JSON definition of an activity, you can access the output of the previous activity by using the following syntax: @activity('NameofPreviousActivity').output.value. この機能を使用すると、アクティビティ間で値を受け渡すワークフローを構築できます。By using this feature, you can build workflows where values can pass through activities.

ループ コンテナーLooping containers

ForEach アクティビティは、パイプライン内の繰り返し制御フローを定義します。The ForEach activity defines a repeating control flow in your pipeline. このアクティビティは、コレクションを反復処理するために使用され、指定されたアクティビティをループで実行します。This activity iterates over a collection and runs specified activities in a loop. このアクティビティのループの実装は、プログラミング言語の Foreach ループ構造に似ています。The loop implementation of this activity is similar to the Foreach looping structure in programming languages.

Until アクティビティは、プログラミング言語における do-until ループ構文と同じ働きを持ちます。The Until activity provides the same functionality that a do-until looping structure provides in programming languages. Until アクティビティでは、そこに関連付けられている条件が true に評価されるまで、一連のアクティビティがループ実行されます。It runs a set of activities in a loop until the condition that's associated with the activity evaluates to true. Data Factory では、until アクティビティのタイムアウト値を指定することができます。You can specify a timeout value for the until activity in Data Factory.

トリガー ベースのフローTrigger-based flows

パイプラインは、オンデマンド (イベント ベースである BLOB ポスト) で、または実時間に合わせてトリガーできます。Pipelines can be triggered by on-demand (event-based, i.e. blob post) or wall-clock time. トリガーの詳細については、パイプラインとトリガーに関する記事を参照してください。The pipelines and triggers article has detailed information about triggers.

別のパイプラインからのパイプラインの呼び出しInvoking a pipeline from another pipeline

パイプラインの実行アクティビティを使用すると、Data Factory のパイプラインが別のパイプラインを呼び出すことができます。The Execute Pipeline activity allows a Data Factory pipeline to invoke another pipeline.

差分フローDelta flows

ETL パターンの主要な使用例は、"差分読み込み" です。つまり、パイプラインの最後の反復以降に変更されたデータのみを読み込みます。A key use case in ETL patterns is “delta loads,” in which only data that has changed since the last iteration of a pipeline is loaded. 現在のバージョンの新機能 (ルックアップ アクティビティ、柔軟なスケジュール設定、制御フローなど) により、この使用例を自然な方法で実現できます。New capabilities in the current version, such as lookup activity, flexible scheduling, and control flow, enable this use case in a natural way. 詳細な手順については、増分コピーのチュートリアルのページを参照してください。For a tutorial with step-by-step instructions, see Tutorial: Incremental copy.

その他の制御フロー アクティビティOther control flow activities

現在のバージョンの Data Factory でサポートされているその他の制御フロー アクティビティをいくつか次に示します。Following are a few more control flow activities that are supported by the current version of Data Factory.

制御アクティビティControl activity 説明Description
ForEach アクティビティForEach activity パイプライン内の繰り返し制御フローを定義します。Defines a repeating control flow in your pipeline. このアクティビティは、コレクションを反復処理するために使用され、指定されたアクティビティをループで実行します。This activity is used to iterate over a collection and runs specified activities in a loop. このアクティビティのループの実装は、プログラミング言語の Foreach ループ構造に似ています。The loop implementation of this activity is similar to Foreach looping structure in programming languages.
Web アクティビティWeb activity Data Factory パイプラインからカスタム REST エンドポイントを呼び出します。Calls a custom REST endpoint from a Data Factory pipeline. このアクティビティで使用したり、アクセスしたりするデータセットやリンクされたサービスを渡すことができます。You can pass datasets and linked services to be consumed and accessed by the activity.
Lookup アクティビティLookup activity 外部ソースからレコードまたはテーブル名を読み取るか検索します。Reads or looks up a record or table name value from any external source. この出力は、後続のアクティビティによってさらに参照できます。This output can further be referenced by succeeding activities.
GetMetadata アクティビティGet metadata activity Azure Data Factory の任意のデータのメタデータを取得します。Retrieves the metadata of any data in Azure Data Factory.
Wait アクティビティWait activity 指定した期間、パイプラインを一時停止します。Pauses the pipeline for a specified period of time.

SSIS パッケージを Azure にデプロイするDeploy SSIS packages to Azure

SSIS ワークロードをクラウドに移動し、現在のバージョンを使用してデータ ファクトリを作成し、Azure-SSIS Integration Runtime をプロビジョニングする場合は Azure-SSIS を使用します。You use Azure-SSIS if you want to move your SSIS workloads to the cloud, create a data factory by using the current version, and provision an Azure-SSIS Integration Runtime.

Azure-SSIS Integration Runtime は、クラウドでの SSIS パッケージの実行専用の、Azure VM (ノード) のフル マネージド クラスターです。The Azure-SSIS Integration Runtime is a fully managed cluster of Azure VMs (nodes) that are dedicated to running your SSIS packages in the cloud. Azure-SSIS Integration Runtime のプロビジョニング後は、SSIS パッケージをオンプレミスの SSIS 環境にデプロイするために使用していたのと同じツールを使用できます。After you provision Azure-SSIS Integration Runtime, you can use the same tools that you have been using to deploy SSIS packages to an on-premises SSIS environment.

たとえば、SQL Server Data Tools または SQL Server Management Studio を使用して、Azure 上のこのランタイムに SSIS パッケージをデプロイできます。For example, you can use SQL Server Data Tools or SQL Server Management Studio to deploy SSIS packages to this runtime on Azure. 手順については、チュートリアル「SQL Server Integration Services パッケージを Azure にデプロイする」を参照してください。For step-by-step instructions, see the tutorial Deploy SQL Server integration services packages to Azure.

柔軟なスケジュール設定Flexible scheduling

現在のバージョンの Data Factory では、データセットの可用性スケジュールを定義する必要はありません。In the current version of Data Factory, you do not need to define dataset availability schedules. クロック スケジューラ パラダイムからパイプラインをスケジュールできるトリガー リソースを定義できます。You can define a trigger resource that can schedule pipelines from a clock scheduler paradigm. 柔軟なスケジュール設定および実行モデルのために、トリガーからパイプラインにパラメーターを渡すこともできます。You can also pass parameters to pipelines from a trigger for a flexible scheduling and execution model.

現在のバージョンの Data Factory では、パイプラインに実行時間の "枠" がありません。Pipelines do not have “windows” of time execution in the current version of Data Factory. Data Factory V1 の概念である startTime、endTime、isPaused は、現在のバージョンの Data Factory には存在しません。The Data Factory V1 concepts of startTime, endTime, and isPaused don't exist in the current version of Data Factory. 現在のバージョンの Data Factory でパイプラインを構築してスケジュールする方法については、パイプラインの実行とトリガーに関するページを参照してください。For more information about how to build and then schedule a pipeline in the current version of Data Factory, see Pipeline execution and triggers.

より多くのデータ ストアのサポートSupport for more data stores

現在のバージョンでは、V1 よりも多くのデータ ストアとの間でのデータ コピーがサポートされています。The current version supports the copying of data to and from more data stores than V1. サポートされているデータ ストアの一覧については、以下の記事を参照してください。For a list of supported data stores, see the following articles:

オンデマンドの Spark クラスターのサポートSupport for on-demand Spark cluster

現在のバージョンでは、オンデマンドの Azure HDInsight Spark クラスターの作成がサポートされています。The current version supports the creation of an on-demand Azure HDInsight Spark cluster. オンデマンドの Spark クラスターを作成するには、オンデマンドの HDInsight のリンクされたサービスに対する定義で、クラスターの種類を Spark として指定します。To create an on-demand Spark cluster, specify the cluster type as Spark in your on-demand, HDInsight linked service definition. その後、このリンクされたサービスを使用するように、パイプラインの Spark アクティビティを構成できます。Then you can configure the Spark activity in your pipeline to use this linked service.

実行時、アクティビティが実行されるときに、Data Factory サービスによって自動的に Spark クラスターが作成されます。At runtime, when the activity is executed, the Data Factory service automatically creates the Spark cluster for you. 詳細については、次の記事を参照してください。For more information, see the following articles:

カスタム アクティビティCustom activities

V1 では、IDotNetActivity インターフェイスの Execute メソッドを実装するクラスが含まれた .NET クラス ライブラリ プロジェクトを作成して (カスタム) DotNet アクティビティ コードを実装します。In V1, you implement (custom) DotNet activity code by creating a .NET class library project with a class that implements the Execute method of the IDotNetActivity interface. そのため、カスタム コードは、.NET Framework 4.5.2 で記述し、Windows ベースの Azure Batch プール ノードで実行する必要があります。Therefore, you need to write your custom code in .NET Framework 4.5.2 and run it on Windows-based Azure Batch Pool nodes.

現在のバージョンのカスタム アクティビティでは、.NET インターフェイスを実装する必要はありません。In a custom activity in the current version, you don't have to implement a .NET interface. コマンドとスクリプトを直接実行できるようになり、実行可能ファイルとしてコンパイルされた独自のカスタム コードを実行できるようになりました。You can directly run commands, scripts, and your own custom code compiled as an executable.

詳細については、Data Factory とバージョン 1 でのカスタム アクティビティの違いに関するページを参照してください。For more information, see Difference between custom activity in Data Factory and version 1.

SDKSDKs

現在のバージョンの Data Factory では、パイプラインの作成、管理、および監視に使用できる、より豊富な SDK セットが用意されています。the current version of Data Factory provides a richer set of SDKs that can be used to author, manage, and monitor pipelines.

  • .NET SDK: .NET SDK は現在のバージョンで更新されています。.NET SDK: The .NET SDK is updated in the current version.

  • PowerShell: PowerShell コマンドレットは現在のバージョンで更新されています。PowerShell: The PowerShell cmdlets are updated in the current version. 現在のバージョンのコマンドレットには、名前に DataFactoryV2 が付いています (たとえば、Get-AzureRmDataFactoryV2)。The cmdlets for the current version have DataFactoryV2 in the name, for example: Get-AzureRmDataFactoryV2.

  • Python SDK: この SDK は、現在のバージョンで新しく導入されました。Python SDK: This SDK is new in the current version.

  • REST API: REST API は現在のバージョンで更新されています。REST API: The REST API is updated in the current version.

現在のバージョンで更新された SDK は、V1 クライアントと下位互換性がありません。The SDKs that are updated in the current version are not backward-compatible with V1 clients.

作成のエクスペリエンスAuthoring experience

  V2V2 V1V1
Azure ポータルAzure portal はいYes はいYes
Azure PowerShellAzure PowerShell はいYes はいYes
.NET SDK.NET SDK はいYes はいYes
REST APIREST API はいYes はいYes
Python SDKPython SDK はいYes いいえ No
Resource Manager テンプレートResource Manager template はいYes はいYes

ロールとアクセス許可Roles and permissions

Data Factory バージョン 1 の共同作成者ロールを使って、現在のバージョンの Data Factory リソースの作成と管理を行うことができます。The Data Factory version 1 Contributor role can be used to create and manage the current version of Data Factory resources. 詳しくは、「Data Factory Contributor」をご覧ください。For more info, see Data Factory Contributor.

監視のエクスペリエンスMonitoring experience

現在のバージョンでは、Azure Monitor を使用してデータ ファクトリを監視することもできます。in the current version, you can also monitor data factories by using Azure Monitor. 新しい PowerShell コマンドレットでは、統合ランタイムの監視がサポートされています。The new PowerShell cmdlets support monitoring of integration runtimes. V1 と V2 のどちらでも、Azure Portal から起動できる監視アプリケーションによる視覚的な監視がサポートされています。Both V1 and V2 support visual monitoring via a monitoring application that can be launched from the Azure portal.

次の手順Next steps

データ ファクトリの作成手順について、PowerShell.NETPythonREST API の各クイック スタートを参照してください。Learn how to create a data factory by following step-by-step instructions in the following quickstarts: PowerShell, .NET, Python, REST API.