このチュートリアルでは、パイプラインの Script アクティビティを使用してストアド プロシージャを実行し、テーブルを作成して Azure Synapse データ ウェアハウスでデータを前処理する方法について説明します。 その後、前処理されたテーブルをレイクハウスに読み込みます。
前提条件
Microsoft Fabric 対応ワークスペース。 まだお持ちでない場合は、「ワークスペースの作成」の記事を参照してください。
Azure Synapse Data Warehouse でストアド プロシージャを準備します。 次のストアド プロシージャを事前に作成します。
CREATE PROCEDURE spM_add_names AS --Create initial table IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[names]') AND TYPE IN (N'U')) BEGIN DROP TABLE names END; CREATE TABLE names (id INT,fullname VARCHAR(50)); --Populate data INSERT INTO names VALUES (1,'John Smith'); INSERT INTO names VALUES (2,'James Dean'); --Alter table for new columns ALTER TABLE names ADD first_name VARCHAR(50) NULL; ALTER TABLE names ADD last_name VARCHAR(50) NULL; --Update table UPDATE names SET first_name = SUBSTRING(fullname, 1, CHARINDEX(' ', fullname)-1); UPDATE names SET last_name = SUBSTRING(fullname, CHARINDEX(' ', fullname)+1, LEN(fullname)-CHARINDEX(' ', fullname)); --View Result SELECT * FROM names;
ストアド プロシージャを実行するパイプライン スクリプト アクティビティを作成する
このセクションでは、スクリプト アクティビティを使用して、前提条件で作成したストアド プロシージャを実行します。
[アクティビティ] ツール バーから [Script] アクティビティを選択し、プロパティ ペインの [設定] タブを選択して接続の詳細を選択します。 [接続] ドロップダウンを選択して [その他] を選択します。 その後、Azure Synapse Data Warehouse に接続できます。
[新しいソース] セクションで、[Azure Synapse Analytics (SQL DW)] を選択します。
[基本認証] の [サーバー]、[データベース]、[ユーザー名]、[パスワード] の各フィールドを指定し、[接続名] に「SynapseConnection」と入力します。 次に、[作成] を選択して、新しい接続を作成します。
「EXEC spM_add_names」と入力してストアド プロシージャを実行します。 これにより新しいテーブル dbo.name が作成され、単純な変換でデータが前処理され、[fullname] フィールドが [first_name] と [last_name] の 2 つのフィールドに変更されます。
パイプライン アクティビティを使用して前処理されたテーブル データをレイクハウスに読み込む
[アクティビティ] ツール バーから [データのコピー] を選択し、[コピー アシスタントを使用] を選択するか、パイプライン ランディング ページの [コピー データ アシスタント] カードを使用して、[コピー データ アシスタント]を開始します。
検索フィルターに「Synapse」と入力し、データ ソースの [Azure Synapse Analytics (SQL DW)] を選択し、[次へ] を選択します。
前に作成した既存の接続 [SynapseConnection] を選びます。
ストアド プロシージャによって作成および前処理されたテーブル dbo.names を選びます。 [次へ] を選択します。
[レイクハウス] を選択します。
名前を入力し、作成して接続を選択します。
データをコピーするコピー先のレイクハウスのテーブル名を入力し、[次へ] を選びます。
コピー アシスタントの最後のページで概要を確認します。 [データ転送をすぐに開始する] ボックスチェックチェックを解除し、[OK] を選択します。
[OK] を選択すると、新しいコピー アクティビティがパイプライン キャンバスに追加されます。
2 つのパイプライン アクティビティを実行してデータを読み込む
スクリプト アクティビティから成功時に、スクリプトとデータ コピーのアクティビティを接続します。
[実行]、[保存して実行] の順に選び、パイプラインで 2 つのアクティビティを実行します。
パイプラインが正常に実行されたら、詳細を表示してさらに多くの情報を得られます。 Copy アクティビティ名のリンクを選択すると、実行の詳細が表示されます。
ワークスペースに切り替えて、作成した Lakehouse を見つけます。 その下にある SQL 分析エンドポイントを選択して、結果をチェックします。
テーブル SynapseNamesTable を選び、レイクハウスに読み込まれたデータを表示します。
関連するコンテンツ
このサンプルでは、結果をレイクハウスに読み込む前に、ストアド プロシージャでデータを前処理する方法を説明しました。 以下の方法を学習しました。
- ストアド プロシージャを実行するスクリプト アクティビティを含むデータ パイプラインを作成する。
- パイプライン アクティビティを使用して前処理されたテーブル データをレイクハウスに読み込む。
- パイプライン アクティビティを実行してデータを読み込む。
次は、パイプライン実行の監視について詳しく説明します。