Azure Data Factoryで構築するデータパイプライン&DWH 01
目的
本記事の目的は、 Azure Data Factory
を使って(というようりかは、 Azure
を使って)データパイプライン&DWHを構築してみる。というような内容になっている。
この記事の対象ユーザー
Azure
を使ってのデータパイプライン&DWH構築を考えている人- ビジネスでありながら、技術的なことを少し深堀したいと考えている人
Azure Data Factory
の概要を掴みたいと考えている人- その他、
Azure Data Facotry
に興味がある人など
前提条件
Azureの以下のプロダクトを使用して、データパイプライン&DWHを構築することとする。
- Azure Data Factory(以下、ADF)
- Azure Data Lake Storage Gen2(以下、ADLS)
- Azure Synapse Analytics(以下、Synapse)
- Azure Key Vault(以下、Key Vault)
- Azure DevOps(以下、DevOps)
また、上記のそれぞれのサービスはすでに用意されているものとし、 ADF
を作成するところからとする。
ざっくりとしたユーザーストーリー
- 外部のSFTPサーバーにあるデータを、GETしなければならない
- データ型式は、CSV(UTF-8)で、差分ファイルが日々SFTPサーバにアップされる
- データパイプラインの方式としては
ELT
を採用し、E
についてはADF
、LT
については、Synapse
とする
ざっくりとした構成図
-1024x576.png)
- 外部SFTPサーバから、ADFでデータ(差分)をGETし、
ADLS
へインポートする ADLS
にインポートしたデータをSynapse
へインポートするSynapse
のSTORED PROCEDURE
もしくはADFのLook up activity
でデータをトランスフォームし、DWHとしての中間テーブルを作成する
というような、ざっくりとした流れになります。
以下、詳細を説明していきます。
ADFの作成



インスタンスの場所は 東日本
、Versionは V2
とします。

ADF
と連携する DevOps
のリポジトリは、ADF画面に入ってから設定します。



ADFとDevOpsを接続する
ADFとDevOpsを接続します。
ADFはDevOpsと接続することで、ソースコード管理が行えるようになります。





Save
という表現がわかりにくいですが、何かを保存しているというわけではなく、機能的には OK
と同義だと思います。UX的にはわかりにくく、混乱を招く表現ですが、気にせず Save
をします。
これで、ADFでの開発準備が整いました。
ADFとDevOpsのブランチ戦略について
ADFとDevOpsのブランチ戦略についてですが、ADFにはパブリッシュという作業がある関係上、通常のブランチ戦略とはまた違った戦略が必要になってくると思われます。
各事業者によって考え方は違うと思いますが、概ね A successful Git branching model のブランチルールにしたがっていれば問題ないと思いますので割愛します。
各現場にあった戦略を立てていただければと思います。
ADFの設定
Connectionsの設定
Key Vaultの設定



Storageの設定


Synapseの設定


SFTPサーバの設定



Triggersの設定


本記事では、ADFを用意して、各サービス(SFTPサーバ、Storage、Synapse)と接続するところまでを解説しました。
次回は、パイプラインを作ってデバッグ処理を行い、Publishするまでを行いたいと思います。