你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
教程:创建 Jupyter 笔记本以使用 Visual Studio Code Jupyter 笔记本分析 Azure Cosmos DB for NoSQL 帐户中的数据
适用范围: NoSQL
本教程介绍如何使用 Visual Studio Code Jupyter 笔记本与 Azure Cosmos DB for NoSQL 帐户进行交互。 你将了解如何连接到帐户、导入数据和运行查询。
先决条件
- 一个现有的适用于 NoSQL 的 Azure Cosmos DB 帐户。
- 如果你有现有的 Azure 订阅,请创建一个新帐户。
- 无 Azure 订阅? 可以免费试用 Azure Cosmos DB,无需信用卡。
- 安装 Visual Studio Code 并设置环境以使用笔记本。
创建新的 Notebook
在本部分,你将创建 Azure Cosmos 数据库和容器,并将零售数据导入该容器。
提示
创建新笔记本后,可以保存它并将其命名为类似于 AnalyzeRetailData.ipynb。
使用 SDK 创建数据库和容器
从默认代码单元格开始。
安装 Azure.cosmos 包。 继续操作之前,请运行此单元。
%pip install azure.cosmos
导入本教程所需的所有包。
import azure.cosmos from azure.cosmos.partition_key import PartitionKey from azure.cosmos import CosmosClient
创建 CosmosClient 的新实例。
endpoint = "<FILL ME>" key = "<FILL ME>" cosmos_client = CosmosClient(url=endpoint, credential=key)
使用内置 SDK 创建名为“RetailIngest”的数据库。
database = cosmos_client.create_database_if_not_exists('RetailIngest')
使用
/CartID
分区键创建名为“WebsiteMetrics”的容器。container = database.create_container_if_not_exists(id='WebsiteMetrics', partition_key=PartitionKey(path='/CartID'))
选择“运行”以创建数据库和容器资源。
将数据导入容器
添加新的代码单元
在代码单元中,添加以下代码以从此 URL 上传数据:
<https://cosmosnotebooksdata.blob.core.windows.net/notebookdata/websiteData.json>
。import urllib.request import json with urllib.request.urlopen("https://cosmosnotebooksdata.blob.core.windows.net/notebookdata/websiteData.json") as url: docs = json.loads(url.read().decode()) for doc in docs: container.upsert_item(doc)
运行该单元。 这需要 45 秒到 1 分钟才能运行。
分析数据
另创建一个新的代码单元格。
在代码单元格中,使用 SQL 查询填充 Pandas DataFrame。 运行此单元格。
import pandas as pd from pandas import DataFrame QUERY = "SELECT c.Action, c.Price as ItemRevenue, c.Country, c.Item FROM c" results = container.query_items( query=QUERY, enable_cross_partition_query=True ) df_cosmos = pd.DataFrame(results)
另创建一个新的代码单元格。
在代码单元格中,输出数据帧的前 10 项。 运行此单元格。
df_cosmos.head(10)
观察运行命令的输出。
操作 ItemRevenue Country 项 0 已购买 19.99 马其顿 纽扣衬衫 1 已查看 12.00 巴布亚新几内亚 项链 2 已查看 25.00 斯洛伐克(斯洛伐克共和国) 开襟毛衣 3 已购买 14.00 塞内加尔 人字拖 4 已查看 50.00 巴拿马 牛仔短裤 5 已查看 14.00 塞内加尔 人字拖 6 已添加 14.00 塞内加尔 人字拖 7 已添加 50.00 巴拿马 牛仔短裤 8 已购买 33.00 巴勒斯坦占领区 红色上衣 9 已查看 30.00 马耳他 绿色毛衣 另创建一个新的代码单元格。
在代码单元格中,导入 pandas 包以自定义数据帧的输出。 运行此单元格。
import pandas as pd df_cosmos.groupby("Item").size().reset_index()
观察运行命令的输出。
Item 测试 0 人字拖 66 1 项链 55 2 运动鞋 111 ... ... ... 45 防风夹克 56