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
- Uma conta existente do Azure Cosmos DB para NoSQL.
- Se você tiver uma assinatura existente do Azure, crie uma nova conta.
- Não há 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 blocos de anotações.
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.
- Abra o Visual Studio Code.
- 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
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 todos os pacotes necessários para este tutorial.
import azure.cosmos from azure.cosmos.partition_key import PartitionKey from azure.cosmos import CosmosClient
Crie uma nova instância de 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 de
/CartID
.container = database.create_container_if_not_exists(id='WebsiteMetrics', partition_key=PartitionKey(path='/CartID'))
Selecione Executar para criar o recurso de banco de dados e 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 seus dados
Crie outra nova célula de código.
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)
Crie outra nova célula de código.
Na célula de código, produza os 10 principais itens 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ã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 Crie outra nova 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 Chinelos Sapatos 66 1 Colar 55 2 Calçado Atlético 111 ... ... ... 45 Casaco corta-vento 56