データ保存内容の可視化

[更新:2025年11月28日]

data_visualization

多様なデータを一元管理し、ETLで整形・統合した上でデータレイクに蓄積。専用SQLプールで高速クエリ分析を行い、BIツールで視覚的に可視化します。これにより、リアルタイムでの状況把握とデータに基づく迅速な意思決定が可能となり、業務の効率化と戦略的判断力を強化できます。

各機能のサービス対応

機能

対応サービス

ETL/データ変換

Azure Data Factory

データレイク

Azure Data Lake Storage Gen2

クエリ機能

Azure Synapse Analytics(専用SQLプール)

BI

Power BI

システム構成要素

  • さくらのクラウド

    • オブジェクトストレージ

  • Addon

    • Azure Data Factory

    • Azure Data Lake Storage Gen2

    • Azure Synapse Analytics(専用SQLプール)

    • Power BI

構築手順

さくらのクラウドオブジェクトストレージの事前準備

バケットの作成

  • さくらのクラウドのコントロールパネルにアクセスし、オブジェクトストレージからバケットを作成する

    AddonObjectStorage
  • 「usecase-a2-bucket」という新たなバケットを作成する

    CreateNewObject

パーミッションの設定

  • 後ほど Azure Data Factoryでオブジェクトストレージの内容を読み込むためにパーミッションを設定する

    AddonPermissionMenu
  • パーミッション名は「usecase-a2」を設定する

    AddonPermissonName
  • 権限は「usecase-a2-bucket」の読み取りのみに設定する

    AddonReadPermission
  • 作成時に表示されるアクセスキーIDとシークレットアクセスキーを記録しておく

    AddonSavePermissionValues
  • またS3エンドポイントを利用するため、「サイト」から、「usecase-a2-bucket」のバケットを作成しているサイトのS3エンドポイントの値を確認しておく

    AddonS3Endpoint

オブジェクトストレージにデータをアップロードする

参考情報:https://manual.sakura.ad.jp/cloud/objectstorage/about.html

オブジェクトストレージにサンプルデータをアップロードします。

  • オブジェクトストレージの「usecase-a2-bucket」のバケットのメニューで、サンプルデータをアップロードする。

    AddonFileUpLoadMenu
  • 設定はprivateを選択してアップロードする

    AddonFileUploadSettings

Addon でのリソース作成

データレイク機能

  • Addon の 「データレイク機能」API を利用して Azure Data Lake Storage Gen2 を作成する

    #TOKEN='<your-api-token>'
    
    #POST
    curl -v \
      --location 'https://secure.sakura.ad.jp/cloud-test/zone/is1y/api/addon/1.0/analytics/datalake' \
      --header 'Content-Type: application/json' \
      --header 'Accept: application/json' \
      --header "Authorization: Basic $TOKEN" \
      --data '{
      "location": "japaneast",
      "performance": 1,
      "redundancy": 1
      }'
    

ETL機能

  • Addon の 「ETL機能」API を利用して Azure Data Factory を作成する

    #TOKEN='<your-api-token>'
    
    #POST
    curl -v \
      --location 'https://secure.sakura.ad.jp/cloud-test/zone/is1y/api/addon/1.0/analytics/etl' \
      --header 'Content-Type: application/json' \
      --header 'Accept: application/json' \
      --header "Authorization: Basic $TOKEN" \
      --data '{
        "location": "japaneast"
      }'
    

クエリ機能

  • Addon の 「クエリ機能」API を利用して Azure Synapse Analytics を作成する

    #TOKEN='<your-api-token>'
    
    #POST
    curl -v \
      --location 'https://secure.sakura.ad.jp/cloud-test/zone/is1y/api/addon/1.0/analytics/query' \
      --header 'Content-Type: application/json' \
      --header 'Accept: application/json' \
      --header "Authorization: Basic $TOKEN" \
      --data '{
        "location": "japaneast"
      }'
    

RBACの設定

ユースケース構成のため、Azure Synapse Analytics、Azure Data Factory、および自身のアカウントに「ストレージBLOB共同作成者」のRBACを付与します。

  • データレイク機能APIで作成したAzure Data Lake Storage Gen2のアクセス制御を開く

    AddonDataLakeIAM
  • Azure Data FactoryのマネージドIDに対して「ストレージBLOB共同作成者」を付与する

    AddonRBACBlobContributor
  • 再度データレイク機能APIで作成したAzure Data Lake Storage Gen2のアクセス制御を開く

    AddonDataLakeIAM
  • Azure Synapse AnalyticsのマネージドIDに対して「ストレージBLOB共同作成者」を付与する

    RBACBlobSynapseContributor
  • 再度、データレイク機能APIで作成したAzure Data Lake Storage Gen2のアクセス制御を開く

    AddonDataLakeIAM
  • Azure Data Lake Storage Gen2のコンテナのアクセス認証をMicrosoft Entra ユーザーアカウントに切り替えるため、操作する自身のアカウントに「ストレージBLOB共同作成者」を付与する

    AddonRBACUser

Azure Synapse AnalyticsのSQLプールの生成

クエリ実行したデータを格納するためのSQLプールを作成する。

  • Synapse workspaceのメニューの「SQLプール」から新しいSQLプールを作成する

    AddonSQLPoolCreateMenu
  • SQLプールのレベル設定は「DW100c」に設定して作成する

    AddonSQLPoolOption

Azure Data Lake Storage Gen2 のコンテナ作成

データレイク機能APIで作成したAzure Data Lake Storage Gen2に対してコンテナを作成します。

  • コンテナタブから新規にコンテナを作成する(例:testコンテナ)

    AddonNewContainer AddonContainerName
  • コンテナの認証方法として、Microsoft Entra ユーザーアカウントを選択する

    AddonContainerCredential
  • コンテナ作成後、ディレクトリを追加する

    AddonNewDirectory

Azure Data Factoryのデータ変換フローの構築

オブジェクトストレージからデータを取得し、Azure Data Lake Storage Gen2にデータを変換して格納するフローを構築します。

  • Azure Data FactoryのAzure Data Factory Studioにアクセスし、「新規」、「パイプライン」から新しくパイプラインを作成する

    AddonNewADFPipeline
  • パイプラインのメニューでアクテビティ「データフロー」を選択し、下図のように有効化する

    AddonCreateNewDataFlow
  • データフローの設定を行う。「設定タブ」から「新規」を選択する

    AddonCreateSourceSettings
  • 新規を選択すると「データフロー」の設定に移動する。「データフロー」設定画面で、「ソースの追加」と表示されている箇所の右側にある矢印をクリックし、「ソースの追加」を選択する

    AddonAddSourceSettings
  • ソースの追加後、「ソースの設定」タブを開き、データセットの設定部分の「新規」を選択する

    AddonCreateNewDataset
  • データセットは「Amazon S3」を選択して、「続行」を選択する

    AddonSourceDataServiceSetting
  • データの種類は「DelimitedText」を選択して、「続行」を選択する

    AddonSourceDatasetDataTypeSetting
  • 続いて、新規にソースのリンクサービスを作成する。図のように「新規」を選択する

    AddonSourceCreateLinkService
  • オブジェクトストレージの事前準備で取得したバケットのパーミッションのアクセスキーID、シークレットアクセスキー、S3エンドポイントを入力する

    AddonLinkServiceSettings
  • 「宛先ファイルパス」を選択し、ファイルパスにオブジェクトストレージのバケット名を入力し、作成を選択する

    AddonDataFlowSourceFilePath
  • 入力後、ファイルパスにオブジェクトストレージのバケット名とファイル名を入力。下向き矢印を選択して、「指定されたパスから」を選択する

    AddonDataFlowSourceFileImportSetting
  • サンプルファイルを選択してOKを選択する

    AddonDataFlowSourceSelectSampleFile
  • 「先頭行をヘッダーとして」からのチェックを外してOKを選択する

    AddonDataFlowSourceFileImportOption
  • データ内のインポートが不要な行をスキップするためのスキップ設定を行う。スキップ行数は「12」に設定する

    AddonDataFlowSkipSetting
  • 続いて、シンク(格納先)の設定を行う。+ボタンを選択し、シンクを選択する

    AddonDataFlowCreateSink
  • 「シンク」タブからシンク用のデータセットを新規に作成する

    AddonNewSinkCreateDataSet
  • サービスはAzure Data Lake Storage Gen2を選択する

    AddonDataFlowSinkDataSetService
  • データの種類は「DelimitedText」を選択して、「続行」を選択する

    AddonDataFlowDataSetDataType
  • シンクも新しくリンクサービスを作成する

    AddonDataFlowCreateSinkLinkService
  • 認証はシステム割り当てマネージドIDにし、データレイク機能APIで作成したAzure Data Lake Storage Gen2を選択する

    AddonDataFlowSinkLinkServiceOption
  • 「宛先ファイルパス」を設定してAzure Data Lake Storage Gen2のコンテナ名とディレクトリ名を入力し、「作成」を選択する

    AddonLinkServiceFilePath
  • ファイルパスの設定で再度コンテナ名とフォルダ名を入力し、「先頭行をヘッダーとして」からチェックを外し「OK」を選択する

    AddonDataFlowSinkSourceFilePath
  • 全ての設定を終えたら「発行」を選択し、パイプラインの構築内容を保存する

    AddonDataFlowPublish
  • デバッグフローを有効化する。「データフローのデバッグ」のトグルをクリックする

    AddonDebugFlowEnable
  • OKを選択する。クラスターの構築には数分を要する

    AddonDebugFlowEnableMenu
  • デバッグフローが有効化されたら「デバッグ」を選択する。デバッグが開始される

    AddonDebug
  • デバッグ完了後、データレイク機能で作成したAzure Data Lake Storage Gen2のコンテナに移動し、以下のようにデータフローの実行により、ファイルが格納されたことを確認する

    AddonDataFlowImportFile

Azure Synapse Analyticsを利用したAzure Data Lake Storage Gen2へのクエリ検索

  • Synaspse Studioを開き、「Develop」からSQLスクリプトを作成する

    AddonCreateNewSQLScript
  • 接続を専用SQLプールに設定し、以下のSQL文を実行して外部データソースを作成する

    CREATE EXTERNAL DATA SOURCE dlsusecasea2_datasource
    WITH (
        LOCATION = 'abfss://{コンテナ名}@{Azure Data Lake Storage Gen2のリソース名}.dfs.core.windows.net',
        TYPE = HADOOP
    );
    
    AddonExternalDataSoruce
  • 外部テーブルと外部フォーマット作成のために以下のSQL文を実行する

    CREATE EXTERNAL FILE FORMAT csv_file_format
    WITH (
        FORMAT_TYPE = DELIMITEDTEXT,
        FORMAT_OPTIONS (
            FIELD_TERMINATOR = ',',
            FIRST_ROW = 1
        )
    );
    
    CREATE EXTERNAL TABLE dbo.sample_csv
    (
        [year] INT,
        [value] FLOAT
    )
    WITH (
        LOCATION = '{ディレクトリ名}/{Azure Data Factoryを利用してAzure Data Lake Gen2 にインポートされたファイル名}',
        DATA_SOURCE = dlsusecasea2_datasource,
        FILE_FORMAT = csv_file_format
    );
    
    AddonCreateExternalTable
  • クエリ機能を利用する。yearが2000年のものを表示するために以下のSQL文を実行する。また、クエリ実行結果をPowerBIに読み込ませるためにビューとして作成する

    CREATE VIEW dbo.filtered_sample_csv AS
    SELECT *
    FROM dbo.sample_csv
    WHERE year BETWEEN 2000 AND 2009;
    
    AddonQueryYears

関連情報(Azure Synapse Analytics): Synapse SQLで外部テーブルを使用する

PowerBIとAzure Synapse Analytics

  • Power BI Desktop を開き、「他のソースからデータを取得する」を選択する

    AddonCreatePowerBIConnectionMenu
  • 「Azure」から「Azure Synapse Analytics SQL」を選択する

    AddonPowerBIConnectService
  • 専用SQLデータベースエンドポイント(Azure Portal上にあるSynapseWorkspaceの概要で確認できる)と専用SQLプールのデータベース名を入力する

    AddonPowerBISQLSetting
  • Microsoftアカウントでサインインを行う

    AddonPowerBIMicrosoftLogin
  • サインインが完了したら「接続」を選択する

    AddonPowerBIConnect.png
  • クエリ実行時に作成したViewを選択する

    AddonPowerBISelectView
  • 接続が完了すると取り込んだデータが表示される(キャプチャはデータビューの表示)

    AddonPowerBITableView
  • データビューに対して検索をかける場合は、列の三角のボタンを選択し、フィルターして表示したい列を選択する

    AddonPowerBISearch
  • 絞った列のみビューとして表示されていることを確認できる

    AddonPowerBISearchViewResult

関連情報(PowerBI): チュートリアル: Power BI Desktop でサーバーレス SQL プールを使用してレポートを作成する