Azure Data FactoryのデータフローでSelectする

Azure Data FactoryのデータフローでSelectする

データフローでSalesLT.AddressテーブルをSelectして、少し加工した結果をdbo.Resultテーブルに保存してみます。

前提

データフロー作成

「データフロー」にカーソルを合わせて右クリックし「新しいデータフロー」をクリックします。

「ソースの追加」にカーソルを合わせてクリックします。

「データセット」を設定します。

「データフロー」のソース右下にある「+」をクリック、「選択」をクリックします。

selectのソースが追加され、マッピング欄に列が表示されます。

自動マッピングのチェックを外して、9列を4列に編集します。

selectのソース右下の「+」をクリック、「シンク」を選択して保存します。

シンクの設定をします。

着信ストリーム:select1
データセット:AzureSqlTable2

AzureSqlTable2のDDL(Resultテーブル)です。

CREATE TABLE [dbo].[Result](
    [AddressID] [int] NOT NULL,
    [AddressLine1] [nvarchar](50) NOT NULL,
    [AddressLine2] [nvarchar](50) NOT NULL,
    [City] [nvarchar](50) NOT NULL,
    CONSTRAINT PK_Student PRIMARY KEY ([AddressID])
) ON [PRIMARY];

これでデータフロー作成完了です。

パイプライン作成

作成した「データフロー」をパイプラインにD&Dします。

デバッグ

「検証」でエラーが出なければ「デバッグ」を押して確認します。

Resultテーブルを確認します。

どちらのテーブルも450件レコードが存在することが確認できます。

2回実行すると一意制約でエラーになるので、シンクで設定を変えて回避します。

テーブルの切り詰め(シンク)

シンクの設定で「テーブルアクション」がデフォルトは「なし」になっています。

これを「テーブルの切り詰め」にすれば、trancateされてから保存されるようになるので一意制約のエラーは出ません。

テーブルの再作成(シンク)

シンクの「テーブルアクション」の設定で「テーブルの再作成」がありますが、これはテーブルをDrop&Createします。

テーブルの切り詰めより少し処理時間がかかるようです。

データセットを作成します。テーブル名は「dbo.Result2」という存在しないテーブル名にします。

シンクの「データセット」に設定をします。

デバッグします。正常終了したらクエリエディタで確認します。加工したデータにあったテーブルがCreateされていることが確認できます。

「テーブルの再作成」なのでもう一度実行してもDrop&Createされるので一意制約エラーなどにはなりません。

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました