次の方法で共有


チュートリアル: Microsoft Fabric で Cosmos DB から Microsoft Fabric ミラー化データベースにクエリを実行する

このチュートリアルでは、Fabric データベース内の既存の Cosmos DB から Fabric ミラー化データベースに対してクエリを実行します。 データベースでミラーリングを有効にし、ミラーリングの状態を確認してから、ソース データとミラー化データの両方を分析に使用する方法について説明します。

[前提条件]

Fabric データベースで Cosmos DB を構成する

まず、Fabric データベース内の Cosmos DB が正しく構成され、ミラーリング用のデータが含まれていることを確認します。

  1. Fabric ポータル (https://app.fabric.microsoft.com) を開きます。

  2. 既存の Cosmos DB データベースに移動します。

    Important

    このチュートリアルでは、既存の Cosmos DB データベースに サンプル データ セット が既に読み込まれている必要があります。 このチュートリアルの残りの手順では、このデータベースに同じデータ セットを使用していることを前提としています。

  3. データベースにデータを含むコンテナーが少なくとも 1 つ含まれていることを確認します。 この検証を行うには、ナビゲーション ウィンドウでコンテナーを展開し、その項目が存在することを確認します。

  4. メニュー バーで、[ 設定] を選択してデータベース構成にアクセスします。

  5. [設定] ダイアログで、[ミラーリング] セクションに移動して、このデータベースに対してミラーリングが有効になっていることを確認します。

    ミラーリングは、Fabric 内のすべての Cosmos DB データベースに対して自動的に有効になります。 この機能では、追加の構成は必要なく、OneLake でデータが常に分析可能であることを保証します。

ソース データベースに接続する

次に、ソース Cosmos DB データベースに直接接続してクエリを実行できることを確認します。

  1. Fabric ポータルで既存の Cosmos DB データベースに戻ります。

  2. 既存のコンテナーを選択して展開し、その内容を表示します。

  3. [ アイテム] を選択して、データベース内のデータを直接参照します。

  4. コンテナー内の項目が表示されることを確認します。 たとえば、サンプル データ セットを使用している場合は、 namecategorycountryOfOriginなどのプロパティを持つ項目が表示されます。

  5. メニューから [新しいクエリ ] を選択して、NoSQL クエリ エディターを開きます。

  6. テスト クエリを実行して、接続性とデータの可用性を確認します。

    SELECT COUNT(1) AS itemCount FROM container
    

    このクエリは、コンテナー内の項目の合計数を返す必要があります。

ミラー化されたデータベースに接続する

次に、SQL 分析エンドポイントを介してミラー化されたバージョンのデータベースにアクセスし、T-SQL を使用して同じデータにクエリを実行します。

  1. メニュー バーで Cosmos DB の一覧を選択し、 SQL 分析エンドポイント を選択してミラー化されたデータベース ビューに切り替えます。

  2. コンテナーが SQL 分析エンドポイントのテーブルとして表示されることを確認します。 テーブルの名前はコンテナーと同じである必要があります。

  3. メニューから [新しい SQL クエリ ] を選択して、T-SQL クエリ エディターを開きます。

  4. テスト クエリを実行して、ミラーリングが正しく動作していることを確認します。

    SELECT COUNT(*) AS itemCount FROM [dbo].[SampleData]
    

    サンプル データ セットを使用していない場合は、 [SampleData] をコンテナーの名前に置き換えます。

  5. このクエリは、ミラーリングによってデータが正常にレプリケートされていることを確認して、NoSQL クエリと同じ数を返す必要があります。

Fabric からソース データベースのクエリを実行する

Fabric ポータルを使用して、Azure Cosmos DB アカウントに既に存在するデータを調べ、ソース Cosmos DB データベースに対してクエリを実行します。

  1. ファブリック ポータルでミラー化されたデータベースに移動します。

  2. [ 表示]、[ ソース データベース] の順に選択します。 この操作により、ソース データベースの読み取り専用ビューで Azure Cosmos DB データ エクスプローラーが開きます。

    Azure Cosmos DB アカウントの NoSQL データの読み取り専用ビューを含むデータ エクスプローラーのスクリーンショット。

  3. コンテナーを選択し、コンテキスト メニューを開き、[ 新しい SQL クエリ] を選択します。

  4. 任意のクエリを実行します。 たとえば、 SELECT COUNT(1) FROM container を使用して、コンテナー内の項目の数をカウントします。

    ソース データベースのすべての読み取りは Azure にルーティングされ、アカウントに割り当てられた要求ユニット (RU) が使用されます。

対象のミラー化されたデータベースを分析する

次に、T-SQL を使用して、Fabric OneLake に格納されている NoSQL データに対してクエリを実行します。

  1. ファブリック ポータルでミラー化されたデータベースに移動します。

  2. ミラー化された Azure Cosmos DB から SQL 分析エンドポイントに切り替えます。

    Fabric ポータルで項目を切り替えるセレクターのスクリーンショット。

  3. ソース データベース内の各コンテナーは、SQL 分析エンドポイントでウェアハウス テーブルとして表す必要があります。

  4. 任意のテーブルを選択し、コンテキスト メニューを開き、[ 新しい SQL クエリ] を選択して、最後に [ 上位 100 を選択] を選択します。

  5. クエリが実行され、選択したテーブル内の 100 個のレコードが返されます。

  6. 同じテーブルのコンテキスト メニューを開き、[ 新しい SQL クエリ] を選択します。 SUMCOUNTMINMAXなどの集計を使用するクエリの例を記述します。 ウェアハウス内の複数のテーブルを結合して、複数のコンテナー間でクエリを実行します。

    たとえば、このクエリは複数のコンテナーで実行されます。

    SELECT
        d.[product_category_name],
        t.[order_status],
        c.[customer_country],
        s.[seller_state],
        p.[payment_type],
        sum(o.[price]) as price,
        sum(o.[freight_value]) freight_value 
    FROM
        [dbo].[products] p 
    INNER JOIN
        [dbo].[OrdersDB_order_payments] p 
            on o.[order_id] = p.[order_id] 
    INNER JOIN
        [dbo].[OrdersDB_order_status] t 
            ON o.[order_id] = t.[order_id] 
    INNER JOIN
        [dbo].[OrdersDB_customers] c 
            on t.[customer_id] = c.[customer_id] 
    INNER JOIN
        [dbo].[OrdersDB_productdirectory] d 
            ON o.product_id = d.product_id 
    INNER JOIN
        [dbo].[OrdersDB_sellers] s 
            on o.seller_id = s.seller_id 
    GROUP BY
        d.[product_category_name],
        t.[order_status],
        c.[customer_country],
        s.[seller_state],
        p.[payment_type]
    

    この例では、テーブルと列の名前を前提としています。 SQL クエリを記述するときは、独自のテーブルと列を使用します。

  7. クエリを選択し、[ 名前を付けて保存] ビューを選択します。 ビューに一意の名前を付けます。 このビューには、ファブリック ポータルからいつでもアクセスできます。

  8. ファブリック ポータルでミラー化されたデータベースに戻ります。

  9. [ 新しいビジュアル クエリ] を選択します。 クエリ エディターを使用して、複雑なクエリを作成します。

    Fabric のテキスト ベースのクエリとビジュアル クエリの両方のクエリ エディターのスクリーンショット。

SQL クエリまたはビューに関する BI レポートを作成する

  1. クエリまたはビューを選択し、[ このデータの探索 (プレビュー)]を選択します。 このアクションでは、Direct Lake on OneLake のミラー化されたデータを使用して、Power BI のクエリを直接探索します。
  2. 必要に応じてグラフを編集し、レポートを保存します。

ヒント

必要に応じて、Copilot やその他の拡張機能を使用して、それ以上データを移動せずにダッシュボードやレポートを作成することもできます。