今回はAzure Data Factoryを使って、複数のExcelファイルを結合して1つのCSVにする方法について記述する。
前提条件
Azure Data Lake Storage Gen2に「excel2csv」という名称のコンテナを作成する。 また、「excel2csv」コンテナの配下に「input」「output」という名称のフォルダを作成する。 「input」フォルダに結合したいExcelファイルを複数配置する。 「output」フォルダは結合されたCSVファイルが出力される場所になる。
「input」フォルダの中に、「excel1.xlsx」「excel2.xlsx」が存在している。
「excel1.xlsx」は次のようになっている。
「excel2.xlsx」は次のようになっている。
Linked Service作成
1 Azure Data Factoryにログインする。
2 工具箱マークの「manage」をクリックする。「Linked services」に移動し、「+ New」をクリックする。
3 「New linked service」から「Azure Data Lake Storage Gen2」を選択し、「Continue」をクリックする。
4 「excel2csv」コンテナを作成した、Azure Data Lake Storage Gen2との接続情報を設定する。完了したら「Create」をクリックする。
実装方法
1 鉛筆マークをクリックし、実際の処理を書いていく。まずはパイプラインを作成する
2 「Activities」からData Flowを選択し、真ん中の空白部分へドラッグアンドドロップする
3 「Adding data flow」が表示される。ラジオボタンで「Create new data flow」を選択し、「Data flow」を選択、その後「OK」をクリックする。
Source設定
1 鉛筆マークのAuthorを選択すると、Data flowsが表示される。次に真ん中の「Add Source」をクリックする。
2 下部の「Source settings」の中から「Dataset」の「+ New」をクリックする。
3 「New dataset」にて「Azure Data Lake Storage Gen2」を選択し、「Continue」をクリックする。「Select format」にて、「Excel」を選択し、「Continue」をクリックする。
4 「Set properties」にて、「File path」を設定する。フォルダマークをクリックし、Excelファイルが配置されているフォルダを設定する。今回の場合は「input」フォルダを設定する。
Sink設定
1 「source1」の右下にある「+」ボタンをクリックし、「Sink」を選択する。
2 下部の「Source settings」の中から「Dataset」の「+ New」をクリックする。
3 「New dataset」にて「Azure Data Lake Storage Gen2」を選択し、「Continue」をクリックする。「Select format」にて、「CSV」を選択し、「Continue」をクリックする。
4 「Set properties」にて、「File path」を設定する。フォルダマークをクリックし、Excelファイルが配置されているフォルダを設定する。今回の場合は「input」フォルダを設定する。
5 下部を「Optimize」に切り替え、「Partition option」を「Single partition」に変更する。
6 「Trigger now」で実行する。
出力内容を確認する
1 コンテナ内の「output」フォルダに「part-merged.csv」ファイルが存在することを確認する。
2 ダウンロードし、中身を確認する。無事に結合されている。