Data Factoryの勘所・大事なところ
@papemk2
注意
• 本セッションは、2017/11/21時点の情報です。
• 最新の情報は、公式のドキュメントなどを参
照のほど
About me
• 吉野翼(よしのつばさ)
• シグマコンサルティング株式会社
• Microsoft MVP for Azure (2016/10~)
• Twitter : @papemk2
今日のお話
• Azure Data Factoryの簡単な概要
• お金の話
• Azure Data Factoryの使いどころとは?
• Data Factory v2について
今日のまとめ
• それADFの必要ありますか?
Demonstration
What is Azure Data Factory ?
What is Azure Data Factory
• データの読み込み、加工、出力をするためのツー
ル
– ETLツールに近い立ち位置
• 正確にはELとTLを組み合わせたツール
• 週間、月間単位など低頻度での処理向き
– 頻度がポイント
頻度の考え方
• 高頻度 or 低頻度
• 高頻度
– 1日2回以上の実行
• 低頻度
– 高頻度以外
ADFの大事な用語(ざっくり)
• データセット
• アクティビティ
• パイプライン
データセット
• データのインプット、アウトプット部分
• Blob、SQL DB、No SQL etc。。。
• 要するにデータストア
アクティビティ
• データに対するアクション
– データ移動アクティビティ
– カスタム.NETアクティビティ
• データコピー処理
– データ変換アクティビティ
• Hive, Sparkなどのデータ加工処理
• v2で拡張されます。(後述)
• 0個以上の入力(データセット)を受け取る。
• 1個以上の出力を返す
カスタムアクティビティ
• コピーアクティビティでサポートされていないデー
タストア間のデータ移動に使う
• データコピーにカスタムロジックを組み込める
• バックエンドでAzure Batchが動いて処理
• サポートされているデータストア
複数アクティビティの連動
• パイプライン内に複数アクティビティを含める
• アクティビティの入力をもう一つのアクティビ
ティの出力に含める
• 複数アクティビティの入出力が繋がらない場
合は並列に稼働
パイプライン
• アクティビティの論理的グループ
• 複数のアクティビティの塊
• アクティビティをセット管理するのに便利
– デプロイ、実行等を一塊にできる
• JSONでまとめられる
それぞれの関係
Demonstration
ポイント
1. 複数のデータソースを入力にできる
2. 複数の出力先を指定できる
3. 実行頻度が少ない処理向き
よくある勘違い
• データ処理はData Factoryの仕事ではない
• データ処理 = HDInsightとか
• Data Factory = ベルトコンベア
使用上の注意
• リアルタイム実行は保証されない
– 99.9%で予定時間から4分以内に実行が保証さ
れる
– 予定時刻から4分が許容できない場合は注意
使えるリージョン
• 米国東部
• 米国中西部
• 米国西部
• ヨーロッパ西部
料金体系
料金の計算方法
• アクティビティの頻度
• アクティビティの実行場所
– オンプレ or クラウド
• パイプラインがアクティブかどうか
• アクティビティの再実行の有無
実行場所による料金(v1)
低頻度 高頻度
クラウドサービスのオーケストレー
ション
61.20/アクティビティ/月 102/アクティビティ/月
オンプレミスのオーケストレーション 153/アクティビティ/月 255/アクティビティ/月
※一か月で100アクティビティを超えると20%割引
低頻度は、月5回まで無料
データ移動料金(v1)
料金
クラウドデータストア間 25.50/時間
オンプレとのハイブリッド 10.20/時間
非アクティブパイプライン
• 実行時間の範囲外のパイプラインは非アク
ティブ
• 非アクティブパイプラインは、81.60/月
アクティビティの再実行
料金
クラウド 139.35/1000
オンプレミス 348.37/1000
ダメだったパターン
• 一日一回顧客データをSQL DBからBlobに
全件移動したい
– 顧客データは、5万件(仮定)
– データの加工はなし(CSV出力)
– データソースは一つ
何がダメだったか
• ADFでは、オーバースペック過ぎた
– 大したデータ量ではない
• Functionsで十分
• ノンコーディングで行ける
– 大したコーディング量ではなかった
料金比較
Data Factory Functions WebJobs(S1)
月額料金 2646.57 0 8954.79
実行辺り料金 88.219 0
時間辺り料金 12.04
比較
• 扱うデータが小さい
– Functionsはほぼ0円
• タイマーの信頼性を考えて、実行回数を増やしてもこの作業量では、大した金
額になることがなかった
• Web Jobsは無駄な時間が多い
– App Serviceで既に何か動いていて、それに付随するものならWeb
JobsでもOK(追加料金なしなので)
• Data Factoryは、実行辺り料金が大きい
– データが大きくなればData Factoryが強い
– Web Appsでは、メモリを増やそうとすると値段が跳ね上がる
まとめ
• ADFはHPC向け
– 小規模データソースの変換は無駄かも
個人的見解
• 単純なデータ移動のみの処理は、本当にADFが必要か見定
める必要あり
– 本当にADFが必要なサイズのデータなのか
– ADFよりシンプルにできるやつがあるかも
• 複数のデータソースを統合できるところがミソ
– 単一のデータソースの場合、大半はADFはオーバースペックかも
Azure Data Factory v2
What’s new
• フロー制御の追加
• Webアクティビティの追加
• SSISパッケージのデプロイ、実行
• SDKの拡充
フロー制御
• 結果によるフローの分岐が可能に
• 例
– 成功 : 成功メールの送信
– 失敗 : 失敗メールの送信
Webアクティビティ
• アクティビティ内で任意のREST呼び出しが可
能に
• JSONを返すサービスからデータを取得可能に
– JSONを返してくれればカスタム.NETアクティビ
ティが不要に
– Logic Appなども呼び出せる
SSISパッケージ
• ADF上でSSISが実行可能に
• 既存のパッケージもデプロイ可能
– 既存資産のPaaS移行に便利
現状
• ポータルからの操作がまだ少ない
– パイプライン作成等できない
• 手軽に試すには面倒
– PowerShell or C# or etc…
料金体系の変更
• アクティビティの再実行に関する項目が消滅
– 再実行も通常の実行と同じ扱いになった?
• SSISパッケージは、別途VM料金が必要
• プレビューのためGA後に金額が変わるので
注意
まとめ
• 使いどころを見極めて使おう
• 実務で使うための知見が足りない気がする
– みんなで使って色々発信していきましょう
– バッドプラクティスのノウハウが欲しい(
http://bit.ly/jazugnight9

Data Factoryの勘所・大事なところ

Editor's Notes

  • #15 https://docs.microsoft.com/ja-jp/azure/data-factory/v1/data-factory-data-movement-activities