Azure Data Factory(ADF)にデータのコピーツールがあります。これを利用することにより簡単かつ高速(Polybaseベース)にSynapse SQLプールにデータが投入できるようなので試してみました。
今回はAzure PortalからADFを使って、データ投入してみます。
Azure Data Factoryの作成
①まずはAzure Data Factoryを作成します。
Azure Portalにログインし、+リソース作成を選択します。
「新規」画面になりましたら、分析カテゴリを選択し、すべて表示を選択します。
![]() |
|---|
②Marketplace画面のデータインサイトのカテゴリにあるData Factoryを選択します。
![]() |
|---|
③作成を選択してData Factoryの作成画面を起動します。
![]() |
|---|
④ADFを作成していきます。
-
サブスクリプション、リソースグループはADFが起動するサブスクリプションを指定してください。 -
リージョンは東日本を指定しました。 -
Nameは任意の値を入れてください。またグローバルで一意となる名前の指定が必要です。 -
Version最新のV2を指定してください。
![]() |
|---|
⑤Gitの設定は今回は不要な為、Configure Git laterのチェックボックスにチェックを入れます。
![]() |
|---|
⑥作成を押せば作成が始まります。
![]() |
|---|
⑦ADF作成が完了しました。
![]() |
|---|
パイプラインの作成
①Data Factoryが出来たらパイプラインの作成を行います。
作成したData FactoryのページからAuthor & Monitorを選択します。
![]() |
|---|
②Let's get startedのページで「Copy data」を選択します。
![]() |
|---|
③Propertiesページでタスク名を入力します。今回はCopyFromBlobToSynapseSQLを入力しました。
![]() |
|---|
④入力元のデータ(Source data store)を設定します。まだ何も作成していないので何も表示されていません。+Create new connectionを選択します。
![]() |
|---|
⑤New linked ServiceでAzure Data Lake Storage Gen2を選択
![]() |
|---|
Blobへアクセスするための必要な情報を入力し、Createを押します。
![]() |
|---|
⑥作成したリンクサービスを選択し、Nextを押します。
![]() |
|---|
⑦Choose the input file or folderでは投入したいBlob上のファイルを選択します。今回はtpch/sc1/lineitem.tblというファイルを選択しています。
![]() |
|---|
⑧File format settingsではファイルに対する様々なフォーマットの指定が可能です。デリミタ(Column delimiter)や改行文字(Row delimiter)などを指定します。また、先頭行をヘッダーとして扱いたい場合、First row as headerのチェックボックスにチェックを入れます。画面の下にはプレビューが見えています。
![]() |
|---|
⑨次にデータを入れるSynapse SQLプールを指定します。まだ、接続情報などを入力していないので、Create new connectionにて作成を行います。
![]() |
|---|
⑩Synapse SQLプールへ必要な接続情報を入れていきます。
![]() |
|---|
![]() |
|---|
この時にSynapse SQLプールへの接続がうまくいかない場合にはSynapse SQLプール側の「ファイアウォールと仮想ネットワーク」の設定で「Azureおよびリソースにこのサーバーへのアクセスが許可する」が「はい」を設定されているか確認してみてください。

⑪作成したリンクサービスを選択しNextを押します。
![]() |
|---|
⑫データをロードするSynapse SQLプール上のテーブルを指定します。dbo.LINEITEMというテーブルを指定しています。
![]() |
|---|
⑬入力テーブルとテーブルのフォーマットよりADFが自動でマッピングを行ってくれます。問題無いかを確認しNextを押します。
![]() |
|---|
⑭Settingの画面になりましたら、Copy methodがPolybaseであることを確認してください。また、Synapse SQLプールへPolybaseを行う場合、ステージングとして利用するBlobストレージが必要です。リンクサービスの作成は先ほどのBlobストレージのリンクサービスの作成の方法と同じなので割愛しますが、今回はStagingLinkedServiceという名前のリンクサービスを使用しています。
![]() |
|---|
⑮確認画面です。Nextを押します。
![]() |
|---|
⑯パイプラインのデプロイが完了したらMonitorを押してパイプラインの走行状況を確認します。
![]() |
|---|
パイプラインの走行状況の確認
①Monitor→Pipelines runsから作成したパイプラインの確認が可能です。作成したパイプラインを押下します。
![]() |
|---|
②走行状況はActivity runsのメガネマーク(Detailes)を押下するとより詳細が確認出来ます。
![]() |
|---|
③読み込んだ件数やSynapse SQLプールへロードした件数などもここで確認することは可能です。
![]() |
|---|
④念の為Synapse SQLプールでもデータを確認しましたが、ちゃんと入っているようです。
![]() |
|---|
最後に
Synapse SQLプールにADFを使うと簡単にPolybaseでデータロードできるのかと思ったのですが、意外と手番が多かったです。




























