Sdílet prostřednictvím


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.

Požadavky

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.

    Snímek obrazovky s buňkou Execute (Spustit) v poznámkovém bloku Jupyter v editoru Visual Studio Code

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ě Položka
    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.

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

Další kroky