Tutorial: Implementar o Azure Databricks com um ponto de extremidade do Cosmos DBTutorial: Implement Azure Databricks with a Cosmos DB endpoint

Este tutorial descreve como implementar uma rede virtual ambiente injetadas do Databricks com um Ponto de Extremidade de Serviço habilitado para o Cosmos DB.This tutorial describes how to implement a VNet injected Databricks environment with a Service Endpoint enabled for Cosmos DB.

Neste tutorial, você aprenderá a:In this tutorial you learn how to:

  • Criar um workspace do Azure Databricks em uma rede virtualCreate an Azure Databricks workspace in a virtual network
  • Criar um ponto de extremidade de serviço do Cosmos DBCreate a Cosmos DB service endpoint
  • Criar uma conta do Cosmos DB e importar dadosCreate a Cosmos DB account and import data
  • Criar um cluster do Azure DatabricksCreate an Azure Databricks cluster
  • Consultar o Cosmos DB de um notebook do Azure DatabricksQuery Cosmos DB from an Azure Databricks notebook

Pré-requisitosPrerequisites

Antes de começar, faça o seguinte:Before you start, do the following:

Criar um ponto de extremidade de serviço do Cosmos DBCreate a Cosmos DB service endpoint

  1. Quando você tiver implantado um workspace do Azure Databricks para uma rede virtual, navegue até a rede virtual no portal do Azure.Once you have deployed an Azure Databricks workspace to a virtual network, navigate to the virtual network in the Azure portal. Observe as sub-redes públicas e privadas que foram criadas por meio da implantação do Databricks.Notice the public and private subnets that were created through the Databricks deployment.

    Sub-redes da rede virtual

  2. Selecione public-subnet e crie um ponto de extremidade de serviço do Cosmos DB.Select the public-subnet and create a Cosmos DB service endpoint. Em seguida, Salve.Then Save.

    Adicionar um ponto de extremidade de serviço do Cosmos DB

Criar uma conta do BD CosmosCreate a Cosmos DB account

  1. Abra o portal do Azure.Open the Azure portal. No lado superior esquerdo da tela, selecione Criar um recurso > Bancos de dados > Azure Cosmos DB.On the upper-left side of the screen, select Create a resource > Databases > Azure Cosmos DB.

  2. Preencha os Detalhes da Instância na guia Noções Básicas com as seguintes configurações:Fill out the Instance Details on the Basics tab with the following settings:

    ConfiguraçãoSetting ValorValue
    AssinaturaSubscription sua assinaturayour subscription
    Grupo de recursosResource Group seu grupo de recursosyour resource group
    Nome da contaAccount Name db-vnet-service-endpointdb-vnet-service-endpoint
    APIAPI Núcleo (SQL)Core (SQL)
    Local padrãoLocation Oeste dos EUAWest US
    Redundância geográficaGeo-Redundancy DesabilitarDisable
    Gravações de várias regiõesMulti-region Writes HabilitarEnable

    Adicionar um ponto de extremidade de serviço do Cosmos DB

  3. Selecione a guia Rede e configure sua rede virtual.Select the Network tab and configure your virtual network.

    a.a. Escolha a rede virtual que você criou como pré-requisito e, em seguida, selecione public-subnet.Choose the virtual network you created as a prerequisite, and then select public-subnet. Observe que private-subnet tem a observação O ponto de extremidade 'Microsoft AzureCosmosDB' está ausente ' .Notice that private-subnet has the note 'Microsoft AzureCosmosDB' endpoint is missing'. Isso ocorre porque você habilitou apenas o ponto de extremidade de serviço do Cosmos DB na public-subnet.This is because you only enabled the Cosmos DB service endpoint on the public-subnet.

    b.b. Verifique se você tem Permitir acesso do portal do Azure habilitado.Ensure you have Allow access from Azure portal enabled. Essa configuração permite que você acesse sua conta do Cosmos DB no portal do Azure.This setting allows you to access your Cosmos DB account from the Azure portal. Se essa opção estiver definida como Negar, você receberá erros ao tentar acessar sua conta.If this option is set to Deny, you will receive errors when attempting to access your account.

    Observação

    Não é necessário para este tutorial, mas você também pode habilitar Permitir acesso do meu IP se quiser ter a capacidade de acessar sua conta do Cosmos DB em seu computador local.It is not necessary for this tutorial, but you can also enable Allow access from my IP if you want the ability to access your Cosmos DB account from your local machine. Por exemplo, se você estiver se conectando à sua conta usando o SDK do Cosmos DB, precisará habilitar essa configuração.For example, if you are connecting to your account using the Cosmos DB SDK, you need to enable this setting. Se estiver desabilitada, você receberá erros de "Acesso Negado".If it is disabled, you will receive "Access Denied" errors.

    Configurações de rede da Conta do Cosmos DB

  4. Selecione Examinar + Criar e então Criar para criar sua conta do Cosmos DB dentro da rede virtual.Select Review + Create, and then Create to create your Cosmos DB account inside the virtual network.

  5. Quando sua conta do Cosmos DB tiver sido criada, navegue até Chaves em Configurações.Once your Cosmos DB account has been created, navigate to Keys under Settings. Copie a cadeia de conexão primária e salve-a em um editor de texto para uso posterior.Copy the primary connection string and save it in a text editor for later use.

    Página de chaves da conta do Cosmos DB

  6. Selecione Data Explorer e nova coleção para adicionar um novo banco de dados e uma coleção à conta do Cosmos DB.Select Data Explorer and New Collection to add a new database and collection to your Cosmos DB account.

    Nova coleção do Cosmos DB

Carregar dados para o Cosmos DBUpload data to Cosmos DB

  1. Abra a versão da interface gráfica da ferramenta de migração de dados para o Cosmos DB, Dtui.exe.Open the graphical interface version of the data migration tool for Cosmos DB, Dtui.exe.

    Ferramenta de Migração de Dados do Cosmos DB

  2. Na guia Informações de Origem, selecione Arquivo(s) CSV na lista suspensa Importar de.On the Source Information tab, select CSV File(s) in the Import from dropdown. Em seguida, selecione Adicionar Arquivos e adicione os dados CSV que você baixou do storm como um pré-requisito.Then select Add Files and add the storm data CSV you downloaded as a prerequisite.

    Informações de origem da Ferramenta de Migração de Dados do Cosmos DB

  3. Na guia Informações sobre o Destino, insira sua cadeia de conexão.On the Target Information tab, input your connection string. O formato da cadeia de conexão é AccountEndpoint=<URL>;AccountKey=<key>;Database=<database>.The connection string format is AccountEndpoint=<URL>;AccountKey=<key>;Database=<database>. AccountEndpoint e AccountKey estão incluídos na cadeia de conexão primária que você salvou na seção anterior.The AccountEndpoint and AccountKey are included in the primary connection string you saved in the previous section. Acrescente Database=<your database name> ao final da cadeia de conexão e selecione Verificar.Append Database=<your database name> to the end of the connection string, and select Verify. Em seguida, adicione a chave de partição e o nome da Coleção.Then, add the Collection name and partition key.

    Informações de destino da Ferramenta de Migração de Dados do Cosmos DB

  4. Selecione Avançar até chegar à página de Resumo.Select Next until you get to the Summary page. Em seguida, selecione Importar.Then, select Import.

Criar um cluster e adicionar a bibliotecaCreate a cluster and add library

  1. Navegue até o serviço do Azure Databricks no portal do Azure e selecione Inicializar workspace.Navigate to your Azure Databricks service in the Azure portal and select Launch Workspace.

    Iniciar o workspace do Azure Databricks

  2. Crie um novo cluster.Create a new cluster. Escolha um Nome de Cluster e aceite as configurações padrão restantes.Choose a Cluster Name and accept the remaining default settings.

    Configurações de novo cluster

  3. Depois que o cluster é criado, navegue até a página do cluster e selecione a guia Bibliotecas. Selecione Instalar Novo e carregue o arquivo de jar do conector do Spark para instalar a biblioteca.After your cluster is created, navigate to the cluster page and select the Libraries tab. Select Install New and upload the Spark connector jar file to install the library.

    Instalar a biblioteca do conector Spark

    Você pode verificar se a biblioteca foi instalada na guia Bibliotecas.You can verify that the library was installed on the Libraries tab.

    Guia Bibliotecas do cluster do Databricks

Consultar o Cosmos DB de um notebook do DatabricksQuery Cosmos DB from a Databricks notebook

  1. Navegue até seu workspace do Azure Databricks e crie um novo notebook do Python.Navigate to your Azure Databricks workspace and create a new python notebook.

    Criar um novo notebook do Databricks

  2. Execute o seguinte código do Python para definir a configuração de conexão do Cosmos DB.Run the following python code to set the Cosmos DB connection configuration. Altere o Ponto de Extremidade, a Chave Mestra, o Banco de Dados e a Coleção adequadamente.Change the Endpoint, Masterkey, Database, and Collection accordingly.

    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. Use o seguinte código Python para carregar os dados e criar uma exibição temporária.Use the following python code to load the data and create a temporary view.

    users = spark.read.format("com.microsoft.azure.cosmosdb.spark").options(**connectionConfig).load()
    users.createOrReplaceTempView("storm")
    
  4. Use o seguinte comando mágico para executar uma instrução SQL que retorna dados.Use the following magic command to execute a SQL statement that returns data.

    %sql
    select * from storm
    

    Você conectou com sucesso seu workspace do Databricks injetado por VNet a um recurso do Cosmos DB habilitado para ponto de extremidade de serviço.You have successfully connected your VNet-injected Databricks workspace to a service-endpoint enabled Cosmos DB resource. Para ler mais sobre como conectar-se ao Cosmos DB, veja Conector do Azure Cosmos DB para Apache Spark.To read more about how to connect to Cosmos DB, see Azure Cosmos DB Connector for Apache Spark.

Limpar recursosClean up resources

Quando não forem mais necessário, exclua o grupo de recursos, o workspace do Azure Databricks e todos os recursos relacionados.When no longer needed, delete the resource group, the Azure Databricks workspace, and all related resources. Excluir o trabalho evita cobrança desnecessária.Deleting the job avoids unnecessary billing. Se você está planejando usar o workspace do Azure Databricks no futuro, pode parar o cluster e reiniciá-lo mais tarde.If you're planning to use the Azure Databricks workspace in future, you can stop the cluster and restart it later. Se você não pretende continuar a usar esse workspace do Azure Databricks, exclua todos os recursos criados neste tutorial usando as seguintes etapas:If you are not going to continue to use this Azure Databricks workspace, delete all resources you created in this tutorial by using the following steps:

  1. No menu à esquerda no portal do Azure, clique em Grupos de recursos e depois clique no nome do grupo de recursos criado.From the left-hand menu in the Azure portal, click Resource groups and then click the name of the resource group you created.

  2. Em sua página de grupo de recursos, selecione Excluir, digite o nome do recurso a ser excluído na caixa de texto e selecione Excluir.On your resource group page, select Delete, type the name of the resource to delete in the text box, and then select Delete again.

Próximas etapasNext steps

Neste tutorial, você implantou um workspace do Azure Databricks a uma rede virtual e usou o conector Spark do Cosmos DB para consultar dados do Cosmos DB do Databricks.In this tutorial, you've deployed an Azure Databricks workspace to a virtual network, and used the Cosmos DB Spark connector to query Cosmos DB data from Databricks. Para saber mais sobre como trabalhar com o Azure Databricks em uma rede virtual, continue com o tutorial usando o SQL Server com o Azure Databricks.To learn more about working with Azure Databricks in a virtual network, continue to the tutorial for using SQL Server with Azure Databricks.