レッスン 1: SQL Server Integration Services (SSIS) による Project と基本パッケージの作成
適用対象: SQL Server Azure Data Factory の SSIS Integration Runtime
このレッスンでは、シンプルな抽出、変換、読み込み (ETL) パッケージを作成します。 このパッケージは、1 つのフラット ファイル ソースからデータを抽出し、2 つの LOOKUP 変換を使用してそのデータを変換します。さらに、変換したデータを AdventureWorksDW2022
サンプル データベースの FactCurrencyRate ファクト テーブルのコピーに書き込みます。 ここでは、新しいパッケージを作成する方法、データの変換元と変換先の接続を追加、構成する方法、新しい制御フロー コンポーネントとデータ フロー コンポーネントを操作する方法を学習します。
パッケージを作成する前に、ソース データの形式と変換先データの形式を理解する必要があります。 理解することで、ソース データを目的地に地図で表示するための変換を定義できます。
前提条件
このチュートリアルでは、Microsoft SQL Server Data Tools、一連のサンプル パッケージ、サンプル データベースを使用します。
SQL Server Data Tools をインストールするには、「SQL Server Data Tools のダウンロード」を参照してください。
このチュートリアルのレッスン パッケージをすべてダウンロードするには:
Integration Services チュートリアル ファイルのページに移動します。
[ダウンロード] ボタンを選択します。
Creating a Simple ETL Package.zip ファイルを選択し、[次へ] を選択します。
ファイルのダウンロード後、そのコンテンツを解凍し、ローカル ディレクトリに置きます。
AdventureWorksDW2022
サンプル データベースをインストールおよびデプロイするには、「AdventureWorks サンプル データベースのインストールと構成 (SQL)」を参照してください。
ソース データを表示する
このチュートリアルで使用するソース データは、SampleCurrencyData.txt という名前のフラット ファイルに含まれている一連の通貨履歴データです。 ソース データには、通貨の平均相場、通貨キー、日付キー、1 日の最終相場の 4 つの列があります。
SampleCurrencyData.txt ファイルのソース データの例:
1.00070049USD9/3/05 0:001.001201442
1.00020004USD9/4/05 0:001
1.00020004USD9/5/05 0:001.001201442
1.00020004USD9/6/05 0:001
1.00020004USD9/7/05 0:001.00070049
1.00070049USD9/8/05 0:000.99980004
1.00070049USD9/9/05 0:001.001502253
1.00070049USD9/10/05 0:000.99990001
1.00020004USD9/11/05 0:001.001101211
1.00020004USD9/12/05 0:000.99970009
フラット ファイル ソース データを操作する前に、フラット ファイル接続マネージャーがフラット ファイル データをどのように解釈するのかを理解しておく必要があります。 フラット ファイル ソースが Unicode の場合、すべての列が [DT_WSTR] として定義され、既定の列幅 50 が設定されます。 フラット ファイル ソースが ANSI エンコードの場合は、列が [DT_STR] として定義され、列幅が既定の 50 になります。 これらの既定値を変更し、自分のデータにより適した文字列型にしなければならない場合があります。 変換先のデータ型を見て、フラット ファイル接続マネージャー内でその型を選択する必要があります。
変換先データを見る
ソース データの変換先は、AdventureWorksDW2022
の FactCurrencyRate ファクト テーブルのコピーです。 次の表に示すように、FactCurrencyRate ファクト テーブルには 4 つの列があり、さらに 2 つのディメンション テーブルへのリレーションシップがあります。
列名 | データ型 | 参照テーブル | 参照列 |
---|---|---|---|
AverageRate |
float |
なし | なし |
CurrencyKey |
int (FK ) |
DimCurrency |
CurrencyKey (PK ) |
DateKey |
int (FK ) |
DimDate |
DateKey (PK ) |
EndOfDayRate |
float |
なし | なし |
変換先にソース データをマップする
変換元と変換先のデータ形式を調べてみると、CurrencyKey と DateKey の値については参照が必要であることがわかります。 これらの参照を実行する変換では、DimCurrency ディメンション テーブルと DimDate ディメンション テーブルの代替キーを使用することにより、それらの値を取得します。
フラット ファイルの列 | テーブル名 | 列名 | データ型 |
---|---|---|---|
0 | FactCurrencyRate |
AverageRate |
float |
1 | DimCurrency |
CurrencyAlternateKey |
nchar(3) |
2 | DimDate |
FullDateAlternateKey |
date |
3 | FactCurrencyRate |
EndOfDayRate |
float |
このレッスンの作業
このレッスンの内容は次のとおりです。