Azure Data Factory の概要Introduction to Azure Data Factory

ビッグ データの世界では、未整理の生データは、多くの場合、リレーショナル、非リレーショナル、その他のストレージ システム内に格納されます。In the world of big data, raw, unorganized data is often stored in relational, non-relational, and other storage systems. ただし、生データ自体には、アナリストや、データ サイエンティスト、管理職意思決定者に有用な分析を提供するのに必要となる正しいコンテキストや意味はありません。However, on its own, raw data doesn't have the proper context or meaning to provide meaningful insights to analysts, data scientists, or business decision makers.

ビッグ データに必要なのは、データ制御と運用化の処理によって、膨大な量の生データを実用的なビジネス分析へと転換できるサービスです。Big data requires service that can orchestrate and operationalize processes to refine these enormous stores of raw data into actionable business insights. Azure Data Factory は、ETL (抽出 - 変換 - 読み込み)、ELT (抽出 - 読み込み - 変換)、データ統合という複雑なハイブリッド プロジェクト用に構築された、管理クラウド サービスです。Azure Data Factory is a managed cloud service that's built for these complex hybrid extract-transform-load (ETL), extract-load-transform (ELT), and data integration projects.

たとえば、クラウド内のゲームで生成される、数ペタバイト規模のゲーム ログを収集するゲーム会社があるとします。For example, imagine a gaming company that collects petabytes of game logs that are produced by games in the cloud. その会社がこれらのログを分析して顧客の好みや内訳、利用行動などについての洞察を得たいと考えているとしましょう。The company wants to analyze these logs to gain insights into customer preferences, demographics, and usage behavior. また同社は、アップセルやクロス セルの商機の見極め、魅力的な新機能の開発、ビジネスの成長の後押し、カスタマー エクスペリエンスの向上にも興味があります。It also wants to identify up-sell and cross-sell opportunities, develop compelling new features, drive business growth, and provide a better experience to its customers.

これらのログを分析するには、顧客情報やゲーム情報、マーケティング キャンペーン情報など、オンプレミスのデータ ストアにある参照データを使用する必要があります。To analyze these logs, the company needs to use reference data such as customer information, game information, and marketing campaign information that is in an on-premises data store. この会社は、オンプレミスのデータ ストアにあるこれらのデータを、クラウドのデータ ストアにある追加のログ データと統合して活用しようと考えています。The company wants to utilize this data from the on-premises data store, combining it with additional log data that it has in a cloud data store.

状況を正確に把握するために、クラウドの Spark クラスターを使用して統合したデータを処理し (Azure HDInsight)、変換したデータを Azure SQL Data Warehouse などのクラウドのデータ ウェアハウスに公開して、これらのデータに基づくレポートを簡単に作成できるようにすることを希望しています。To extract insights, it hopes to process the joined data by using a Spark cluster in the cloud (Azure HDInsight), and publish the transformed data into a cloud data warehouse such as Azure SQL Data Warehouse to easily build a report on top of it. このワークフローを自動化し、日単位のスケジュールに従って監視、管理することが目標となります。They want to automate this workflow, and monitor and manage it on a daily schedule. それを実行するタイミングは、BLOB ストア コンテナーにファイルが到着したときとします。They also want to execute it when files land in a blob store container.

Azure Data Factory は、このようなデータ シナリオを解決するプラットフォームです。Azure Data Factory is the platform that solves such data scenarios. そのクラウドベースのデータ統合サービスを通じて、データの移動と変換を制御して自動化するデータ主導型のワークフローをクラウドに作成することができます。It is a cloud-based data integration service that allows you to create data-driven workflows in the cloud for orchestrating and automating data movement and data transformation. Azure Data Factory を使えば、各種のデータ ストアからデータを取り込むことができるデータ主導型のワークフロー (パイプライン) を作成し、スケジューリングできます。Using Azure Data Factory, you can create and schedule data-driven workflows (called pipelines) that can ingest data from disparate data stores. そのデータは、Azure HDInsight Hadoop、Spark、Azure Data Lake Analytics、Azure Machine Learning などのコンピューティング サービスを使って処理し、変換することができます。It can process and transform the data by using compute services such as Azure HDInsight Hadoop, Spark, Azure Data Lake Analytics, and Azure Machine Learning.

さらに、ビジネス インテリジェンス (BI) アプリケーションから利用できるよう、Azure SQL Data Warehouse などのデータ ストアに出力データを公開することもできます。Additionally, you can publish output data to data stores such as Azure SQL Data Warehouse for business intelligence (BI) applications to consume. Azure Data Factory を使うと、最終的に、生データを意味のあるデータ ストアとデータ レイクに整理し、より的確な意思決定に活用できます。Ultimately, through Azure Data Factory, raw data can be organized into meaningful data stores and data lakes for better business decisions.

Data Factory の最上位ビュー

それはどのように機能しますか?How does it work?

通常、Azure Data Factory のパイプライン (データドリブン ワークフロー) では次の 4 つのステップが実行されます。The pipelines (data-driven workflows) in Azure Data Factory typically perform the following four steps:

データドリブン ワークフローの 4 つのステップ

接続と収集Connect and collect

企業は、さまざまな種類のデータをさまざまなソースで管理しています。ソースには、オンプレミスのソースやクラウド内のソース、構造化されたもの、構造化されていないもの、半構造化されたものなどがあり、そのデータの受信間隔も速度もまちまちです。Enterprises have data of various types that are located in disparate sources on-premises, in the cloud, structured, unstructured, and semi-structured, all arriving at different intervals and speeds.

情報生成システム構築の最初のステップは、サービスとしてのソフトウェア (SaaS) サービス、データベース、ファイル共有、FTP Web サービスなど、必要なすべてのデータ ソースと処理の機能に接続することです。The first step in building an information production system is to connect to all the required sources of data and processing, such as software-as-a-service (SaaS) services, databases, file shares, and FTP web services. その後、必要に応じて後続の処理機能にデータを移動するステップへと続きます。The next step is to move the data as needed to a centralized location for subsequent processing.

Data Factory を使用していない企業では、カスタムのデータ移動コンポーネントを構築するか、これらのデータ ソースと処理を統合するカスタム サービスを作成しなければなりません。Without Data Factory, enterprises must build custom data movement components or write custom services to integrate these data sources and processing. このようなシステムの統合と保守は高コストで、容易ではありません。It's expensive and hard to integrate and maintain such systems. そのうえ、エンタープライズ クラスの監視やアラートが欠け、フル マネージドのサービスが提供できるような制御機能を用意できないことも少なくありません。In addition, they often lack the enterprise-grade monitoring, alerting, and the controls that a fully managed service can offer.

Data Factory を使用すれば、データ パイプラインのコピー アクティビティで、オンプレミスとクラウドの両方のソース データ ストアからクラウド内の一元化されたデータ ストアにデータを移動し、詳しく分析することができます。With Data Factory, you can use the Copy Activity in a data pipeline to move data from both on-premises and cloud source data stores to a centralization data store in the cloud for further analysis. たとえば、Azure Data Lake Storage でデータを収集し、後で Azure Data Lake Analytics コンピューティング サービスを使用してデータを変換することができます。For example, you can collect data in Azure Data Lake Storage and transform the data later by using an Azure Data Lake Analytics compute service. または、Azure Blob Storage でデータを収集し、後で Azure HDInsight Hadoop クラスターを使用してデータを変換することもできます。You can also collect data in Azure Blob storage and transform it later by using an Azure HDInsight Hadoop cluster.

変換と強化Transform and enrich

クラウド上の一元的なデータ ストアにデータが集まったら、HDInsight Hadoop、Spark、Data Lake Analytics、Machine Learning などのコンピューティング サービスを使って、その収集されたデータを処理または変換します。After data is present in a centralized data store in the cloud, process or transform the collected data by using compute services such as HDInsight Hadoop, Spark, Data Lake Analytics, and Machine Learning. 保守しやすい管理されたスケジュールで確実に変換データを生成し、信頼性の高いデータを運用環境に提供する必要があります。You want to reliably produce transformed data on a maintainable and controlled schedule to feed production environments with trusted data.

発行Publish

生データが変換されてビジネスに即応して利用できる形態になったら、このデータを、ビジネス ユーザーがビジネス インテリジェンス ツールから参照できる Azure Data Warehouse、Azure SQL Database、Azure CosmosDB、またはその他の分析エンジンに読み込みます。After the raw data has been refined into a business-ready consumable form, load the data into Azure Data Warehouse, Azure SQL Database, Azure CosmosDB, or whichever analytics engine your business users can point to from their business intelligence tools.

監視Monitor

データ統合パイプラインを正常に構築してデプロイし、変換したデータからビジネス価値を生み出せるようになったなら、スケジュール化したアクティビティとパイプラインを監視して、成功率と失敗率を確認することができます。After you have successfully built and deployed your data integration pipeline, providing business value from refined data, monitor the scheduled activities and pipelines for success and failure rates. Azure Data Factory には、Azure Monitor、API、PowerShell、Azure Monitor ログ、Azure portal の正常性パネルを利用してパイプラインを監視する、ビルトイン サポートが用意されています。Azure Data Factory has built-in support for pipeline monitoring via Azure Monitor, API, PowerShell, Azure Monitor logs, and health panels on the Azure portal.

トップレベルの概念Top-level concepts

1 つの Azure サブスクリプションで 1 つ以上の Azure Data Factory インスタンス (データ ファクトリ) を利用できます。An Azure subscription might have one or more Azure Data Factory instances (or data factories). Azure Data Factory は、4 つの主要コンポーネントで構成されています。Azure Data Factory is composed of four key components. これらのコンポーネントの連携によって実現するプラットフォームを基盤として、データ移動とデータ変換のステップを含んだデータ主導型のワークフローを作成することができます。These components work together to provide the platform on which you can compose data-driven workflows with steps to move and transform data.

パイプラインPipeline

データ ファクトリには、1 つまたは複数のパイプラインを設定できます。A data factory might have one or more pipelines. パイプラインは、1 つの作業単位を実行するための複数のアクティビティから成る論理的なグループです。A pipeline is a logical grouping of activities that performs a unit of work. パイプライン内のアクティビティがまとまって 1 つのタスクを実行します。Together, the activities in a pipeline perform a task. たとえば、パイプラインに Azure BLOB からデータを取り込むアクティビティのグループを含め、HDInsight クラスターで Hive クエリを実行してデータをパーティション分割することができます。For example, a pipeline can contain a group of activities that ingests data from an Azure blob, and then runs a Hive query on an HDInsight cluster to partition the data.

パイプラインのメリットは、アクティビティを個別にではなく、セットとして管理できることです。The benefit of this is that the pipeline allows you to manage the activities as a set instead of managing each one individually. パイプライン内のアクティビティは、連鎖して順次処理することも、独立して並行処理することもできます。The activities in a pipeline can be chained together to operate sequentially, or they can operate independently in parallel.

アクティビティActivity

アクティビティは、パイプライン内の処理ステップを表します。Activities represent a processing step in a pipeline. たとえば、コピー アクティビティを使用して、データ ストア間でデータをコピーできます。For example, you might use a copy activity to copy data from one data store to another data store. 同様に、Azure HDInsight クラスターに対して Hive クエリを実行する Hive アクティビティを使用して、データを変換または分析できます。Similarly, you might use a Hive activity, which runs a Hive query on an Azure HDInsight cluster, to transform or analyze your data. Data Factory では、データ移動アクティビティ、データ変換アクティビティ、制御アクティビティの 3 種類のアクティビティがサポートされています。Data Factory supports three types of activities: data movement activities, data transformation activities, and control activities.

データセットDatasets

データセットは、データ ストア内のデータ構造を表しています。アクティビティ内でデータを入力または出力として使用したい場合は、そのデータをポイントまたは参照するだけで済みます。Datasets represent data structures within the data stores, which simply point to or reference the data you want to use in your activities as inputs or outputs.

リンクされたサービスLinked services

リンクされたサービスは、接続文字列によく似ており、Data Factory が外部リソースに接続するために必要な接続情報を定義します。Linked services are much like connection strings, which define the connection information that's needed for Data Factory to connect to external resources. リンクされたサービスはデータ ソースへの接続を定義するもので、データセットはデータの構造を表すもの、と捉えることができます。Think of it this way: a linked service defines the connection to the data source, and a dataset represents the structure of the data. たとえば、Azure Storage アカウントに接続するための接続文字列は、Azure Storage のリンクされたサービスで指定します。For example, an Azure Storage-linked service specifies a connection string to connect to the Azure Storage account. また、データを格納する BLOB コンテナーやフォルダーは、Azure BLOB データセットで指定します。Additionally, an Azure blob dataset specifies the blob container and the folder that contains the data.

Data Factory ではリンクされたサービスは 2 つの目的に使用されます。Linked services are used for two purposes in Data Factory:

  • オンプレミスの SQL Server データベース、Oracle データベース、ファイル共有、Azure Blob Storage アカウント、その他の "データ ストア" を表すため。To represent a data store that includes, but isn't limited to, an on-premises SQL Server database, Oracle database, file share, or Azure blob storage account. サポートされるデータ ストアの一覧については、「コピー アクティビティ」を参照してください。For a list of supported data stores, see the copy activity article.

  • アクティビティの実行をホストできる コンピューティング リソース を表すため。To represent a compute resource that can host the execution of an activity. たとえば、HDInsightHive アクティビティは HDInsight Hadoop クラスターで実行されます。For example, the HDInsightHive activity runs on an HDInsight Hadoop cluster. 変換アクティビティとサポートされているコンピューティング環境の一覧については、「データの変換」を参照してください。For a list of transformation activities and supported compute environments, see the transform data article.

トリガーTriggers

トリガーは、パイプラインの実行をいつ開始する必要があるかを決定する処理単位を表します。Triggers represent the unit of processing that determines when a pipeline execution needs to be kicked off. さまざまな種類のイベントに合わせて、さまざまな種類のトリガーがあります。There are different types of triggers for different types of events.

パイプライン実行Pipeline runs

パイプライン実行は、パイプラインを実行するインスタンスです。A pipeline run is an instance of the pipeline execution. パイプライン実行は、通常、パイプラインで定義されたパラメーターに引数を渡してインスタンス化されます。Pipeline runs are typically instantiated by passing the arguments to the parameters that are defined in pipelines. 引数は、手動で渡すか、トリガー定義内で渡すことができます。The arguments can be passed manually or within the trigger definition.

parametersParameters

パラメーターは、読み取り専用の構成のキーと値のペアです。Parameters are key-value pairs of read-only configuration.  パラメーターはパイプラインで定義されます。  Parameters are defined in the pipeline. 定義済みパラメーターの引数は、実行時に、トリガーが作成した実行コンテキストか、手動で実行されるパイプラインから渡されます。The arguments for the defined parameters are passed during execution from the run context that was created by a trigger or a pipeline that was executed manually. パイプライン内のアクティビティは、パラメーターの値を使用します。Activities within the pipeline consume the parameter values.

データセットとは、厳密に型指定されたパラメーターと、再利用または参照可能なエンティティのことです。A dataset is a strongly typed parameter and a reusable/referenceable entity. アクティビティは、データセットを参照でき、データセットの定義で定義されたプロパティを使用できます。An activity can reference datasets and can consume the properties that are defined in the dataset definition.

リンクされたサービスも厳密に型指定されたパラメーターであり、これにはデータ ストアかコンピューティング環境への接続情報が入ります。A linked service is also a strongly typed parameter that contains the connection information to either a data store or a compute environment. これは再利用可能または参照可能なエンティティでもあります。It is also a reusable/referenceable entity.

制御フローControl flow

制御フローは、パイプライン アクティビティのオーケストレーションです。これには、シーケンスに従うアクティビティの連鎖、分岐、パイプライン レベルでのパラメーターの定義、オンデマンドかトリガーからパイプラインが呼び出される際の引数の受け渡しが含まれます。Control flow is an orchestration of pipeline activities that includes chaining activities in a sequence, branching, defining parameters at the pipeline level, and passing arguments while invoking the pipeline on-demand or from a trigger. さらに、カスタム状態の受け渡しや、ループ コンテナー、つまり For-each 反復子も含まれます。It also includes custom-state passing and looping containers, that is, For-each iterators.

Data Factory の概念について詳しくは、次の記事をご覧ください。For more information about Data Factory concepts, see the following articles:

サポートされているリージョンSupported regions

現在 Data Factory が利用できる Azure リージョンの一覧については、次のページで目的のリージョンを選択し、 [分析] を展開して [Data Factory] を探してください。リージョン別の利用可能な製品For a list of Azure regions in which Data Factory is currently available, select the regions that interest you on the following page, and then expand Analytics to locate Data Factory: Products available by region. ただし、データ ファクトリは、他の Azure リージョン内のデータ ストアやコンピューティング サービスにアクセスし、データ ストア間でデータを移動したり、コンピューティング サービスを使用してデータを処理したりできます。However, a data factory can access data stores and compute services in other Azure regions to move data between data stores or process data using compute services.

Azure Data Factory 自体は、データを保存しません。Azure Data Factory itself does not store any data. Azure Data Factory を使用すると、データ主導型のワークフローを作成し、サポートされているデータ ストア間でのデータ移動と、他のリージョンまたはオンプレミスの環境にあるコンピューティング サービスを使用したデータ処理を調整できます。It lets you create data-driven workflows to orchestrate the movement of data between supported data stores and the processing of data using compute services in other regions or in an on-premises environment. また、プログラムと UI の両方のメカニズムを使用して、ワークフローを監視および管理することもできます。It also allows you to monitor and manage workflows by using both programmatic and UI mechanisms.

Data Factory を利用できるリージョンが特定のリージョンのみであっても、Data Factory 内でデータ移動を実行するサービスは、いくつかのリージョンでグローバルに利用できます。Although Data Factory is available only in certain regions, the service that powers the data movement in Data Factory is available globally in several regions. データ ストアがファイアウォールの内側にある場合は、オンプレミスの環境にインストールされているセルフホステッド統合ランタイムがデータを移動します。If a data store is behind a firewall, then a Self-hosted Integration Runtime that's installed in your on-premises environment moves the data instead.

たとえば、Azure HDInsight クラスターや Azure Machine Learning などのコンピューティング環境が西ヨーロッパ リージョン以外で稼働しているものと想定します。For an example, let's assume that your compute environments such as Azure HDInsight cluster and Azure Machine Learning are running out of the West Europe region. 米国東部または米国東部 2 に Azure Data Factory インスタンスを作成して利用すると、西ヨーロッパのコンピューティング環境でジョブのスケジュール設定にそのインスタンスを使用することができます。You can create and use an Azure Data Factory instance in East US or East US 2 and use it to schedule jobs on your compute environments in West Europe. Data Factory がコンピューティング環境でジョブをトリガーするまでに数ミリ秒かかりますが、コンピューティング環境でのジョブの実行時間は変わりません。It takes a few milliseconds for Data Factory to trigger the job on your compute environment, but the time for running the job on your computing environment does not change.

アクセシビリティAccessibility

Azure portal の Data Factory ユーザー エクスペリエンスはアクセシビリティ対応です。The Data Factory user experience in the Azure portal is accessible.

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

Data Factory サービスのバージョン 1 と現在のバージョンの相違点の一覧については、「バージョン 1 との比較」を参照してください。For a list of differences between version 1 and the current version of the Data Factory service, see Compare with version 1.

次の手順Next steps

次のツールおよび SDK のいずれかを使用して、Data Factory パイプラインの作成を開始します。Get started with creating a Data Factory pipeline by using one of the following tools/SDKs: