Microsoft Fabric使ってみる(Pipeline編)

前回はLakehouseの使いかたについて勉強しました。

https://qiita.com/fsd-kozue/items/94a3dfcacfc5d872321c

今回はパイプラインでデータを取り込む演習です。
まずは前回と同じようにワークスペースを作成し、続いてレイクハウスを作成します。
前回使ったワークスペースを使いまわしても問題ありません。
ワークスペースとレイクハウスの作成方法は前回の記事をご参照ください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2885406/e829fa07-60c1-fb6d-a872-3dc781561b2b.png)

## パイプラインを作成する
1. パイプラインを作成していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2885406/227e84cc-7f92-2072-d086-2dab07d7e74e.png)

2. 新しいデータパイプラインを選択して名前をつけて保存します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2885406/265aed99-2e06-0e52-7bf5-1e2e544b4b7f.png)


3. データのコピー ウィザードの [データ ソースの選択] ページの [データ ソース] セクションで、[汎用プロトコル] タブを選択し、今回は[HTTP] を選択します。すべてのカテゴリを選択すると、データ接続先は30個以上あることがわかります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2885406/cf0245eb-9038-1278-2bb2-e33e95803360.png)

4. 次の画面で新しい接続先の情報を入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2885406/f86bf145-81a5-b17b-14e0-91c770655247.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2885406/8e2a7567-e221-8ec0-2b7a-7e116f8c231f.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2885406/e540e5a3-864b-554b-a674-c1eaae6625c7.png)

5. データのプレビューを押すと取り込み対象のデータを確認することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2885406/6d5ac6ee-85bd-e3cd-aea3-630b04c5d434.png)

6. データ型は一律「String」形式となっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2885406/b6c5b803-3a94-688f-76a4-47179d7fc5f8.png)

7. 保存先のレイクハウスを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2885406/09404d58-d43d-c8fb-4f87-76fc7b0747c2.png)

8. 次のデータ接続先で送信先オプションを設定(今回はファイル指定)し次の画面に行きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2885406/b6e1f0c6-90d1-bfc6-ecfb-5d11eada939a.png)

9. ファイル形式を確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2885406/6353303d-ec7f-76b6-b275-8163834848ce.png)

10. コピーの概要ページで詳細確認し、 [保存 + 実行] を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2885406/85ef0f0b-9b3f-2f7f-9126-7891f5716dd8.png)
そうするとデータのコピー アクティビティを含む新しいパイプラインが作成されます。
パイプラインの実行が開始されると、パイプライン デザイナーの下の [出力] ペインでその状態を監視できます。↻(更新)アイコンを使用してステータスを更新し、成功するまで待ちます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2885406/bd8acf86-215b-b508-4935-cbd39bd5d1fe.png)

## ノートブックを作成する
1. レイクハウスの [ホーム] ページの [ノートブックを開く] メニューで、 [新しいノートブック] を選択します。
数秒後、1 つのセルを含む新しいノートブックが開きます。ノートブックは、コードまたはマークダウン (書式設定されたテキスト) を含めることができる 1 つ以上のセルで構成されます。
簡単なコードを含むノートブック内の既存のセルを選択し、既定のコードを次の変数宣言に置き換えます。
パラメーター セルで、 [+ コード] ボタンを使用して新しいコード セルを追加します。
ノートブックにコードを書き終えたらツールバーの ▷ [すべて実行] ボタンを使用して、ノートブックに含まれるすべてのセルを実行します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2885406/0fdcc695-9a95-b6e9-8675-480dc33e2129.png)

1. 実行完了して、ジョブが成功していることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2885406/614599cc-1511-897e-15c3-32065ec4744a.png)

1. [エクスプローラー] ウィンドウで、ビューを更新します。次に、 [テーブル] を展開し、sales テーブルを選択して、そこに含まれるデータのプレビューを表示します。
パイプラインによってデータが取り込まれていること、指定されたデータ型に変換されていることなどが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2885406/0c7ca9f3-d54f-e97a-1d47-732b6b9c0757.png)

## パイプラインの変更
1. 左側のハブ メニュー バーで、前に作成した [Ingest Sales Data] パイプラインに戻って、右上の [...] メニューから「データを削除」アクティビティを「データのコピー」アクティビティの左側に配置し、その「完了時」出力を「データのコピー」アクティビティに接続します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2885406/ba76ff6c-abb3-81e9-3246-fd1f4c84d6c5.png)

1. [データの削除] アクティビティを選択し、デザイン キャンバスの下のウィンドウで、次のプロパティを設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2885406/298034b4-d8ad-90c1-75cc-b0e44d96fcd2.png)

1. 次にパイプライン デザイナーの アクティビティ タブで、ノートブック を選択して、ノートブック アクティビティをパイプラインに追加します。
「Copy data」アクティビティを選択し、その「On Completion」出力を「Notebook」アクティビティに接続します。
ノートブック アクティビティを選択し、デザイン キャンバスの下のウィンドウで、次のプロパティを設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2885406/2d42c827-3d82-646f-ed06-945c83e6008c.png)

1. 最後にパイプラインを保存し、▷ [実行] ボタンを使用してパイプラインを実行し、すべてのアクティビティが完了するのを待ちます。
すべてのパイプラインが成功したら無事に完了です！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2885406/53df94a1-3218-aa9f-597c-5e9e28575a02.png)

## まとめ
今回初めてFabric上でパイプラインを作成してみましたが、Azure DataFactoryの使い方をおさえていれば違和感なく使用することができます。