Öğretici: Visual Studio Code Jupyter not defterlerini kullanarak NoSQL için Azure Cosmos DB hesabınızdaki verileri analiz etmek için Jupyter Not Defteri oluşturma

UYGULANANLAR: NoSQL

Bu öğreticide, NoSQL için Azure Cosmos DB hesabınızla etkileşime geçmek için Visual Studio Code Jupyter not defterlerinin nasıl kullanılacağı açıklanmaktadır. Hesabınıza bağlanmayı, verileri içeri aktarmayı ve sorgu çalıştırmayı göreceksiniz.

Önkoşullar

Yeni not defteri oluşturma

Bu bölümde Azure Cosmos veritabanını, kapsayıcısını oluşturacak ve perakende verilerini kapsayıcıya aktaracaksınız.

  1. Visual Studio Code'u açın.
  2. Komut Paleti'nden Oluştur: Yeni Jupyter Not Defteri komutunu çalıştırın (Ctrl+Shift+P) veya çalışma alanınızda yeni bir .ipynb dosyası oluşturun.

İpucu

Yeni not defteri oluşturulduğuna göre, not defterini kaydedebilir ve AnalyzeRetailData.ipynb gibi adlandırabilirsiniz.

SDK kullanarak veritabanı ve kapsayıcı oluşturma

  1. Varsayılan kod hücresinde başlayın.

  2. Azure.cosmos paketini yükleyin. Devam etmeden önce bu hücreyi çalıştırın.

    %pip install azure.cosmos
    
  3. Bu öğretici için ihtiyacınız olan tüm paketleri içeri aktarabilirsiniz.

    import azure.cosmos
    from azure.cosmos.partition_key import PartitionKey
    from azure.cosmos import CosmosClient
    
  4. CosmosClient'ın yeni bir örneğini oluşturun.

    endpoint = "<FILL ME>"
    key = "<FILL ME>"
    cosmos_client = CosmosClient(url=endpoint, credential=key)
    
  5. Yerleşik SDK'sını kullanarak RetailIngest adlı bir veritabanı oluşturun.

    database = cosmos_client.create_database_if_not_exists('RetailIngest')
    
  6. bölüm anahtarıyla /CartIDWebsiteMetrics adlı bir kapsayıcı oluşturun.

    container = database.create_container_if_not_exists(id='WebsiteMetrics', partition_key=PartitionKey(path='/CartID'))
    
  7. Veritabanını ve kapsayıcı kaynağını oluşturmak için Çalıştır'ı seçin.

    Visual Studio Code Jupyter not defterinde hücreyi yürüt'ün ekran görüntüsü.

Kapsayıcıya veri aktarma

  1. Yeni kod hücresi ekleme

  2. Kod hücresinin içine şu url'den veri yüklemek için aşağıdaki kodu ekleyin: <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. Hücreyi çalıştırın. Bunun çalıştırılması 45 saniye ile 1 dakika sürer.

Verilerinizi analiz etme

  1. Başka bir yeni kod hücresi oluşturun.

  2. Kod hücresinde, Pandas DataFrame'i doldurmak için SQL sorgusu kullanın. Bu hücreyi çalıştırın.

    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. Başka bir yeni kod hücresi oluşturun.

  4. Kod hücresinde, veri çerçevesinden ilk 10 öğenin çıkışını alın. Bu hücreyi çalıştırın.

    df_cosmos.head(10)
    
  5. komutunu çalıştırmanın çıkışını gözlemleyin.

    Eylem ItemRevenue Ülke Kalem
    0 Satın alınan 19.99 Makedonya Düğmeli Gömlek
    1 Görüntülendi 12,00 Papua Yeni Gine Kolye
    2 Görüntülendi 25.00 Slovakya (Slovakça Cumhuriyeti) Hırka Kazak
    3 Satın alınan 14,00 Senegal Flip Flop Shoes
    4 Görüntülendi 50.00 Panama Denim Şort
    5 Görüntülendi 14,00 Senegal Flip Flop Shoes
    6 Eklendi 14,00 Senegal Flip Flop Shoes
    7 Eklendi 50.00 Panama Denim Şort
    8 Satın alınan 33.00 Filistin Yönetimi Kırmızı Üst
    9 Görüntülendi 30.00 Malta Yeşil Kazak
  6. Başka bir yeni kod hücresi oluşturun.

  7. Veri çerçevesinin çıkışını özelleştirmek için kod hücresinde pandas paketini içeri aktarın. Bu hücreyi çalıştırın.

    import pandas as pd    
    df_cosmos.groupby("Item").size().reset_index()
    
  8. komutunu çalıştırmanın çıkışını gözlemleyin.

    Kalem Test etme
    0 Flip Flop Shoes 66
    1 Kolye 55
    2 Atletik Ayakkabı 111
    ... ... ...
    45 Rüzgarlık Ceket 56

Sonraki adımlar