概要
Microsoft Fabric のコピージョブにおいて、Lakehouse のテーブルを事前作成できるか(事前作成したテーブルへ書き込み可能か)を検証した結果を共有します。具体的には、以下の設定変更が可能かを確認しました。その結果、事前に作成したテーブルに対してコピージョブから書き込みを実施できることを確認しました。
- データ型を変更できること
- 外部テーブル(Azure Storage)にデータを書き込めること
- テーブルプロパティ(Change Data Feeds)の設定ができること
事前準備
Azure SQL Database にてテーブルの準備
下記の処理を実行して
CREATE SCHEMA table_test AUTHORIZATION dbo;
GO
CREATE TABLE table_test.table_01 (
CustomerId INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
CustomerCode NVARCHAR(50) NOT NULL,
FullName NVARCHAR(200) NOT NULL,
Email NVARCHAR(320) NULL,
CreatedAtUtc DATETIME2(3) NOT NULL CONSTRAINT DF_Customer_CreatedAtUtc DEFAULT (SYSUTCDATETIME()),
UpdatedAtUtc DATETIME2(3) NOT NULL CONSTRAINT DF_Customer_UpdatedAtUtc DEFAULT (SYSUTCDATETIME())
);
INSERT INTO table_test.table_01 (CustomerCode, FullName, Email)
VALUES
(N'C0001', N'山田 太郎', N'taro.yamada@example.com'),
(N'C0002', N'佐藤 花子', N'hanako.sato@example.com');
GO
コピージョブの作成
下記の記事を参考にコピージョブを作成してください。
リセットの実施
処理を実行済みの場合には、コピージョブをリセットします。
ホーム -> リセットを選択します。
OKを選択します。
検証
Lakehouse にテーブルを作成
テーブルを作成します。事前にショートカットを作成してます。
CREATE OR REPLACE TABLE table_test.table_01 (
`CustomerId` string,
`CustomerCode` string,
`FullName` string,
`Email` string,
`CreatedAtUtc` string,
`UpdatedAtUtc` string
)
USING DELTA
LOCATION 'Files/shortcuts/copyied_data/table_test.table_01'
TBLPROPERTIES (
delta.enableChangeDataFeed = true
)
コピージョブの実行
ジョブを実行します。
データの確認
テーブルからデータを取得できることを確認します。
SELECT * FROM table_test.table_01;
Change Data Feeds 機能により差分データを取得できることを確認します。
SELECT *
FROM table_changes('table_test.table_01', 0, 1)
ORDER BY _commit_version, _commit_timestamp;
Azure Storage にデータが書かれていることを確認します。









