Руководство. Создание записной книжки Jupyter для анализа данных в учетной записи Azure Cosmos DB для NoSQL с помощью записных книжек Jupyter Для Visual Studio Code
ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL
В этом руководстве описывается, как использовать записные книжки Jupyter Для Visual Studio Code для взаимодействия с учетной записью Azure Cosmos DB для NoSQL. Вы увидите, как подключиться к учетной записи, импортировать данные и выполнять запросы.
Необходимые компоненты
- Существующая учетная запись Azure Cosmos DB для NoSQL.
- Если у вас есть подписка Azure, создайте новую учетную запись.
- Нет подписки Azure? Вы можете попробовать Azure Cosmos DB бесплатно без кредитной карты.
- Установите Visual Studio Code и настройте среду для использования записных книжек.
Создание записной книжки
В этом разделе описано, как создать базу данных Azure Cosmos, контейнер и импортировать данные розничной торговли в контейнер.
- Откройте Visual Studio Code.
- Выполните команду Create: New Jupyter Notebook из палитры команд (CTRL+SHIFT+P) или создайте новый IPYNB-файл в рабочей области.
Совет
Теперь, когда была создана новая записная книжка, ее можно сохранить и присвоить ему имя, например 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)
Создайте базу данных с именем RetailIngest с помощью встроенного пакета SDK.
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-адреса:
<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. Выполните код в этой ячейке.
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 Страна/регион Товар 0 Куплено £9,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()
Просмотрите выходные данные выполнения команды.
Товар Тест 0 Шлепанцы 66 1 Ожерелье 55 2 Кроссовки 111 ... ... ... 45 Куртка ветрозащиты 56