Partilhar via


Tutorial: Criar um Jupyter Notebook para analisar dados em sua conta do Azure Cosmos DB para NoSQL usando blocos de anotações do Visual Studio Code Jupyter

APLICA-SE A: NoSQL

Este tutorial explica como usar os blocos de anotações do Visual Studio Code Jupyter para interagir com sua conta do Azure Cosmos DB para NoSQL. Você verá como se conectar à sua conta, importar dados e executar consultas.

Pré-requisitos

Criar um novo Notebook

Nesta seção, você criará o banco de dados do Azure Cosmos, o contêiner e importará os dados de varejo para o contêiner.

  1. Abra o Visual Studio Code.
  2. Execute o comando Criar: Novo Bloco de Anotações Jupyter na Paleta de Comandos (Ctrl+Shift+P) ou crie um novo arquivo .ipynb em seu espaço de trabalho.

Gorjeta

Agora que o novo bloco de anotações foi criado, você pode salvá-lo e nomeá-lo como AnalyzeRetailData.ipynb.

Criar um banco de dados e um contêiner usando o SDK

  1. Comece na célula de código padrão.

  2. Instale o pacote Azure.cosmos. Execute esta célula antes de continuar.

    %pip install azure.cosmos
    
  3. Importe todos os pacotes necessários para este tutorial.

    import azure.cosmos
    from azure.cosmos.partition_key import PartitionKey
    from azure.cosmos import CosmosClient
    
  4. Crie uma nova instância de CosmosClient.

    endpoint = "<FILL ME>"
    key = "<FILL ME>"
    cosmos_client = CosmosClient(url=endpoint, credential=key)
    
  5. Crie um banco de dados chamado RetailIngest usando o SDK interno.

    database = cosmos_client.create_database_if_not_exists('RetailIngest')
    
  6. Crie um contêiner chamado WebsiteMetrics com uma chave de partição de /CartID.

    container = database.create_container_if_not_exists(id='WebsiteMetrics', partition_key=PartitionKey(path='/CartID'))
    
  7. Selecione Executar para criar o recurso de banco de dados e contêiner.

    Captura de tela da célula Executar no bloco de anotações do Visual Studio Code Jupyter.

Importar dados para o contêiner

  1. Adicionar uma nova célula de código

  2. Dentro da célula de código, adicione o seguinte código para carregar dados desta 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. Execute a célula. Isso levará de 45 segundos a 1 minuto para ser executado.

Analise os seus dados

  1. Crie outra nova célula de código.

  2. Na célula de código, use uma consulta SQL para preencher um Pandas DataFrame. Execute esta célula.

    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. Crie outra nova célula de código.

  4. Na célula de código, produza os 10 principais itens do dataframe. Execute esta célula.

    df_cosmos.head(10)
    
  5. Observe a saída da execução do comando.

    Ação ItemRevenue País Item
    0 Comprado 19.99 Macedónia Camisa de botão
    1 Visualizados 12.00 Papua-Nova Guiné Colar
    2 Visualizados 25.00 Eslováquia (República Eslovaca) Camisola Cardigan
    3 Comprado 14.00 Senegal Chinelos Sapatos
    4 Visualizados 50.00 Panamá Calções Denim
    5 Visualizados 14.00 Senegal Chinelos Sapatos
    6 Adicionou 14.00 Senegal Chinelos Sapatos
    7 Adicionou 50.00 Panamá Calções Denim
    8 Comprado 33.00 Autoridade Palestina Topo vermelho
    9 Visualizados 30,00 Malta Camisola Verde
  6. Crie outra nova célula de código.

  7. Na célula de código, importe o pacote pandas para personalizar a saída do dataframe. Execute esta célula.

    import pandas as pd    
    df_cosmos.groupby("Item").size().reset_index()
    
  8. Observe a saída da execução do comando.

    Item Teste
    0 Chinelos Sapatos 66
    1 Colar 55
    2 Calçado Atlético 111
    ... ... ...
    45 Casaco corta-vento 56

Próximos passos