データ加工の期待の新ツール!Azure Data Factory@Azure Deep Dive

2015-10-06

MS大田さんによる「データ加工の期待の新ツール!Azure Data Factory」セッションを受講したので、受講メモをつらつらと書いておく。

大田さんの自己紹介。もともとは大量のトラフィック分析(攻撃トラフィックか、IP偽装分析)などをしていました。理論が好きなのと、今回の話は概念から入ると理解しやすいので、概念から説明します。

今日は、Azure Data Factoryの日本初のセッションとなります!今後重要なキーサービスとなるので、丁寧に解説したいと思います。何か、使いどころはどこか、使い方についての順番に説明していきます。

image

Azure Data Factoryとは

Azure Data Factoryは、調整/自動化サービスです。SQL Server、MySQL、など様々なデータソースからデータを取得し、データをクレイジングして、適切なデータストアにデータを格納するまでの一連の流れを自動的に調整してくれるサービスとなります。人手を介さないワークフローとイメージしていただくといいかも。image

例えば、次のような例を考えてみましょう。

  1. アクセスログをストレージから取得
  2. HDInsightでデータをフォルダ分けしてストレージに保存
  3. 返還後、別のデータと結合する
  4. 結果を、SQL Databaseに格納する

上記のような一連の作業を、調整し自動実行するのがAzure Data Factoryの役割です

管理ポータルで実際の画面を見てみましょう。作成、ダイアグラム、サンプルとあります。

image
ダイアグラムは、どのような処理をしているのかをグラフィカルに表示されて、理解しやすくしています。

image
サンプルを用意しており、ひとまず動作を簡単に理解したい場合には、サンプルパイプラインを使用すると簡単に試すことができます。

image

Azure Data Factoryの概念

Data Factoryの概念を知りましょう。登場人物は4つです。Data Set、Activity、Pipline、Linked Serviceの4つです。

image

Linked Serviceは、データストアとかコンピューティングサービスなどのリソースへの接続情報を保持しています。データストア、データ処理など、あらゆるリソースへの接続情報を保持します。

image

現在使用できるデータストアは、現在以下のものが提供されています。

image

オンデマンドHDInsightは、Azure Data Factoryによって管理されるサービスです。Bring Your Ownのほうは、Azureポータルで自分で作成して用意しておくサービスのほうです。

imageAzure Data Factoryが管理するHDInsightは必要なタイミングでHDInsightを起動し、不要になったら削除してくれるので課金的には優しいサービス(停止忘れ防止になる)です。これは、自動的に管理されるものなので、管理ポータルから確認することはできません。

ただし、削除タイミングは指定できて、処理完了後何分後にHDInsightを削除できるかを指定できます。0分にするとすぐ削除されます。これを指定するのに必要な理由は、HDInsightで処理して、データを格納して、またHDInsightで処理するというようなパイプラインの場合、一回一回でシャットダウンすると再度15分かけてプロビジョニングをすることになるので、無駄をなくすには他所の猶予を設けるといいです。

Data Setは、Linked Serviceが参照するデータストアに格納されている入力/出力データを表します。これは、フォルダ名の指定やテーブル名の指定です。これを設定して初めて、実データを指定することになります。

image

Activityは、データに対して実行するアクションを定義します。Data Setもコンピューティング両方を扱うことができます。データのコピーや、データの変換分析を処理さえることができます。1つのActivityに複数の処理を書いてしまうと煩雑になってしまうので複数のActivityに分けてあげるといいですね。image<

PipeLineは、複数のActivityを論理的にひとまとめにして管理するグループです。いくつかのActivityを束にまとめます。

image

Azure Data Factoryの操作に使用するツール

Azure Data Factoryは、JSONで定義します。

image

JSONを書くのはつらいので、補助するために3つのツールが提供されています。ブラウザーベースのものもあるので、Macユーザーでも使用することができます。

  • Data Factory Editor(ブラウザーベース)
  • Visual Studio(Windows)
  • PowerShell(Windows)

Data Factory Editorはブラウザベースで提供されており、現時点では一番こなれたツールとなっています。初めて使用する人は、Data Factory Editorから使い始めるといいでしょう。

image

Visual Studioの対応状況はこのような感じ。Cloud Explorerはリソース状況が確認しやすくて素敵です。でもダイアグラムは弱めで、エラーとかでる。現時点では、まだまだ発展登場なのでおすすめはしないかも。

image

PowerShellはこんな感じ。新規作成などの操作性はあまりいいとは言えないかも。

image

Azure Data Factoryの操作手順

Data Factory Editorで、Linked Serviceを作成します。作成ボタンをクリックすると、リソースを選択することができます。

image

次に、Data Setを作成します。Data Setの定義では、次の図のようにインテリセンスがきいて入力しやすくなっています。

image

Piplineを定義します。頑張ってコーディングしなくても、あらかじめ定義が用意されているので、定義をするだけでいいです。例えば、日次で実行し、感覚をどれぐらい開けるみたいなのも定義で指定できます。

image

インプット元、アウトプット先も、このように簡単に定義することができます。

imagea

 

セッション資料