チュートリアル: Azure Cosmos DB for NoSQL で Jupyter Notebook を作成してデータを分析および視覚化する (プレビュー)
適用対象: NoSQL
警告
Azure Cosmos DB の Jupyter Notebook 機能は、2024 年 3 月 30 日に廃止されます。Azure Cosmos DB アカウントから組み込みの Jupyter Notebook を使用することはできません。 Jupyter Notebook をサポートする Visual Studio Code、または任意のノートブック クライアントを使用することをお勧めします。
このチュートリアルでは、Azure Cosmos DB の Jupyter Notebooks 機能を使用して、サンプル小売データを Azure Cosmos DB for NoSQL アカウントにインポートする方法について説明します。 Azure Cosmos DB のマジック コマンドを使用してクエリを実行し、データを分析して、結果を視覚化する方法をご覧ください。
前提条件
- 既存の Azure Cosmos DB for NoSQL アカウント。
- Azure サブスクリプションを既にお持ちの場合は、新しいアカウントを作成します。
- Azure サブスクリプションがない場合。 Azure Cosmos DB を無料で試すことができます。クレジット カードは必要ありません。
新しいノートブックを作成する
このセクションでは、Azure Cosmos データベースとコンテナーを作成し、コンテナーに小売データをインポートします。
Azure Cosmos DB アカウントに移動して、[データ エクスプローラー] を開きます。
[新しいノートブック] を選択します。
確認のダイアログが表示されたら、[作成] を選択します。
注意
Jupyter Notebook を操作できるように、一時的なワークスペースが作成されます。 セッションの有効期限が切れると、ワークスペース内のすべてのノートブックが削除されます。
ノートブックに使用するカーネルを選択します。
ヒント
新しいノートブックが作成され、その名前を VisualizeRetailData.ipynb などに変更できます。
SDK を使用してデータベースとコンテナーを作成する
既定のコード セルから開始します。
このチュートリアルに必要なパッケージをすべてインポートします。
import azure.cosmos from azure.cosmos.partition_key import PartitionKey
組み込みの SDK を使用して RetailIngest という名前のデータベースを作成します。
database = cosmos_client.create_database_if_not_exists('RetailIngest')
WebsiteMetrics という名前のコンテナーを
/CartID
のパーティション キーで作成します。container = database.create_container_if_not_exists(id='WebsiteMetrics', partition_key=PartitionKey(path='/CartID'))
[実行] を選択して、データベースとコンテナー リソースを作成します。
マジック コマンドを使用してデータをインポートする
新しいコード セルを追加します。
コード セル内に、次のマジック コマンドを追加して、既存のコンテナーに、この URL から JSON データをアップロードします: https://cosmosnotebooksdata.blob.core.windows.net/notebookdata/websiteData.json
%%upload --databaseName RetailIngest --containerName WebsiteMetrics --url https://cosmosnotebooksdata.blob.core.windows.net/notebookdata/websiteData.json
[Run Active Cell] (アクティブ セルの実行) を選択すると、この特定のセルでのみコマンドが実行されます。
Note
インポート コマンドの完了には 5 から 10 秒かかります。
実行コマンドからの出力を確認します。 2,654 個のドキュメントがインポートされたことを確認します。
Documents successfully uploaded to WebsiteMetrics Total number of documents imported: Success: 2654 Failure: 0 Total time taken : 00:00:04 hours Total RUs consumed : 27309.660000001593
データを視覚化する
別の新しいコード セルを作成します。
コード セルで、SQL クエリを使用して Pandas DataFrame を設定します。
%%sql --database RetailIngest --container WebsiteMetrics --output df_cosmos SELECT c.Action, c.Price as ItemRevenue, c.Country, c.Item FROM c
[Run Active Cell] (アクティブ セルの実行) を選択すると、この特定のセルでのみコマンドが実行されます。
別の新しいコード セルを作成します。
コード セルで、データフレームから上位 10 個の項目を出力します。
df_cosmos.head(10)
[Run Active Cell] (アクティブ セルの実行) を選択すると、この特定のセルでのみコマンドが実行されます。
コマンドを実行した出力を確認します。
アクション ItemRevenue 国 Item 0 購入済み 19.99 マケドニア旧ユーゴスラビア共和国 Button-Up Shirt 1 表示 12.00 パプアニューギニア Necklace 2 表示 25.00 スロバキア (スロバキア共和国) Cardigan Sweater 3 購入済み 14.00 セネガル Flip Flop Shoes 4 表示 50.00 パナマ Denim Shorts 5 表示 14.00 セネガル Flip Flop Shoes 6 追加 14.00 セネガル Flip Flop Shoes 7 追加 50.00 パナマ Denim Shorts 8 購入済み 33.00 パレスチナ Red Top 9 表示 30.00 マルタ Green Sweater 別の新しいコード セルを作成します。
コード セルで pandas パッケージをインポートして、データフレームの出力をカスタマイズします。
import pandas as pd pd.options.display.html.table_schema = True pd.options.display.max_rows = None df_cosmos.groupby("Item").size()
[Run Active Cell] (アクティブ セルの実行) を選択すると、この特定のセルでのみコマンドが実行されます。
出力で、[折れ線グラフ] オプションを選択して、データの別の視覚化を表示します。
ノートブックを保持する
[ノートブック] セクションで、このチュートリアル用に作成したノートブックのコンテキスト メニューを開き、[ダウンロード] を選択します。
ヒント
作業内容を永続的に保存するには、セッションが終了する前に、ノートブックを GitHub リポジトリに保存するか、ノートブックをローカル コンピューターにダウンロードします。