Tutorial: Implementar Azure Databricks com um ponto final da Cosmos DB

Este tutorial descreve como implementar um ambiente de Databricks injetado em VNet com um Ponto Final de Serviço ativado para o Cosmos DB.

Neste tutorial, ficará a saber como:

  • Criar um espaço de trabalho Azure Databricks numa rede virtual
  • Criar um ponto final de serviço Cosmos DB
  • Criar uma conta Descoso cosmos e importar dados
  • Criar um cluster Azure Databricks
  • Consulta Cosmos DB de um caderno Azure Databricks

Pré-requisitos

Antes de começar, faça o seguinte:

  • Crie um espaço de trabalho Azure Databricks numa rede virtual.

  • Descarregue o conector Spark.

  • Descarregue os dados da amostra dos Centros Nacionais de Informação Ambiental da NOAA. Selecione um estado ou área e selecione Pesquisar. Na página seguinte, aceite as predefinições e selecione Procurar. Em seguida, selecione CSV Descarregue no lado esquerdo da página para fazer o download dos resultados.

  • Descarregue o binário pré-compilado da Ferramenta de Migração de Dados DB do Azure Cosmos.

Criar um ponto final de serviço Cosmos DB

  1. Depois de ter implantado um espaço de trabalho Azure Databricks para uma rede virtual, navegue para a rede virtual no portal Azure. Note as sub-redes públicas e privadas que foram criadas através da implantação de Databricks.

    Subesí redes de rede virtuais

  2. Selecione a sub-rede pública e crie um ponto final de serviço Cosmos DB. Em seguida, guardar.

    Adicione um ponto final de serviço Cosmos DB

Criar uma conta do Cosmos DB

  1. Abra o portal do Azure. No lado superior esquerdo do ecrã, selecione Criar um recurso > Bases de Dados > Azure Cosmos DB.

  2. Preencha os Detalhes da Instância no separador Básicos com as seguintes definições:

    Definição Valor
    Subscrição a sua subscrição
    Grupo de Recursos seu grupo de recursos
    Nome da Conta db-vnet-service-endpoint
    API Núcleo (SQL)
    Localização E.U.A. Oeste
    Redundância Geográfica Desativar
    Escritas de várias regiões Ativar

    Adicionar informações básicas da conta da Cosmos DB

  3. Selecione o separador 'Rede' e configuure a sua rede virtual.

    a. Escolha a rede virtual que criou como pré-requisito e, em seguida, selecione a sub-rede pública. Note que a sub-rede privada tem a nota "Microsoft AzureCosmosDB" está em falta». Isto porque só permitiu o ponto final de serviço cosmos DB na sub-rede pública.

    b. Certifique-se de que tem o acesso a partir do portal Azure ativado. Esta definição permite-lhe aceder à sua conta Cosmos DB a partir do portal Azure. Se esta opção estiver definida para Deny, receberá erros ao tentar aceder à sua conta.

    Nota

    Não é necessário para este tutorial, mas também pode ativar o acesso a partir do meu IP se quiser aceder à sua conta Cosmos DB a partir da sua máquina local. Por exemplo, se estiver a ligar-se à sua conta utilizando o Cosmos DB SDK, tem de ativar esta definição. Se estiver desativado, receberá erros de "Access Denied".

    Definições da rede de conta Descoso cosmos DB

  4. Selecione 'Rever + Criar' e, em seguida, criar para criar a sua conta Cosmos DB dentro da rede virtual.

  5. Assim que a sua conta Cosmos DB tiver sido criada, navegue para Chaves em Definições. Copie a cadeia de ligação primária e guarde-a num editor de texto para posterior utilização.

    Página de chaves de conta Cosmos DB

  6. Selecione Data Explorer e New Container para adicionar uma nova base de dados e recipiente à sua conta Cosmos DB.

    Nova coleção da Cosmos DB

Faça upload de dados para Cosmos DB

  1. Abra a versão de interface gráfica da ferramenta de migração de dados para Cosmos DB, Dtui.exe.

    Ferramenta de Migração de Dados do Cosmos DB

  2. No separador Informações de Origem, selecione CSV File(s) na Importação do dropdown. Em seguida, selecione Add Files e adicione os dados de tempestade CSV que descarregou como pré-requisito.

    Informações da ferramenta de migração de dados cosmos DB

  3. No separador Informações-Alvo, insira a sua cadeia de ligação. O formato de cadeia de ligação é AccountEndpoint=<URL>;AccountKey=<key>;Database=<database> . O AccountEndpoint e o AccountKey estão incluídos na cadeia de ligação primária que guardou na secção anterior. Apêndi-lo Database=<your database name> à extremidade da cadeia de ligação e selecione Verificar. Em seguida, adicione o nome do Recipiente e a tecla de partição.

    Informações sobre o alvo da ferramenta de migração de dados cosmos DB

  4. Selecione Seguinte até chegar à página Resumo. Em seguida, selecione Import.

Criar um cluster e adicionar biblioteca

  1. Navegue para o seu serviço Azure Databricks no portal Azure e selecione Launch Workspace.

  2. Criar um novo aglomerado. Escolha um Nome de Cluster e aceite as definições predefinidos restantes.

    Novas configurações de cluster

  3. Após a criação do seu cluster, navegue na página de cluster e selecione o separador Bibliotecas. Selecione Instalar Novo e carregar o ficheiro do frasco do conector Spark para instalar a biblioteca.

    Instalar biblioteca de conector spark

    Pode verificar se a biblioteca foi instalada no separador Bibliotecas.

    Separador de bibliotecas de cluster databricks

Consulta Cosmos DB de um caderno databricks

  1. Navegue para o seu espaço de trabalho Azure Databricks e crie um novo caderno python.

    Criar novo caderno Databricks

  2. Executar o seguinte código python para definir a configuração de ligação Cosmos DB. Altere o ponto final, a masterkey, a base de dados e o recipiente em conformidade.

    connectionConfig = {
      "Endpoint" : "https://<your Cosmos DB account name.documents.azure.com:443/",
      "Masterkey" : "<your Cosmos DB primary key>",
      "Database" : "<your database name>",
      "preferredRegions" : "West US 2",
       "Collection": "<your collection name>",
      "schema_samplesize" : "1000",
      "query_pagesize" : "200000",
      "query_custom" : "SELECT * FROM c"
    }
    
  3. Utilize o seguinte código python para carregar os dados e criar uma visão temporária.

    users = spark.read.format("com.microsoft.azure.cosmosdb.spark").options(**connectionConfig).load()
    users.createOrReplaceTempView("storm")
    
  4. Utilize o seguinte comando mágico para executar uma declaração SQL que retorne dados.

    %sql
    select * from storm
    

    Ligou com sucesso o seu espaço de trabalho databricks injetado em VNet a um recurso DB da Cosmos ativado pelo serviço. Para ler mais sobre como ligar-se à Cosmos DB, consulte o Conector DB da Azure Cosmos para a Apache Spark.

Limpar os recursos

Quando já não for necessário, elimine o grupo de recursos, o espaço de trabalho Azure Databricks e todos os recursos relacionados. Apagar o trabalho evita faturação desnecessária. Se planeia utilizar o espaço de trabalho Azure Databricks no futuro, pode parar o cluster e reiniciá-lo mais tarde. Se não continuar a utilizar este espaço de trabalho Azure Databricks, elimine todos os recursos criados neste tutorial utilizando os seguintes passos:

  1. A partir do menu à esquerda no portal Azure, clique em grupos de Recursos e, em seguida, clique no nome do grupo de recursos que criou.

  2. Na sua página de grupo de recursos, selecione Delete, digite o nome do recurso para apagar na caixa de texto e, em seguida, selecione Delete again.

Passos seguintes

Neste tutorial, você implantou um espaço de trabalho Azure Databricks para uma rede virtual, e usou o conector Cosmos DB Spark para consultar os dados do Cosmos DB de Databricks. Para saber mais sobre trabalhar com a Azure Databricks numa rede virtual, continue ao tutorial para usar o SQL Server com Azure Databricks.