1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Data Factoryを使ってBLOBからSynapse SQLプールへデータを入れてみた

Posted at

Azure Data Factory(ADF)にデータのコピーツールがあります。これを利用することにより簡単かつ高速(Polybaseベース)にSynapse SQLプールにデータが投入できるようなので試してみました。
今回はAzure PortalからADFを使って、データ投入してみます。

#Azure Data Factoryの作成
①まずはAzure Data Factoryを作成します。
Azure Portalにログインし、+リソース作成を選択します。
「新規」画面になりましたら、分析カテゴリを選択し、すべて表示を選択します。

image.png

②Marketplace画面のデータインサイトのカテゴリにあるData Factoryを選択します。

image.png

作成を選択してData Factoryの作成画面を起動します。

image.png

④ADFを作成していきます。

  • サブスクリプションリソースグループはADFが起動するサブスクリプションを指定してください。
  • リージョンは東日本を指定しました。
  • Nameは任意の値を入れてください。またグローバルで一意となる名前の指定が必要です。
  • Version最新のV2を指定してください。
image.png

⑤Gitの設定は今回は不要な為、Configure Git laterのチェックボックスにチェックを入れます。

image.png

⑥作成を押せば作成が始まります。

image.png

⑦ADF作成が完了しました。

image.png

#パイプラインの作成
①Data Factoryが出来たらパイプラインの作成を行います。
作成したData FactoryのページからAuthor & Monitorを選択します。

image.png

Let's get startedのページで「Copy data」を選択します。

image.png

Propertiesページでタスク名を入力します。今回はCopyFromBlobToSynapseSQLを入力しました。

image.png

④入力元のデータ(Source data store)を設定します。まだ何も作成していないので何も表示されていません。+Create new connectionを選択します。

image.png

New linked ServiceAzure Data Lake Storage Gen2を選択

image.png

Blobへアクセスするための必要な情報を入力し、Createを押します。

image.png

⑥作成したリンクサービスを選択し、Nextを押します。

image.png

Choose the input file or folderでは投入したいBlob上のファイルを選択します。今回はtpch/sc1/lineitem.tblというファイルを選択しています。

image.png

File format settingsではファイルに対する様々なフォーマットの指定が可能です。デリミタ(Column delimiter)や改行文字(Row delimiter)などを指定します。また、先頭行をヘッダーとして扱いたい場合、First row as headerのチェックボックスにチェックを入れます。画面の下にはプレビューが見えています。

image.png

⑨次にデータを入れるSynapse SQLプールを指定します。まだ、接続情報などを入力していないので、Create new connectionにて作成を行います。

image.png

⑩Synapse SQLプールへ必要な接続情報を入れていきます。

image.png
image.png

この時にSynapse SQLプールへの接続がうまくいかない場合にはSynapse SQLプール側の「ファイアウォールと仮想ネットワーク」の設定で「Azureおよびリソースにこのサーバーへのアクセスが許可する」が「はい」を設定されているか確認してみてください。
image.png

⑪作成したリンクサービスを選択しNextを押します。

image.png

⑫データをロードするSynapse SQLプール上のテーブルを指定します。dbo.LINEITEMというテーブルを指定しています。

image.png

⑬入力テーブルとテーブルのフォーマットよりADFが自動でマッピングを行ってくれます。問題無いかを確認しNextを押します。

image.png

Settingの画面になりましたら、Copy methodPolybaseであることを確認してください。また、Synapse SQLプールへPolybaseを行う場合、ステージングとして利用するBlobストレージが必要です。リンクサービスの作成は先ほどのBlobストレージのリンクサービスの作成の方法と同じなので割愛しますが、今回はStagingLinkedServiceという名前のリンクサービスを使用しています。

image.png

⑮確認画面です。Nextを押します。

image.png

⑯パイプラインのデプロイが完了したらMonitorを押してパイプラインの走行状況を確認します。

image.png

#パイプラインの走行状況の確認
MonitorPipelines runsから作成したパイプラインの確認が可能です。作成したパイプラインを押下します。

image.png

②走行状況はActivity runsのメガネマーク(Detailes)を押下するとより詳細が確認出来ます。

image.png

③読み込んだ件数やSynapse SQLプールへロードした件数などもここで確認することは可能です。

image.png

④念の為Synapse SQLプールでもデータを確認しましたが、ちゃんと入っているようです。

image.png

#最後に
Synapse SQLプールにADFを使うと簡単にPolybaseでデータロードできるのかと思ったのですが、意外と手番が多かったです。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?