Tutorial: Criar um Jupyter Notebook para analisar dados da conta do Azure Cosmos DB for NoSQL usando notebooks Jupyter do Visual Studio Code
APLICA-SE A: NoSQL
Este tutorial explica como usar os notebooks Jupyter do Visual Studio Code para interagir com a sua conta do Azure Cosmos DB for NoSQL. Você verá como se conectar à sua conta, importar dados e executar consultas.
Pré-requisitos
- Uma conta existente do Azure Cosmos DB for NoSQL.
- Se você tiver uma assinatura existente do Azure, crie uma nova conta.
- Nenhuma assinatura do Azure? Você pode experimentar o Azure Cosmos DB gratuitamente sem necessidade de cartão de crédito.
- Instale o Visual Studio Code e configure seu ambiente para usar notebooks.
Criar um novo notebook
Nesta seção, você criará o banco de dados Azure Cosmos e o contêiner e importará os dados de varejo para o contêiner.
- Abra o Visual Studio Code.
- Execute o comando Criar: Jupyter Notebook na paleta de comandos (CTRL + SHIFT + P) ou crie um arquivo.ipynb no seu workspace.
Dica
Agora que o notebook foi criado, você pode salvá-lo e nomeá-lo como AnalyzeRetailData.ipynb.
Criar um banco de dados e um contêiner usando o SDK
Comece na célula de código padrão.
Instale o pacote Azure.cosmos. Execute esta célula antes de continuar.
%pip install azure.cosmos
Importe os pacotes necessários para este tutorial.
import azure.cosmos from azure.cosmos.partition_key import PartitionKey from azure.cosmos import CosmosClient
Crie uma instância do CosmosClient.
endpoint = "<FILL ME>" key = "<FILL ME>" cosmos_client = CosmosClient(url=endpoint, credential=key)
Crie um banco de dados chamado RetailIngest usando o SDK interno.
database = cosmos_client.create_database_if_not_exists('RetailIngest')
Crie um contêiner chamado WebsiteMetrics com uma chave de partição
/CartID
.container = database.create_container_if_not_exists(id='WebsiteMetrics', partition_key=PartitionKey(path='/CartID'))
Selecione Executar para criar o banco de dados e o recurso de contêiner.
Importar dados para o contêiner
Adicionar uma nova célula de código
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)
Execute a célula. Isso levará de 45 segundos a 1 minuto para ser executado.
Analise os dados
Crie outra célula de código.
Na célula de código, use uma consulta SQL para popular um DataFrame do Pandas. 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)
Crie outra célula de código.
Na célula de código, gere os 10 itens principais do dataframe. Execute esta célula.
df_cosmos.head(10)
Observe a saída da execução do comando.
Ação ItemRevenue País Item 0 Comprado 19.99 Macedônia Camisa de botões 1 Exibido 12,00 Papua Nova Guiné Colar 2 Exibido 25,00 Eslováquia (República Eslovaca) Cardigã 3 Comprado 14.00 Senegal Sandálias de dedo 4 Exibido 50,00 Panamá Shorts jeans 5 Exibido 14.00 Senegal Sandálias de dedo 6 Adicionado 14.00 Senegal Sandálias de dedo 7 Adicionado 50,00 Panamá Shorts jeans 8 Comprado 33,00 Território Palestino Blusa vermelha 9 Exibido 30,00 Malta Suéter verde Crie outra célula de código.
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()
Observe a saída da execução do comando.
Item Teste 0 Sandálias de dedo 66 1 Colar 55 2 Tênis esportivos 111 ... ... ... 45 Windbreaker Jacket 56