Samouczek: tworzenie notesu Jupyter w celu analizowania danych na koncie usługi Azure Cosmos DB for NoSQL przy użyciu notesów Jupyter programu Visual Studio Code
DOTYCZY: NoSQL
W tym samouczku przedstawiono sposób korzystania z notesów Jupyter programu Visual Studio Code w celu interakcji z kontem usługi Azure Cosmos DB for NoSQL. Zobaczysz, jak nawiązać połączenie z kontem, zaimportować dane i uruchomić zapytania.
Wymagania wstępne
- Istniejące konto usługi Azure Cosmos DB for NoSQL.
- Jeśli masz istniejącą subskrypcję platformy Azure, utwórz nowe konto.
- Brak subskrypcji platformy Azure? Możesz wypróbować usługę Azure Cosmos DB bezpłatnie bez konieczności korzystania z karty kredytowej.
- Zainstaluj program Visual Studio Code i skonfiguruj środowisko do korzystania z notesów.
Tworzenie nowego notesu
W tej sekcji utworzysz bazę danych, kontener usługi Azure Cosmos i zaimportujesz dane detaliczne do kontenera.
- Otwórz Visual Studio Code.
- Uruchom polecenie Utwórz: nowy notes Jupyter Notebook z palety poleceń (Ctrl+Shift+P) lub utwórz nowy plik ipynb w obszarze roboczym.
Napiwek
Po utworzeniu nowego notesu możesz zapisać go i nadać mu nazwę podobną do AnalyzeRetailData.ipynb.
Tworzenie bazy danych i kontenera przy użyciu zestawu SDK
Rozpocznij w domyślnej komórce kodu.
Zainstaluj pakiet Azure.cosmos. Uruchom tę komórkę przed kontynuowaniem.
%pip install azure.cosmos
Zaimportuj wszystkie wymagane pakiety na potrzeby tego samouczka.
import azure.cosmos from azure.cosmos.partition_key import PartitionKey from azure.cosmos import CosmosClient
Utwórz nowe wystąpienie obiektu CosmosClient.
endpoint = "<FILL ME>" key = "<FILL ME>" cosmos_client = CosmosClient(url=endpoint, credential=key)
Utwórz bazę danych o nazwie RetailIngest przy użyciu wbudowanego zestawu SDK.
database = cosmos_client.create_database_if_not_exists('RetailIngest')
Utwórz kontener o nazwie WebsiteMetrics z kluczem
/CartID
partycji .container = database.create_container_if_not_exists(id='WebsiteMetrics', partition_key=PartitionKey(path='/CartID'))
Wybierz pozycję Uruchom , aby utworzyć bazę danych i zasób kontenera.
Importowanie danych do kontenera
Dodawanie nowej komórki kodu
W komórce kodu dodaj następujący kod, aby przekazać dane z tego adresu 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)
Uruchom komórkę. Uruchomienie tego polecenia potrwa od 45 sekund do 1 minuty.
Analizowanie danych
Utwórz kolejną nową komórkę kodu.
W komórce kodu użyj zapytania SQL, aby wypełnić ramkę danych Biblioteki Pandas. Uruchom tę komórkę.
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)
Utwórz kolejną nową komórkę kodu.
W komórce kodu wyprowadź 10 pierwszych elementów z ramki danych. Uruchom tę komórkę.
df_cosmos.head(10)
Zwróć uwagę na dane wyjściowe uruchomienia polecenia .
Akcja ItemRevenue Kraj Towar 0 Zakupione 19.99 Macedonia Północna Koszula z guzikiem 1 Wyświetlono 12,00 Papua Nowa Gwinea Naszyjnik 2 Wyświetlono 25.00 Słowacja (Republika Słowacka) Sweter kardiganowy 3 Zakupione 14.00 Senegal Przerzucanie butów Flop 4 Wyświetlono 50.00 Panama Szorty denimowe 5 Wyświetlono 14.00 Senegal Przerzucanie butów Flop 6 Dodane 14.00 Senegal Przerzucanie butów Flop 7 Dodane 50.00 Panama Szorty denimowe 8 Zakupione 33,00 Autonomia Palestyńska Czerwony górny 9 Wyświetlono 30.00 Malta Zielony sweter Utwórz kolejną nową komórkę kodu.
W komórce kodu zaimportuj pakiet pandas , aby dostosować dane wyjściowe ramki danych. Uruchom tę komórkę.
import pandas as pd df_cosmos.groupby("Item").size().reset_index()
Zwróć uwagę na dane wyjściowe uruchomienia polecenia .
Towar Test 0 Przerzucanie butów Flop 66 1 Naszyjnik 55 2 Buty sportowe 111 ... ... ... 45 Kurtka wiatrowa 56