SlideShare a Scribd company logo
Copyright© 2017-2020 System Support Inc. All rights reserved.
Data Factory V2 新機能徹底活用入門
クラウドコンサルティング事業部
藤川 佳祐
Copyright© 2017-2020 System Support Inc. All rights reserved. 2
自己紹介
藤川 佳祐 (Keisuke Fujikawa)
株式会社システムサポート 所属
略歴
フリーペーパー編集営業
アプリケーションエンジニア(C#, Ruby)
ソーシャルゲーム運営
データベースエンジニア(Oracle)
…現在はAzureを中心としたクラウドエンジニア
Copyright© 2017-2020 System Support Inc. All rights reserved. 3
本日のゴール
↑のマークがついている箇所はV2になっ
て新たに追加された機能の説明箇所です。
Azure Data Factory V2の新機能を
覚えて帰ってください!
Copyright© 2017-2020 System Support Inc. All rights reserved. 4
本日の流れ
On-Premises
DB
SQL
Database
Azure
フラットファイル
テーブル情報
Azure
Storage
オンプレ環境上の各データをAzure上の分析基盤に集約する
ワークフローを作成するデモを交えてV2新機能を紹介します
データ変換
テーブル情報Blobファイル
Copyright© 2017-2020 System Support Inc. All rights reserved. 5
Azure Data Factoryとは?
Copyright© 2017-2020 System Support Inc. All rights reserved. 6
Azure Data Factoryとは?
Microsoftが提供するパブリッククラウドAzure環境上で利用で
きるフルマネージドのデータ統合(ETL)サービス。
オンプレミス、クラウドと環境を問わない各種データソースか
らのデータロード、加工、出力を管理でき、データ統合を支援
するツール。
2018年6月末にVersion 2がGAとなった
Copyright© 2017-2020 System Support Inc. All rights reserved. 7
データソースとして接続できる環境は約70種以上(2018年8月時点)
接続できるデータソース
Copyright© 2017-2020 System Support Inc. All rights reserved. 8
アクティビティ失敗時の制御ができない!
繰り返し処理や条件分岐等の細やかな制御ができない!
スケジュール実行、即時実行しか対応していない!
データ加工するためにはHDInsightかC#でカスタムするしかない!
GUIが使いづらいしパイプラインのデバッグがしずらい!!!!!
V1時代の困りごと(注:筆者の個人的感想)
Copyright© 2017-2020 System Support Inc. All rights reserved. 9
統合ランタイム - Integration Runtime
リンクされたサービス - LinkedService
データセット - DataSet
アクティビティ - Activity
パイプライン - Pipeline
トリガー - Trigger
Azure Data Factory を理解するためのキーワード
Copyright© 2017-2020 System Support Inc. All rights reserved. 10
統合ランタイム
セルフホステッド統合ランタイム
Azure-SSIS統合ランタイム
Azure統合ランタイム
Copyright© 2017-2020 System Support Inc. All rights reserved. 11
セルフホステッド統合ランタイム
On-Premises
DB
フラットファイル
テーブル情報
 オンプレ環境上のデータに接続する統合ランタイム
Windows環境上で起動するサービス。V1で言うところの「Data Management Gateway」
複数ノードを関連付けてスケールアウトすることが可能
Srv
Azure
Azure
Storage
テーブル情報Blobファイル
SQL
Database
Copyright© 2017-2020 System Support Inc. All rights reserved. 12
Azure-SSIS統合ランタイム
On-Premises
DB
フラットファイル
テーブル情報
 SQL Server Integration Services(以後SSIS)パッケージ実行専用ランタイム
SSIS パッケージ実行専用のAzure VM
スケールアップ、スケールアウトが可能
Srv
Azure
Azure
Storage
テーブル情報Blobファイル
SQL
Database
Copyright© 2017-2020 System Support Inc. All rights reserved. 13
Azure統合ランタイム
On-Premises
DB
フラットファイル
テーブル情報
 Azure環境上のデータに接続する統合ランタイム
Azure 内で完全に管理されたサーバーレス コンピューティングであり、
自動スケールがサポートされている
Srv
Azure
Azure
Storage
テーブル情報Blobファイル
SQL
Database
Copyright© 2017-2020 System Support Inc. All rights reserved. 14
リンクされたサービス、データセット
Copyright© 2017-2020 System Support Inc. All rights reserved. 15
リンクされたサービス(LinkedService)
On-Premises
DB
フラットファイル
テーブル情報
 各データソースへの接続情報
Srv
Azure
Azure
Storage
テーブル情報Blobファイル
SQL
Database
Copyright© 2017-2020 System Support Inc. All rights reserved. 16
データセット(DataSet)
On-Premises
DB
フラットファイル
テーブル情報
 データストア(入力、出力データ)のデータ構造に関する情報
Srv
Azure
Azure
Storage
テーブル情報Blobファイル
SQL
Database
Copyright© 2017-2020 System Support Inc. All rights reserved. 17
アクティビティ
Copyright© 2017-2020 System Support Inc. All rights reserved. 18
アクティビティ(Activity)
データに対して実行するアクションの定義
データ移動アクティビティ
 オンプレミスにあるデータ ストアやクラウド内のデータ ストアの間でデータ
コピーを実施
データ変換アクティビティ
 Azure HDInsight クラスターや Azure Batchなどのコンピューティング環境を
利用してデータセットの変換および処理を実施
 オンデマンドの Azure HDInsight Spark クラスターの作成がサポートされた
 SSISを利用したデータ変換、処理が可能となった
制御アクティビティ
 パイプライン内の繰り返し制御、カスタム REST エンドポイントを呼び出し、
任意データのメタデータ取得、条件分岐等を制御する
Copyright© 2017-2020 System Support Inc. All rights reserved. 19
制御アクティビティ
繰り返し処理 条件分岐 メタデータ、データ取得
Web パイプライン実行 待機処理
入力データセットの各種メ
タ情報、データ内容を読み
取り後続に引き渡す
ForEach, do-until構文の
ようにパイプライン内の
繰り返し制御を定義可能
指定条件の評価
(true/false)を判定し後続
アクティビティを実行
パイプラインから別のパイ
プラインの呼び出しが可能
カスタムREST エンドポイ
ントを呼びだし、他サービ
スと連携が可能
指定した期間待った後、後
続のアクティビティの実行
を続行
Copyright© 2017-2020 System Support Inc. All rights reserved. 20
アクティビティ例①データコピー
On-Premises
DB
フラットファイル
テーブル情報
 オンプレ環境上の各データをAzureBlobStorageに転送
セルフホステッドIRを中継してオンプレ環境上のファイルシステムに格納されたフラットファ
イル、DBのテーブルに格納されたデータをAzureBlobStorageに転送する
Srv
Azure
Azure
Storage
テーブル情報Blobファイル
オンプレ to Azure データコピー データ変換 To DWH データコピー
SQL
Database
Copyright© 2017-2020 System Support Inc. All rights reserved. 21
アクティビティ例②データ変換
On-Premises
DB
フラットファイル
テーブル情報
 BlobStorageに転送されたデータを変換・加工
Azure-SSIS統合ランタイムにあらかじめデプロイ済みのSSISパッケージを実行し、
指定のファイルをデータ変換・加工
Srv
Azure
Azure
Storage
テーブル情報Blobファイル
オンプレ to Azure データコピー データ変換 To DWH データコピー
SQL
Database
Copyright© 2017-2020 System Support Inc. All rights reserved. 22
アクティビティ例③データコピー(EventTrigger利用)
On-Premises
DB
フラットファイル
テーブル情報
 AzureBlobStorage上のデータをSQL Databaseに転送
Azure統合ランタイムを介して、データ加工済みの各ファイルを
SQL Databaseの指定テーブルにインポート
※EventTriggerを利用し、Blobファイル追加時にパイプラインが起動するよう設定
Srv
Azure
Azure
Storage
テーブル情報Blobファイル
オンプレ to Azure データコピー データ変換 To DWH データコピー
SQL
Database
指定コンテナにBlobが
追加されたことを検知
Copyright© 2017-2020 System Support Inc. All rights reserved. 23
アクティビティ例④制御(WEBアクティビティによるメール送信)
On-Premises
DB
フラットファイル
テーブル情報
 データコピーに失敗した場合、エラー情報をメール通知
WEBアクティビティよりメール送信APIを利用してエラー情報をメール送信する
Srv
Azure
Azure
Storage
テーブル情報Blobファイル
オンプレ to Azure データコピー データ変換 To DWH データコピー
データコピー失敗 SQL
Database
Copyright© 2017-2020 System Support Inc. All rights reserved. 24
パイプライン
Copyright© 2017-2020 System Support Inc. All rights reserved. 25
パイプライン(Pipeline)
On-Premises
DB
フラットファイル
テーブル情報
 複数のタスクを連携して実行するアクティビティの論理的グループ
今回のデモでは2種類のパイプラインを作成
1. オンプレ環境の各種データをAzureBlobストレージにコピーしデータ加工
2. 加工済ファイルをSQLDatabaseに格納する(失敗時はメール通知)
Srv
Azure
Azure
Storage
Blobファイル
オンプレ to Azure データコピー データ変換 To DWH データコピー
Copyright© 2017-2020 System Support Inc. All rights reserved. 26
パイプライン(Pipeline)
On-Premises
D
 複数のタスクを連携して実行するアクティビティの論理的グループ
今回のデモでは2種類のパイプラインを作成
1. オンプレ環境の各種データをAzureBlobストレージにコピーしデータ加工
2. 加工済ファイルをSQLDatabaseに格納する(失敗時はメール通知)
Azure
Azure
Storage
テーブル情報Blobファイル
オンプレ to Azure データコピー データ変換 To DWH データコピー
データコピー失敗
SQL
Database
DB
フラットファイル
テーブル情報
Srv
Copyright© 2017-2020 System Support Inc. All rights reserved. 27
トリガー
Copyright© 2017-2020 System Support Inc. All rights reserved. 28
スケジュール
 実時間のスケジュールによってパイプラインを起動するトリガー
 定期的、および特定の日時・曜日(例:月曜日午後 5 時と木曜日午後 9 時)
にパイプラインを実行したい際に使用
タンブリング ウィンドウ
 状態を保持しながら定期的に実行されるトリガー
 一定間隔(例:15分間隔)でパイプラインを実行したい際に使用
イベントベース
 イベントに応答するトリガー
 Azure Blob Storage上へのファイル追加/削除イベントに応答してパイプ
ラインを実行したい際に使用
トリガー
パイプラインの実行をいつ開始する必要があるかを決定する処理単位
Copyright© 2017-2020 System Support Inc. All rights reserved. 29
統合ランタイム - Integration Runtime
リンクされたサービス - LinkedService
データセット - DataSet
アクティビティ - Activity
パイプライン - Pipeline
トリガー - Trigger
Azure Data Factory を理解するためのキーワード
Copyright© 2017-2020 System Support Inc. All rights reserved. 30
Demo
On-Premises
D
Azure
Azure
Storage
テーブル情報Blobファイル
オンプレ to Azure データコピー データ変換 To DWH データコピー
データコピー失敗
SQL
Database
DB
フラットファイル
テーブル情報
Srv
Copyright© 2017-2020 System Support Inc. All rights reserved. 31
V1とV2の比較(まとめ)
Copyright© 2017-2020 System Support Inc. All rights reserved. 32
アクティビティ失敗時の制御ができない!
繰り返し処理や条件分岐等の細やかな制御ができない!
スケジュール実行、即時実行しか対応していない!
データ加工するためにはHDInsightかC#でカスタムするしかない!
GUIが使いづらいしパイプラインのデバッグがしずらい!!!!!
V1時代の困りごと(注:筆者の個人的感想)
Copyright© 2017-2020 System Support Inc. All rights reserved. 33
アクティビティ失敗時の制御ができない!
繰り返し処理や条件分岐等細やかな制御ができない!
スケジュール実行、即時実行しか対応していない!
データ加工するためにはHDInsightかC#でカスタムするしかない!
GUIが使いづらいしパイプラインのデバッグがしずらい!!!!!
V1→V2アップデート
アクティビティ成功/失敗/完了/スキップ時の分岐制御追加
制御フローアクティビティの追加
EventTriggerの追加
SSISパッケージ実行アクティビティの追加
GUIの改善、パイプラインデバッグ機能の追加
Copyright© 2017-2020 System Support Inc. All rights reserved. 34
Appendix
Copyright© 2017-2020 System Support Inc. All rights reserved. 35
アクティビティ一覧
分類 アクティビティ名 概要
Batch Service Custom 指定スクリプト(shell, exe等)をAzure Batch プール上で実行する
Databricks Notebook DatabricksワークスペースでDatabricks Notebookを実行する
Databricks Jar DatabricksクラスターでSpark Jarを実行する
Databricks Python DatabricksクラスターでPythonファイルを実行する
Data Transformation Copy Data 入力データソースを出力先データソースにファイル転送する
Data Lake Analytics U-SQL Azure Data Lake Analytics コンピューティング リンク サービスで U-SQL スクリプトを実行する
General Execute Pipeline 指定パイプラインを実行する
General Get Metadata 入力データセットのメタデータを取得する
General Lookup 入力データソースの構成ファイルやテーブルの内容を読み取る
General Execute SSIS Package SSISパッケージを実行する
General Stored Procedure 指定DBのストアドプロシージャを実行する
General Web カスタム REST エンドポイントを呼び出す(GET, POST, PUT, DELETEが実行可能)
General Wait 指定時間待機する
HDInsight Hive HDInsightクラスターでHiveクエリを実行する
HDInsight MapReduce HDInsightクラスターでMapReduceプログラムを実行する
HDInsight Pig HDInsightクラスターでPigクエリを実行する
HDInsight Spark HDInsightクラスターでSparkプログラムを実行する
HDInsight Streaming HDInsightクラスターでHadoop Streaming プログラムを実行する
Iteration & Conditionals Filter 入力データセットに対してフィルター処理を行う
Iteration & Conditionals ForEach 入力データセットに対して繰り返し処理(forループ)を行う
Iteration & Conditionals If Condition 入力データセットに対して条件分岐処理を行う
Iteration & Conditionals Until 入力データセットに対して繰り返し処理(do-untilループ)を行う
Machine Learning ML Batch Execution Azure ML Web サービスを呼び出して、データの予測を実施する
Machine Learning ML Update Resource スコア付け Web サービス (Web サービスとして公開した予測実験) を、新しくトレーニングを行ったモデルで更新する。
Copyright© 2017-2020 System Support Inc. All rights reserved. 36
各種制限
Resource 既定の制限 上限
Azure サブスクリプション内の Data Factory 50 サポート問合せ
データ ファクトリ内のエンティティ (パイプライン、データセット、トリガー、リンクされたサービス、統合ランタイム) の合計数 5,000 サポート問合せ
1 つのサブスクリプションでの Azure-SSIS Integration Runtime の CPU コアの合計 128 サポート問合せ
パイプラインあたりの同時実行パイプラインの実行数 100 サポート問合せ
データ ファクトリあたりの同時実行パイプラインの実行数 10,000 サポート問合せ
パイプラインあたりの最大アクティビティ数 (コンテナーの内部アクティビティを含む) 40 40
パイプラインあたりの最大パラメーター数 50 50
ForEach 項目数 100,000 100,000
ForEach 並列処理 20 50
式ごとの文字数 8,192 8,192
最小タンブリング ウィンドウ トリガー間隔 15 分 15 分
パイプラインのアクティビティ実行の最大タイムアウト 7 日 7 日
パイプライン オブジェクトのオブジェクトあたりのバイト数1 200 KB 200 KB
データセットとリンクされたサービス オブジェクトのオブジェクトあたりのバイト数1 100 KB 2,000 KB
コピー アクティビティの実行 1 回あたりのデータ統合単位 3 256 サポート問合せ
API 呼び出しの書き込み 2,500/時 サポート問合せ
API 呼び出しの読み取り 12,500/時 サポート問合せ
https://docs.microsoft.com/ja-jp/azure/azure-subscription-service-limits#data-factory-limits
Copyright© 2017-2020 System Support Inc. All rights reserved. 37
接続可能データソース一覧(2018年8月時点)
Azure DB NoSQL ファイル 汎用プロトコル サービスとアプリ
Azure Blob Storage Amazon Redshift Cassandra Amazon S3 汎用 HTTP Amazon Marketplace Web Service (プレビュー)
Azure Cosmos DB DB2 Couchbase (プレビュー) ファイル システム 汎用 OData Common Data Service for Apps
Azure Data Lake Storage Gen1 Drill (プレビュー) MongoDB FTP 汎用 ODBC Concur (プレビュー)
Azure Data Lake Storage Gen2 (プレビュー) Google BigQuery HDFS Dynamics 365
Azure Database for MySQL Greenplum SFTP Dynamics CRM
Azure Database for PostgreSQL HBase GE Historian
Azure File Storage Hive HubSpot (プレビュー)
Azure SQL Database Apache Impala (プレビュー) Jira (プレビュー)
Azure SQL Data Warehouse Informix Magento (プレビュー)
Azure Search インデックス MariaDB Marketo (プレビュー)
Azure Table Storage Microsoft Access Oracle Eloqua (プレビュー)
MySQL Oracle Responsys (プレビュー)
Netezza Paypal (プレビュー)
Oracle QuickBooks (プレビュー)
Phoenix Salesforce
PostgreSQL Salesforce Service Cloud
Presto (プレビュー) Salesforce Marketing Cloud (プレビュー)
SAP Business Warehouse SAP Cloud for Customer (C4C)
SAP HANA SAP ECC
Spark ServiceNow
SQL Server Shopify (プレビュー)
Sybase Square (プレビュー)
Teradata Web テーブル (HTML テーブル)
Vertica Xero (プレビュー)
Zoho (プレビュー)
https://docs.microsoft.com/ja-jp/azure/data-factory/copy-activity-overview#supported-data-stores-and-formats

More Related Content

PDF
クラウドDWHにおける観点とAzure Synapse Analyticsの対応
PPTX
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
PDF
Data platformdesign
PDF
Microsoft Azure Storage 概要
PPTX
BigData Architecture for Azure
PDF
Azure Monitor Logで実現するモダンな管理手法
PPTX
第15回JSSUG「Azure SQL Database 超入門」
PDF
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
クラウドDWHにおける観点とAzure Synapse Analyticsの対応
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
Data platformdesign
Microsoft Azure Storage 概要
BigData Architecture for Azure
Azure Monitor Logで実現するモダンな管理手法
第15回JSSUG「Azure SQL Database 超入門」
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現

What's hot (20)

PDF
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
PPTX
SCUGJ第27回勉強会:ものすごくざっくりなAzure Filesの話
PDF
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
PPTX
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
PDF
3分でわかるAzureでのService Principal
PDF
ビッグデータ処理データベースの全体像と使い分け
PPTX
Azure Datalake 大全
PPTX
Data Factoryの勘所・大事なところ
PDF
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(前編)
PDF
[DI03] DWH スペシャリストが語る! Azure SQL Data Warehouse チューニングの勘所
PDF
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
PDF
ITサービスマネジメントとSRE
PDF
Azure Synapse Analytics 専用SQL Poolベストプラクティス
PDF
Azure App Service Overview
PDF
MS Interact 2019 - Azureサービスで実現するセキュリティ全体像
PPTX
アプリケーション開発者のためのAzure Databricks入門
PDF
Snowflake Architecture and Performance
PDF
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
PPTX
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
PPTX
Azure 仮想マシンにおける運用管理・高可用性設計のベストプラクティス
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
SCUGJ第27回勉強会:ものすごくざっくりなAzure Filesの話
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
3分でわかるAzureでのService Principal
ビッグデータ処理データベースの全体像と使い分け
Azure Datalake 大全
Data Factoryの勘所・大事なところ
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(前編)
[DI03] DWH スペシャリストが語る! Azure SQL Data Warehouse チューニングの勘所
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
ITサービスマネジメントとSRE
Azure Synapse Analytics 専用SQL Poolベストプラクティス
Azure App Service Overview
MS Interact 2019 - Azureサービスで実現するセキュリティ全体像
アプリケーション開発者のためのAzure Databricks入門
Snowflake Architecture and Performance
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
Azure 仮想マシンにおける運用管理・高可用性設計のベストプラクティス
Ad

Similar to Data Factory V2 新機能徹底活用入門 (20)

PPTX
Azure Data Platform
PDF
Dat007 データコピー・デ
PPTX
Dat007 データコピー・デ
PDF
Large Scale Data Mining of the Mobage Service - #PRMU 2011 #Mahout #Hadoop
PDF
[Microsoft Tech Summit 2018] Azure Machine Learning サービスと Azure Databricks で実...
PPTX
Azure インフラの信頼性とガバナンス
PDF
Azure上の データベース 機能の選び方。KVSからDWHまで
PDF
R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)
PDF
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [概要編]
PPTX
Azure DataLake 大全
PDF
Edge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォーム
PDF
Mahout JP - #TokyoWebmining 11th #MahoutJP
PDF
[Microsoft Cognitive Toolkit (CNTK) on Azure ハンズオン] Microsoft Azure の AI 関連サービス
PDF
04 Qlik Cloud データ統合 しっかり学ぶ勉強会 #4 データレプリケーションタスクの作成
PDF
17-D-1 Azure開発の極意 ~2011年版~
PPTX
第29回 SQL Server 勉強会 (JSSUG) - Azure Synapse Analytics 概要
PDF
"Mahout Recommendation" - #TokyoWebmining 14th
PDF
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
PDF
『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011
PDF
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Azure Data Platform
Dat007 データコピー・デ
Dat007 データコピー・デ
Large Scale Data Mining of the Mobage Service - #PRMU 2011 #Mahout #Hadoop
[Microsoft Tech Summit 2018] Azure Machine Learning サービスと Azure Databricks で実...
Azure インフラの信頼性とガバナンス
Azure上の データベース 機能の選び方。KVSからDWHまで
R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [概要編]
Azure DataLake 大全
Edge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォーム
Mahout JP - #TokyoWebmining 11th #MahoutJP
[Microsoft Cognitive Toolkit (CNTK) on Azure ハンズオン] Microsoft Azure の AI 関連サービス
04 Qlik Cloud データ統合 しっかり学ぶ勉強会 #4 データレプリケーションタスクの作成
17-D-1 Azure開発の極意 ~2011年版~
第29回 SQL Server 勉強会 (JSSUG) - Azure Synapse Analytics 概要
"Mahout Recommendation" - #TokyoWebmining 14th
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Ad

Recently uploaded (8)

PDF
限外ろ過膜調査レポート:市場規模、シェア、産業分析データ、最新動向2025-2031 YH Research
PDF
商用ウェブカメラ市場:世界の産業現状、競合分析、シェア、規模、動向2025-2031年の予測
PDF
グローバルロープウェイ用スチールワイヤーロープ市場2025:主要企業のシェア、売上動向、競争戦略
PDF
口腔内スキャナー市場:世界の産業現状、競合分析、シェア、規模、動向2025-2031年の予測
PDF
世界半導体用酸化ハフニウム市場のサプライチェーン解析:上流、下流、収益モデル分析2025-2031
PDF
液体クラトム抽出物供給側分析:世界の生産能力・販売量・平均価格動向(2025-2031)
PDF
Qlik TECH TALK セミナー:What's New In Qlik ~ 2025年7月リリース最新機能のご紹介
PDF
XCMSを用いた質量分析データ処理_BioCAsia2021_yamamoto.pdf
限外ろ過膜調査レポート:市場規模、シェア、産業分析データ、最新動向2025-2031 YH Research
商用ウェブカメラ市場:世界の産業現状、競合分析、シェア、規模、動向2025-2031年の予測
グローバルロープウェイ用スチールワイヤーロープ市場2025:主要企業のシェア、売上動向、競争戦略
口腔内スキャナー市場:世界の産業現状、競合分析、シェア、規模、動向2025-2031年の予測
世界半導体用酸化ハフニウム市場のサプライチェーン解析:上流、下流、収益モデル分析2025-2031
液体クラトム抽出物供給側分析:世界の生産能力・販売量・平均価格動向(2025-2031)
Qlik TECH TALK セミナー:What's New In Qlik ~ 2025年7月リリース最新機能のご紹介
XCMSを用いた質量分析データ処理_BioCAsia2021_yamamoto.pdf

Data Factory V2 新機能徹底活用入門

  • 1. Copyright© 2017-2020 System Support Inc. All rights reserved. Data Factory V2 新機能徹底活用入門 クラウドコンサルティング事業部 藤川 佳祐
  • 2. Copyright© 2017-2020 System Support Inc. All rights reserved. 2 自己紹介 藤川 佳祐 (Keisuke Fujikawa) 株式会社システムサポート 所属 略歴 フリーペーパー編集営業 アプリケーションエンジニア(C#, Ruby) ソーシャルゲーム運営 データベースエンジニア(Oracle) …現在はAzureを中心としたクラウドエンジニア
  • 3. Copyright© 2017-2020 System Support Inc. All rights reserved. 3 本日のゴール ↑のマークがついている箇所はV2になっ て新たに追加された機能の説明箇所です。 Azure Data Factory V2の新機能を 覚えて帰ってください!
  • 4. Copyright© 2017-2020 System Support Inc. All rights reserved. 4 本日の流れ On-Premises DB SQL Database Azure フラットファイル テーブル情報 Azure Storage オンプレ環境上の各データをAzure上の分析基盤に集約する ワークフローを作成するデモを交えてV2新機能を紹介します データ変換 テーブル情報Blobファイル
  • 5. Copyright© 2017-2020 System Support Inc. All rights reserved. 5 Azure Data Factoryとは?
  • 6. Copyright© 2017-2020 System Support Inc. All rights reserved. 6 Azure Data Factoryとは? Microsoftが提供するパブリッククラウドAzure環境上で利用で きるフルマネージドのデータ統合(ETL)サービス。 オンプレミス、クラウドと環境を問わない各種データソースか らのデータロード、加工、出力を管理でき、データ統合を支援 するツール。 2018年6月末にVersion 2がGAとなった
  • 7. Copyright© 2017-2020 System Support Inc. All rights reserved. 7 データソースとして接続できる環境は約70種以上(2018年8月時点) 接続できるデータソース
  • 8. Copyright© 2017-2020 System Support Inc. All rights reserved. 8 アクティビティ失敗時の制御ができない! 繰り返し処理や条件分岐等の細やかな制御ができない! スケジュール実行、即時実行しか対応していない! データ加工するためにはHDInsightかC#でカスタムするしかない! GUIが使いづらいしパイプラインのデバッグがしずらい!!!!! V1時代の困りごと(注:筆者の個人的感想)
  • 9. Copyright© 2017-2020 System Support Inc. All rights reserved. 9 統合ランタイム - Integration Runtime リンクされたサービス - LinkedService データセット - DataSet アクティビティ - Activity パイプライン - Pipeline トリガー - Trigger Azure Data Factory を理解するためのキーワード
  • 10. Copyright© 2017-2020 System Support Inc. All rights reserved. 10 統合ランタイム セルフホステッド統合ランタイム Azure-SSIS統合ランタイム Azure統合ランタイム
  • 11. Copyright© 2017-2020 System Support Inc. All rights reserved. 11 セルフホステッド統合ランタイム On-Premises DB フラットファイル テーブル情報  オンプレ環境上のデータに接続する統合ランタイム Windows環境上で起動するサービス。V1で言うところの「Data Management Gateway」 複数ノードを関連付けてスケールアウトすることが可能 Srv Azure Azure Storage テーブル情報Blobファイル SQL Database
  • 12. Copyright© 2017-2020 System Support Inc. All rights reserved. 12 Azure-SSIS統合ランタイム On-Premises DB フラットファイル テーブル情報  SQL Server Integration Services(以後SSIS)パッケージ実行専用ランタイム SSIS パッケージ実行専用のAzure VM スケールアップ、スケールアウトが可能 Srv Azure Azure Storage テーブル情報Blobファイル SQL Database
  • 13. Copyright© 2017-2020 System Support Inc. All rights reserved. 13 Azure統合ランタイム On-Premises DB フラットファイル テーブル情報  Azure環境上のデータに接続する統合ランタイム Azure 内で完全に管理されたサーバーレス コンピューティングであり、 自動スケールがサポートされている Srv Azure Azure Storage テーブル情報Blobファイル SQL Database
  • 14. Copyright© 2017-2020 System Support Inc. All rights reserved. 14 リンクされたサービス、データセット
  • 15. Copyright© 2017-2020 System Support Inc. All rights reserved. 15 リンクされたサービス(LinkedService) On-Premises DB フラットファイル テーブル情報  各データソースへの接続情報 Srv Azure Azure Storage テーブル情報Blobファイル SQL Database
  • 16. Copyright© 2017-2020 System Support Inc. All rights reserved. 16 データセット(DataSet) On-Premises DB フラットファイル テーブル情報  データストア(入力、出力データ)のデータ構造に関する情報 Srv Azure Azure Storage テーブル情報Blobファイル SQL Database
  • 17. Copyright© 2017-2020 System Support Inc. All rights reserved. 17 アクティビティ
  • 18. Copyright© 2017-2020 System Support Inc. All rights reserved. 18 アクティビティ(Activity) データに対して実行するアクションの定義 データ移動アクティビティ  オンプレミスにあるデータ ストアやクラウド内のデータ ストアの間でデータ コピーを実施 データ変換アクティビティ  Azure HDInsight クラスターや Azure Batchなどのコンピューティング環境を 利用してデータセットの変換および処理を実施  オンデマンドの Azure HDInsight Spark クラスターの作成がサポートされた  SSISを利用したデータ変換、処理が可能となった 制御アクティビティ  パイプライン内の繰り返し制御、カスタム REST エンドポイントを呼び出し、 任意データのメタデータ取得、条件分岐等を制御する
  • 19. Copyright© 2017-2020 System Support Inc. All rights reserved. 19 制御アクティビティ 繰り返し処理 条件分岐 メタデータ、データ取得 Web パイプライン実行 待機処理 入力データセットの各種メ タ情報、データ内容を読み 取り後続に引き渡す ForEach, do-until構文の ようにパイプライン内の 繰り返し制御を定義可能 指定条件の評価 (true/false)を判定し後続 アクティビティを実行 パイプラインから別のパイ プラインの呼び出しが可能 カスタムREST エンドポイ ントを呼びだし、他サービ スと連携が可能 指定した期間待った後、後 続のアクティビティの実行 を続行
  • 20. Copyright© 2017-2020 System Support Inc. All rights reserved. 20 アクティビティ例①データコピー On-Premises DB フラットファイル テーブル情報  オンプレ環境上の各データをAzureBlobStorageに転送 セルフホステッドIRを中継してオンプレ環境上のファイルシステムに格納されたフラットファ イル、DBのテーブルに格納されたデータをAzureBlobStorageに転送する Srv Azure Azure Storage テーブル情報Blobファイル オンプレ to Azure データコピー データ変換 To DWH データコピー SQL Database
  • 21. Copyright© 2017-2020 System Support Inc. All rights reserved. 21 アクティビティ例②データ変換 On-Premises DB フラットファイル テーブル情報  BlobStorageに転送されたデータを変換・加工 Azure-SSIS統合ランタイムにあらかじめデプロイ済みのSSISパッケージを実行し、 指定のファイルをデータ変換・加工 Srv Azure Azure Storage テーブル情報Blobファイル オンプレ to Azure データコピー データ変換 To DWH データコピー SQL Database
  • 22. Copyright© 2017-2020 System Support Inc. All rights reserved. 22 アクティビティ例③データコピー(EventTrigger利用) On-Premises DB フラットファイル テーブル情報  AzureBlobStorage上のデータをSQL Databaseに転送 Azure統合ランタイムを介して、データ加工済みの各ファイルを SQL Databaseの指定テーブルにインポート ※EventTriggerを利用し、Blobファイル追加時にパイプラインが起動するよう設定 Srv Azure Azure Storage テーブル情報Blobファイル オンプレ to Azure データコピー データ変換 To DWH データコピー SQL Database 指定コンテナにBlobが 追加されたことを検知
  • 23. Copyright© 2017-2020 System Support Inc. All rights reserved. 23 アクティビティ例④制御(WEBアクティビティによるメール送信) On-Premises DB フラットファイル テーブル情報  データコピーに失敗した場合、エラー情報をメール通知 WEBアクティビティよりメール送信APIを利用してエラー情報をメール送信する Srv Azure Azure Storage テーブル情報Blobファイル オンプレ to Azure データコピー データ変換 To DWH データコピー データコピー失敗 SQL Database
  • 24. Copyright© 2017-2020 System Support Inc. All rights reserved. 24 パイプライン
  • 25. Copyright© 2017-2020 System Support Inc. All rights reserved. 25 パイプライン(Pipeline) On-Premises DB フラットファイル テーブル情報  複数のタスクを連携して実行するアクティビティの論理的グループ 今回のデモでは2種類のパイプラインを作成 1. オンプレ環境の各種データをAzureBlobストレージにコピーしデータ加工 2. 加工済ファイルをSQLDatabaseに格納する(失敗時はメール通知) Srv Azure Azure Storage Blobファイル オンプレ to Azure データコピー データ変換 To DWH データコピー
  • 26. Copyright© 2017-2020 System Support Inc. All rights reserved. 26 パイプライン(Pipeline) On-Premises D  複数のタスクを連携して実行するアクティビティの論理的グループ 今回のデモでは2種類のパイプラインを作成 1. オンプレ環境の各種データをAzureBlobストレージにコピーしデータ加工 2. 加工済ファイルをSQLDatabaseに格納する(失敗時はメール通知) Azure Azure Storage テーブル情報Blobファイル オンプレ to Azure データコピー データ変換 To DWH データコピー データコピー失敗 SQL Database DB フラットファイル テーブル情報 Srv
  • 27. Copyright© 2017-2020 System Support Inc. All rights reserved. 27 トリガー
  • 28. Copyright© 2017-2020 System Support Inc. All rights reserved. 28 スケジュール  実時間のスケジュールによってパイプラインを起動するトリガー  定期的、および特定の日時・曜日(例:月曜日午後 5 時と木曜日午後 9 時) にパイプラインを実行したい際に使用 タンブリング ウィンドウ  状態を保持しながら定期的に実行されるトリガー  一定間隔(例:15分間隔)でパイプラインを実行したい際に使用 イベントベース  イベントに応答するトリガー  Azure Blob Storage上へのファイル追加/削除イベントに応答してパイプ ラインを実行したい際に使用 トリガー パイプラインの実行をいつ開始する必要があるかを決定する処理単位
  • 29. Copyright© 2017-2020 System Support Inc. All rights reserved. 29 統合ランタイム - Integration Runtime リンクされたサービス - LinkedService データセット - DataSet アクティビティ - Activity パイプライン - Pipeline トリガー - Trigger Azure Data Factory を理解するためのキーワード
  • 30. Copyright© 2017-2020 System Support Inc. All rights reserved. 30 Demo On-Premises D Azure Azure Storage テーブル情報Blobファイル オンプレ to Azure データコピー データ変換 To DWH データコピー データコピー失敗 SQL Database DB フラットファイル テーブル情報 Srv
  • 31. Copyright© 2017-2020 System Support Inc. All rights reserved. 31 V1とV2の比較(まとめ)
  • 32. Copyright© 2017-2020 System Support Inc. All rights reserved. 32 アクティビティ失敗時の制御ができない! 繰り返し処理や条件分岐等の細やかな制御ができない! スケジュール実行、即時実行しか対応していない! データ加工するためにはHDInsightかC#でカスタムするしかない! GUIが使いづらいしパイプラインのデバッグがしずらい!!!!! V1時代の困りごと(注:筆者の個人的感想)
  • 33. Copyright© 2017-2020 System Support Inc. All rights reserved. 33 アクティビティ失敗時の制御ができない! 繰り返し処理や条件分岐等細やかな制御ができない! スケジュール実行、即時実行しか対応していない! データ加工するためにはHDInsightかC#でカスタムするしかない! GUIが使いづらいしパイプラインのデバッグがしずらい!!!!! V1→V2アップデート アクティビティ成功/失敗/完了/スキップ時の分岐制御追加 制御フローアクティビティの追加 EventTriggerの追加 SSISパッケージ実行アクティビティの追加 GUIの改善、パイプラインデバッグ機能の追加
  • 34. Copyright© 2017-2020 System Support Inc. All rights reserved. 34 Appendix
  • 35. Copyright© 2017-2020 System Support Inc. All rights reserved. 35 アクティビティ一覧 分類 アクティビティ名 概要 Batch Service Custom 指定スクリプト(shell, exe等)をAzure Batch プール上で実行する Databricks Notebook DatabricksワークスペースでDatabricks Notebookを実行する Databricks Jar DatabricksクラスターでSpark Jarを実行する Databricks Python DatabricksクラスターでPythonファイルを実行する Data Transformation Copy Data 入力データソースを出力先データソースにファイル転送する Data Lake Analytics U-SQL Azure Data Lake Analytics コンピューティング リンク サービスで U-SQL スクリプトを実行する General Execute Pipeline 指定パイプラインを実行する General Get Metadata 入力データセットのメタデータを取得する General Lookup 入力データソースの構成ファイルやテーブルの内容を読み取る General Execute SSIS Package SSISパッケージを実行する General Stored Procedure 指定DBのストアドプロシージャを実行する General Web カスタム REST エンドポイントを呼び出す(GET, POST, PUT, DELETEが実行可能) General Wait 指定時間待機する HDInsight Hive HDInsightクラスターでHiveクエリを実行する HDInsight MapReduce HDInsightクラスターでMapReduceプログラムを実行する HDInsight Pig HDInsightクラスターでPigクエリを実行する HDInsight Spark HDInsightクラスターでSparkプログラムを実行する HDInsight Streaming HDInsightクラスターでHadoop Streaming プログラムを実行する Iteration & Conditionals Filter 入力データセットに対してフィルター処理を行う Iteration & Conditionals ForEach 入力データセットに対して繰り返し処理(forループ)を行う Iteration & Conditionals If Condition 入力データセットに対して条件分岐処理を行う Iteration & Conditionals Until 入力データセットに対して繰り返し処理(do-untilループ)を行う Machine Learning ML Batch Execution Azure ML Web サービスを呼び出して、データの予測を実施する Machine Learning ML Update Resource スコア付け Web サービス (Web サービスとして公開した予測実験) を、新しくトレーニングを行ったモデルで更新する。
  • 36. Copyright© 2017-2020 System Support Inc. All rights reserved. 36 各種制限 Resource 既定の制限 上限 Azure サブスクリプション内の Data Factory 50 サポート問合せ データ ファクトリ内のエンティティ (パイプライン、データセット、トリガー、リンクされたサービス、統合ランタイム) の合計数 5,000 サポート問合せ 1 つのサブスクリプションでの Azure-SSIS Integration Runtime の CPU コアの合計 128 サポート問合せ パイプラインあたりの同時実行パイプラインの実行数 100 サポート問合せ データ ファクトリあたりの同時実行パイプラインの実行数 10,000 サポート問合せ パイプラインあたりの最大アクティビティ数 (コンテナーの内部アクティビティを含む) 40 40 パイプラインあたりの最大パラメーター数 50 50 ForEach 項目数 100,000 100,000 ForEach 並列処理 20 50 式ごとの文字数 8,192 8,192 最小タンブリング ウィンドウ トリガー間隔 15 分 15 分 パイプラインのアクティビティ実行の最大タイムアウト 7 日 7 日 パイプライン オブジェクトのオブジェクトあたりのバイト数1 200 KB 200 KB データセットとリンクされたサービス オブジェクトのオブジェクトあたりのバイト数1 100 KB 2,000 KB コピー アクティビティの実行 1 回あたりのデータ統合単位 3 256 サポート問合せ API 呼び出しの書き込み 2,500/時 サポート問合せ API 呼び出しの読み取り 12,500/時 サポート問合せ https://docs.microsoft.com/ja-jp/azure/azure-subscription-service-limits#data-factory-limits
  • 37. Copyright© 2017-2020 System Support Inc. All rights reserved. 37 接続可能データソース一覧(2018年8月時点) Azure DB NoSQL ファイル 汎用プロトコル サービスとアプリ Azure Blob Storage Amazon Redshift Cassandra Amazon S3 汎用 HTTP Amazon Marketplace Web Service (プレビュー) Azure Cosmos DB DB2 Couchbase (プレビュー) ファイル システム 汎用 OData Common Data Service for Apps Azure Data Lake Storage Gen1 Drill (プレビュー) MongoDB FTP 汎用 ODBC Concur (プレビュー) Azure Data Lake Storage Gen2 (プレビュー) Google BigQuery HDFS Dynamics 365 Azure Database for MySQL Greenplum SFTP Dynamics CRM Azure Database for PostgreSQL HBase GE Historian Azure File Storage Hive HubSpot (プレビュー) Azure SQL Database Apache Impala (プレビュー) Jira (プレビュー) Azure SQL Data Warehouse Informix Magento (プレビュー) Azure Search インデックス MariaDB Marketo (プレビュー) Azure Table Storage Microsoft Access Oracle Eloqua (プレビュー) MySQL Oracle Responsys (プレビュー) Netezza Paypal (プレビュー) Oracle QuickBooks (プレビュー) Phoenix Salesforce PostgreSQL Salesforce Service Cloud Presto (プレビュー) Salesforce Marketing Cloud (プレビュー) SAP Business Warehouse SAP Cloud for Customer (C4C) SAP HANA SAP ECC Spark ServiceNow SQL Server Shopify (プレビュー) Sybase Square (プレビュー) Teradata Web テーブル (HTML テーブル) Vertica Xero (プレビュー) Zoho (プレビュー) https://docs.microsoft.com/ja-jp/azure/data-factory/copy-activity-overview#supported-data-stores-and-formats

Editor's Notes

  • #2: 00:20 50:00 – 49:40 00:00 – 00:20 皆様こんにちは、システムサポート 藤川と申します。 このセッションでは、データファクトリーV2新機能徹底活用入門と題しまして、 データファクトリとはなんぞやという点から、先日バージョン2がGAし、バージョンアップされたことで追加された新機能についてを中心に説明させていただきます。 お付き合いいただきますようお願い致します。
  • #3: 0:30 49:40 – 49:10 00:20 – 00:50 まずは自己紹介させてください。 私は藤川佳祐と申します。 株式会社システムサポートに所属しています。 これまでの略歴を簡単に説明させていただきますが、 数々のジョブを転々として参りまして、 最初は営業として社会人生活をスタートし、WEBサービスのサービス開発に携わったり、 ソーシャルゲームの運営にも携わってきました。 その後、DBエンジニアに転向し、現在は領域をクラウドに広げてきています。 このような場でお話させていただくのは初めてでございますが、何卒宜しくお願い致します。
  • #4: 00:20 49:10 – 48:50 00:50 – 01:10 本セッションのゴールですが、 皆さんにはDataFactoryV2の新機能を中心に覚えて帰っていただきたいと思います。 Newマークを付けている箇所はバージョンアップして追加された新機能に関する説明箇所になりますので、 そこだけでも覚えて帰っていただけると幸いです。
  • #5: 00:20 48:50 – 48:30 01:10 – 01:30 本日の流れですが、オンプレ環境にあるcsvファイルやDBデータを、Azure環境のBlobにアップロードしてデータ加工し、 SQLデータベースにコピーする、という流れを例に新機能の説明を致します。
  • #6: 00:30 48:30 – 48:00 01:30 – 02:00 そもそも、データファクトリーって何?という点からご説明致します。 ~~ ちなみに、この中でデータファクトリーを使ったことがあるよ、という方はいらっしゃいますでしょうか? ->結構いる 結構いらっしゃいますね。もう知っているよ、という点も多々でてくると思いますが、ぜひとも改めて聞いていただけると助かります。 ->あまりいない あまりいないようですね。では、説明を聞いていただきADFとはそもそもなんぞや、というところから理解していただけると幸いです。
  • #7: 00:20 48:00 – 47:40 02:00 – 02:20 データファクトリーとは、Azureが提供するフルマネージドのデータ統合サービスです。 各種データソース上のデータロードや加工、出力を管理できるツールです。 2018年6月末に最新バージョンとなるVersion 2がGAされました。
  • #8: 00:20 47:40 – 47:20 02:20 – 02:40 接続できるデータソースは現時点で70種以上あります。 詳細に関してはアペンディクスとして資料を添付していますので、本資料が公開された際にご確認ください。
  • #9: 00:40 47:20 – 46:40 02:40 – 03:20 さて、ここで私がV1を実際に使用していた時に感じていた点をここに挙げています。 アクティビティ失敗時のエラーハンドリングはどうしたらいいのか、、、パイプラインの細やかな制御ができないな、、 データ変換を行うのが難しいな、、、何よりGUIが使いづらいな、、といったいくつも改善してほしいと願っていた点がありました。 V1を使ったことがある方なら共感していただけるのではないかなと思います。 これが、バージョンアップしたことで解決したのか。これからの説明で感じ取ってもらえるかと思います。
  • #10: 00:10 46:40 – 46:30 03:20 – 03:30 さて、まずはデータファクトリーを理解して頂く上で、ここに挙げたキーワードを理解して頂く必要がございます。 それぞれのキーワードについて、これから説明致します。
  • #11: 00:20 46:30 – 46:10 03:30 – 03:50 まずは統合ランタイムについてです。 統合ランタイムとは何かというと、各データソース間のデータコピーやこの後説明する各アクティビティの実行、SSISパッケージの実行等を担当するコンピューティング環境を指します。 三種類存在しますので、簡単に説明致します。
  • #12: 00:30 46:10 – 45:40 03:50 – 04:20 まずはセルフホステッド統合ランタイムです。 V1では「データマネジメントゲートウェイ」と言われていましたが、オンプレ環境のデータソースにアクセスするためには必須の環境であり、オンプレ環境上のデータソースに接続できるWindows環境上に構築します。 データコピー等のデータ処理性能はノードの性能に依存し、 複数ノード上に構成してリンクさせることで冗長構成をとることも可能です。
  • #13: 00:50 45:40 – 44:50 04:20 – 05:10 次にV2で新しく登場したAzure-SSIS統合ランタイムです。 SSISとはSQL Server Integration Servicesの略称で、SQL Serverに同梱されたETLツールを指します。 そのツールを使ってデータコピーやデータ加工等多様な処理を行うことができ、 データフローを定義したSSISパッケージと呼ばれる定義ファイルを元に実施されるETL処理の実行環境になるのがAzure-SSIS統合ランタイムです。 V2の目玉機能の一つといえると思います。 スケールアップ、スケールアウトが可能であり、データファクトリーで管理できます。 なお、SSIS統合ランタイムを構成するには、カタログ情報格納先となるSQL Server環境が必要となります。
  • #14: 00:20 44:50 – 44:30 05:10 – 05:30 最後にAzure統合ランタイムです。 Azure環境上のデータに接続するために必要な環境であり、こちらはユーザーが手動で構成する必要はないサーバーレス環境です。 自動スケールされるので、例えばBlobストレージ上の複数ファイルをコピーする際は、ファイル数に応じて自動的に最適なノード数が選択されてパラレルでファイル転送が実施されます。
  • #15: 00:10 44:30 – 44:20 05:30 – 05:40 次は各データソースへの接続に関するLinkedService,datasetについてです。
  • #16: 00:10 44:20 – 44:10 05:40 – 05:50 LinkedServiceは各データソースへの接続情報です。今回は赤枠で囲ったデータソースへのLinkedServiceをあらかじめ定義しておきます。
  • #17: 00:10 44:10 – 44:00 05:50 – 06:00 次にデータセットです。各データソースの構造についてを定義します。 DBならテーブル名やカラムについてを定義します。
  • #18: 00:10 44:00 – 43:50 06:00 – 06:10 次はアクティビティについて説明します。
  • #19: 00:50 43:50 – 43:00 06:10 – 07:00 アクティビティは大きく分けてデータコピー、データ変換、制御アクティビティの三種類があります。 データ移動は各データソース間のデータコピーを実施する際に利用します。 データ変換はHDInsightやAzureBatchを利用してデータセットの変換等を行う際に利用します。 例えば、HDInsightのhiveを使用してデータ変換を実施する場合には、 処理内容を記載したhiveQLファイルをBlobストレージに データ変換を行う際に、アクティビティ実行に合わせてHDInsightをオンデマンドで起動、停止することもサポートされていますが、 V1ではHadoopクラスターのみ可能でした。V2でSparkクラスターもサポートされたため、データ変換手段の選択肢が広がりました。 さらに、V2では制御アクティビティが追加されました。次のスライドで説明します。
  • #20: 00:60 43:50 – 42:50 06:10 – 07:10 こちらに、制御アクティビティで実現可能となりました新機能を一部上げさせて頂いております。 スライドに記載しました、繰り返し処理、条件分岐、カスタムRESTエンドポイント呼び出し等、様々なフローに対応できるようになりました。 例えば、WEBアクティビティを利用できるようになったことで、メール送信APIやSlack等チャットツールのAPIを利用してのメールやメッセージ通知が可能になり、 また、ソースデータのメタ情報(例えば、元データのカラム数や存在有無)を取得した上で取得した内容に合わせて異なる処理を実行させることも可能となりました。 ここで説明した制御アクティビティを活用して、場合に合わせたフローの組み立てが、データ統合を実現する上で重要なポイントになると私は考えます。 次のスライドでは、今回のデモ環境で実行するアクティビティを簡単に説明致します。
  • #21: 00:30 42:50 – 42:20 07:10 – 07:40 まず、今回のデモ環境では4つのアクティビティを利用します。 一つ目がデータ移動アクティビティです。 ここでは、オンプレ環境に格納しているcsv、DBに格納しているテストデータをセルフホステッド統合ランタイムを介してAzureのBlobストレージに転送します。 その際、DBに格納しているテーブルデータもcsv形式にして出力させます。
  • #22: 00:40 42:20 – 41:40 07:40 – 08:00 次はBlobストレージ上に格納した各データをSSISを使ってデータ加工するアクティビティです。 まずはそれぞれのcsvファイルの末尾に日付情報をくっつけて、 Unionでがっちゃんこするデータ加工を行い、一つのログファイルとして統合する処理をSSISで行い、Blobに格納する、というフローをここで実施します。
  • #23: 00:30 41:40 – 41:10 08:00 – 08:30 次は、SSISで加工済みデータが指定のコンテナに格納されたイベントを検知してSQLデータベースにデータを転送するアクティビティです。 その処理を実施するために重要となるのが、後ほど説明しますイベントトリガーです。 そちらの説明に関してはまた後程。
  • #24: 01:10 41:10 – 40:00 08:30 – 09:40 最後に、データコピーに失敗した場合のメール通知を行うWEBアクティビティです。 データコピーがなんらかの原因で失敗した際に、SendGridというクラウドメール配信サービスが提供しているメール送信APIをキックしてメール通知する設定を加えます。 V2では、アクティビティの失敗時に特定のアクティビティを実行するといったアクティビティの成否による制御も可能となりました。 これにより、エラーハンドリングも容易となりました。 なお、今回は失敗時の動作を定義しますが、アクティビティが成功、失敗、完了、またスキップという4つの状態での分岐が制御できます。 以上、4種類のアクティビティを組み合わせてオンプレ環境のデータをAzure環境のデータ分析基盤に転送するETL処理をデモ環境で実現させ説明致します。
  • #25: 00:10 40:00 – 39:50 09:40 – 09:50 それでは、処理の実行単位となるパイプラインについて説明します。
  • #26: 00:30 39:50 – 39:20 09:50 – 10:20 パイプラインとは、複数のタスクを連携して実行するための、アクティビティの論理的グループを指します。 データファクトリーでは、このパイプライン単位で処理を管理しています。 今回の例では、 一つ目に、オンプレ環境のデータをBlobに格納しSSISでデータ加工するパイプラインをまず作成します。
  • #27: 00:20 39:20 – 39:00 10:20 – 10:40 二つ目に作成するパイプラインは、加工済みデータをSQLデータベースにコピーし、失敗した場合はメール通知するパイプラインです。
  • #28: 00:10 39:00 – 38:50 10:40 – 10:50 最後に、パイプラインの実行タイミングを司るトリガーについてを説明します。
  • #29: 01:20 38:50 – 37:30 10:50 – 12:10 トリガーはスケジュール、タンブリングウィンドウ、イベントベースの三種類がございます。上から順に説明致します。 まず、スケジュールトリガーは実時間のスケジュールを指定してパイプラインを実行したい場合に設定します。 次のタンブリングウィンドウトリガーは15秒おき、1時間おき等、定期間隔でパイプラインを実行したい場合に設定します。 スケジュール指定、定期間隔はイメージしやすいと思いますが、V2では新たにイベントベースでの実行が可能となりましたのでそちらについて説明します。 イベントベーストリガーとは、その名の通りある特定のイベントを検知したタイミングでパイプラインを実行させたい、という場合に使用できるトリガーです。 検知できるイベントは何かというと、現時点ではBlobストレージ上へのファイル追加やファイル削除イベントを検知したタイミングで、 指定のパイプラインを実行する、という処理が可能となっています。 今回、このイベントトリガーを実際に使用して、SSISで加工し統合したファイルが指定コンテナに格納されたイベントを検知して、パイプラインを実行するデモをお見せいたします。
  • #30: 00:20 37:30 – 37:10 12:10 – 12:30 駆け足で説明して参りましたが、キーワードはご理解いただけましたでしょうか。 では、実際にデモを通じて実際にパイプラインを構成する流れを見て頂きたいと思います。
  • #31: 20:00 37:10 – 17:10 12:30 – 32:30 では、ここからは実際のデモ画面を見ていただき、これらの流れをデータファクトリーではどう設定すればいいかをご説明致します。 ~デモ画面~
  • #32: 00:10 17:10 – 17:00 32:30 – 32:40 ここで今日のまとめになります。
  • #33: 00:10 17:00 – 16:50 32:40 – 32:50 冒頭で発表したこれらの困りごと。これらはV2にバージョンアップしたことで、かなり改善されました。
  • #34: 02:00 16:50 – 14:50 32:50 – 34:50 これら私が感じていた困りごとが、V2にバージョンアップしたことで改善、向上したことが皆様にもご理解いただけましたでしょうか。 特に、GUIに関しては大きく改善されており、非常に直感的にパイプラインの構成等ができるようになりました。 SSISを使えるようになったことでデータ加工も容易となり、既存で使用していたSSISパッケージの再利用も可能となりました。 また制御アクティビティを使ったデータフローの細かな制御も可能となったことで、 ジョブ管理ツールとしても非常に使いやすいツールになったと思われます。 制御フローアクティビティの一つ、WEBアクティビティを使用することでAzureのLogicAppsと連携し、複雑なワークフローの実現も可能となりました。 一方で、このデータファクトリーで既存で使っているジョブ管理ツール等を全て置き換えられるか、というとまだそこまで至っていないと私は考えます。 例えば、ジョブ管理ツールでは失敗したジョブフローを検知したら、特定のジョブから再実行するといったことが可能かと思いますが、 データファクトリではパイプライン単位での手動再実行しかできないため、失敗時にどうするかは考える必要がございます。 しかしながら、バージョンアップしたことにより、細かな制御が可能になったことで、 既存ツールで行っていたジョブ管理をデータファクトリーにリプレイスするという選択肢も十分考えられるようになったと思いますし、 AI/機械学習を促進させデータ統合を支援するツールとして、データファクトリーはデータプラットホームにおける重要なツールとなると私は考えます。 本発表でお伝えしたことが皆様のデータ分析を手助けすることに繋がれば幸いです。 以上で発表を終わります。 アペンディクスとして、使用できるアクティビティの一覧やデータファクトリーの制限事項、接続できるデータソース一覧をまとめています。 資料が公開された際にはご覧になってください。 ご清聴ありがとうございました。