Kurz: Vytvoření poznámkového bloku Jupyter pro analýzu dat v účtu Azure Cosmos DB for NoSQL pomocí poznámkových bloků Jupyter editoru Visual Studio Code

PLATÍ PRO: NoSQL

Tento kurz vás provede používáním poznámkových bloků Jupyter v editoru Visual Studio Code k interakci s účtem Azure Cosmos DB for NoSQL. Uvidíte, jak se připojit ke svému účtu, importovat data a spouštět dotazy.

Předpoklady

Vytvoření nového poznámkového bloku

V této části vytvoříte databázi Azure Cosmos, kontejner a importujete maloobchodní data do kontejneru.

  1. Otevřete Visual Studio Code.
  2. Spusťte příkaz Create: New Jupyter Notebook z palety příkazů (Ctrl+Shift+P) nebo vytvořte nový soubor .ipynb v pracovním prostoru.

Tip

Teď, když byl nový poznámkový blok vytvořen, můžete ho uložit a pojmenovat ho jako AnalyzeRetailData.ipynb.

Vytvoření databáze a kontejneru pomocí sady SDK

  1. Začněte ve výchozí buňce kódu.

  2. Nainstalujte balíček Azure.cosmos. Před pokračováním spusťte tuto buňku.

    %pip install azure.cosmos
    
  3. Importujte všechny balíčky, které pro účely tohoto kurzu potřebujete.

    import azure.cosmos
    from azure.cosmos.partition_key import PartitionKey
    from azure.cosmos import CosmosClient
    
  4. Vytvořte novou instanci CosmosClient.

    endpoint = "<FILL ME>"
    key = "<FILL ME>"
    cosmos_client = CosmosClient(url=endpoint, credential=key)
    
  5. Vytvořte databázi s názvem RetailIngest pomocí integrované sady SDK.

    database = cosmos_client.create_database_if_not_exists('RetailIngest')
    
  6. Vytvořte kontejner s názvem WebsiteMetrics s klíčem oddílu /CartID.

    container = database.create_container_if_not_exists(id='WebsiteMetrics', partition_key=PartitionKey(path='/CartID'))
    
  7. Vyberte Spustit a vytvořte databázi a prostředek kontejneru.

    Screenshot of Execute cell in Visual Studio Code Jupyter notebook.

Import dat do kontejneru

  1. Přidání nové buňky kódu

  2. Do buňky kódu přidejte následující kód pro nahrání dat z této adresy 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)
    
  3. Spusťte buňku. Spuštění bude trvat 45 sekund až 1 minutu.

Analýza dat

  1. Vytvořte další novou buňku kódu.

  2. V buňce kódu použijte dotaz SQL k naplnění datového rámce Pandas. Spusťte tuto buňku.

    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)
    
  3. Vytvořte další novou buňku kódu.

  4. V buňce kódu zadejte výstup prvních 10 položek z datového rámce. Spusťte tuto buňku.

    df_cosmos.head(10)
    
  5. Sledujte výstup spuštění příkazu.

    Akce ItemRevenue Země/oblast Item
    0 Koupeno 19.99 Makedonie Tričko s tlačítkem
    1 Zobrazeno 12,00 Papua-Nová Guinea Náhrdelník
    2 Zobrazeno 25.00 Slovensko (Slovenská republika) Svetr s karganem
    3 Koupeno 14,00 Senegal Flip Flop Boty
    4 Zobrazeno 50.00 Panama Denim Shorts
    5 Zobrazeno 14,00 Senegal Flip Flop Boty
    6 Přidáno 14,00 Senegal Flip Flop Boty
    7 Přidáno 50.00 Panama Denim Shorts
    8 Koupeno 33,00 Palestinská území Červená nahoře
    9 Zobrazeno 30.00 Malta Zelený svetr
  6. Vytvořte další novou buňku kódu.

  7. V buňce kódu importujte balíček pandas a přizpůsobte výstup datového rámce. Spusťte tuto buňku.

    import pandas as pd    
    df_cosmos.groupby("Item").size().reset_index()
    
  8. Sledujte výstup spuštění příkazu.

    Item Test
    0 Flip Flop Boty 66
    1 Náhrdelník 55
    2 Sportovní boty 111
    ... ... ...
    45 Bunda windbreaker 56

Další kroky