Azure でデータ基盤を構築・可視化

はじめに

この記事では、Azure を利用してデータ基盤を構築し、可視化する手順について紹介します。具体的には、Azure Blob Storage に CSV データを格納し、Data Factory を用いて Azure SQL Database に取り込み、Power BI でレポートを作成する流れを解説します。

全体アーキテクチャ

構成概要は以下の通りです。

  • Blob Storage:データレイクの入り口

  • Data Factory:ETL パイプライン

  • Azure SQL Database:格納先

  • Power BI:可視化

AWS に例えると「S3 → Glue → Redshift → QuickSight」に近いイメージです。

STEP1:Azure Blob Storage に CSV を格納

まずはストレージアカウントを作成し、raw コンテナにサンプルデータをアップロードしました。

  • リソースグループ:Test-RG

  • ストレージアカウント:blobdemodata01

  • ファイル:demodata.csv

アップロード後、ポータルでファイルを開くとサイズや最終更新日時が確認できます。

STEP2:Azure Data Factory で Blob → SQL Database コピー

次に、Azure Data Factory を使って Blob の CSV を SQL Database にコピーします。

SQL Database の準備

SQL サーバーを作成し、例として sqldemo データベース内に以下のテーブルを作成しました。

CREATE TABLE TableTennisDemo (
    Rally INT,
    Server NVARCHAR(50),
    Winner NVARCHAR(50),
    ServeType NVARCHAR(100),
    Outcome NVARCHAR(100),
    Axis NVARCHAR(50),
    SpinClass NVARCHAR(50),
    Length NVARCHAR(50),
    Course NVARCHAR(50),
    Contact NVARCHAR(50) NULL,
    SetNumber INT,
    match_id NVARCHAR(50),
    created_at DATETIME2,
    player NVARCHAR(50),
    opponent NVARCHAR(50)
);

Data Factory の構築

  1. Data Factory を作成し、スタジオを開く

  2. Linked Service を2つ準備

    • ls_blobdemodata(Blob Storage)

    • ls_sqldemodata(SQL Database)

  3. Copy Data アクティビティを配置し、ソース=demodata.csv、シンク=TableTennisDemo を設定




  4. 列名 SetSetNumber のマッピングを調整

実行と確認

パイプラインをデバッグ実行 → 成功!
SQL Database を確認するとデータが格納されていました。

STEP3:Power BI Desktop で可視化

最後に Power BI Desktop で SQL Database に接続し、データを可視化しました。

接続手順

  1. 「データの取得」→「Azure SQL Database」

  2. サーバー名:sqlsrvdemodata01.database.windows.net

  3. DB 名:sqldemo

  4. 認証:SQL Server 認証(ユーザー名:sqladmin

  5. テーブル TableTennisDemo を読み込み

可視化例

  • Service Type(順横回転・逆横回転)別の結果を横棒グラフで表示
  • Course(フォア/ミドル/バック)別の結果を縦棒グラフで表示
  • SpinClass(下回転/非下回転)別の結果を縦棒グラフで表示

感想

良かった点
  • GUI 操作が中心で、初めてでも直感的に構築できた。

  • Power BI 発行をはじめ、M365 との親和性が高くスムーズに連携できた。

AWS との違い
  • アーキテクチャの考え方は非常に似ており移行は容易

  • Data Factory のパイプライン構築は、AWS Glue Studio よりも視覚的で理解しやすいと感じた。

以上、最後までお読みいただきありがとうございました。