Compartilhar via


Databricks Connect para R

Observação

Esse artigo aborda a integração de sparklyr ao Databricks Connect para Databricks Runtime 13.0 e versões superiores. Essa integração não é fornecida pelo Databricks nem tem suporte direto do Databricks.

Em caso de dúvidas, acesse a Posit Community.

Para relatar problemas, acesse a seção Problemas do repositório sparklyr no GitHub.

Para obter mais informações, confira Databricks Connect v2 na documentação do sparklyr.

O Databricks Connect permite que você conecte IDEs populares, como o RStudio Desktop, servidores de notebook e outros aplicativos personalizados aos clusters do Azure Databricks. Consulte O que é o Databricks Connect?.

Observação

O Databricks Connect tem compatibilidade limitada com o Apache Spark MLlib, pois o Spark MLlib usa RDDs, enquanto o Databricks Connect dá suporte apenas à API dataframe. Para usar todas as funções do Spark MLlib do sparklyr, use os notebooks do Databricks ou a db_repl função do pacote brickster.

Este artigo demonstra como começar rapidamente com o Databricks Connect para R usando sparklyr e RStudio Desktop.

Tutorial

No tutorial a seguir, você cria um projeto no RStudio, instala e configura o Databricks Connect para Databricks Runtime 13.3 LTS e, acima, e executa um código simples na computação no workspace do Databricks do RStudio. Para obter informações complementares sobre este tutorial, consulte a seção “Databricks Connect” do Spark Connect e o Databricks Connect v2 no site sparklyr.

Este tutorial usa o RStudio Desktop e o Python 3.10. Se você ainda não os tiver instalado, instale o R e o RStudio Desktop e o Python 3.10.

Requisitos

Para concluir este tutorial, você deve atender aos seguintes requisitos:

  • O workspace e o cluster de destino do Azure Databricks devem atender aos requisitos de configuração de computação para o Databricks Connect.
  • Você deve ter a ID do cluster disponível. Para obter a ID do seu cluster, no seu workspace, clique em Computação na barra lateral e clique no nome do seu cluster. Na barra de endereços do navegador da Web, copie a cadeia de caracteres entre clusters e configuration na URL.

Etapa 1: Crie um token de acesso pessoal

Observação

O Databricks Connect para autenticação do R dá suporte apenas a tokens de acesso pessoal do Azure Databricks.

Este tutorial usa a autenticação de token de acesso pessoal do Azure Databricks para autenticação com seu workspace do Azure Databricks.

Se você já tiver um token de acesso pessoal do Azure Databricks, vá para a Etapa 2. Se não tiver certeza de que já tem um token de acesso pessoal do Azure Databricks, você pode seguir esta etapa sem afetar outros tokens de acesso pessoal do Azure Databricks na sua conta de usuário.

Para criar um token de acesso pessoal, siga as etapas em Criar tokens de acesso pessoal para usuários do workspace.

Etapa 2: Crie o projeto

  1. Inicie o RStudio Desktop.
  2. No menu principal, clique em Arquivo > Novo Projeto.
  3. Selecione Novo Diretório.
  4. Selecione Novo Projeto.
  5. Para nome do Diretório e Criar projeto como subdiretório, insira o nome do novo diretório do projeto e onde criar esse novo diretório de projeto.
  6. Selecione Usar renv com este projeto. Se solicitado a instalar uma versão atualizada do pacote renv, clique em Sim.
  7. Clique em Criar projeto.

Criar o projeto do RStudio Desktop

Etapa 3: Adicionar o pacote Databricks Connect e outras dependências

  1. No menu principal do RStudio Desktop, clique em Ferramentas > Instalar Pacotes.

  2. Deixe Instalar de definido como Repositório (CRAN).

  3. Em Pacotes, insira a seguinte lista de pacotes que são pré-requisitos para o pacote do Databricks Connect e este tutorial:

    sparklyr,pysparklyr,reticulate,usethis,dplyr,dbplyr
    
  4. Deixe Instalar na Biblioteca definido como seu ambiente virtual do R.

  5. Verifique se Instalar dependências está selecionado.

  6. Clique em Instalar.

Instalar as dependências do pacote do Databricks Connect

  1. Quando você for solicitado no modo de exibição do Console (Exibir > Mover Foco para o Console) para continuar com a instalação, insira Y. Os pacotes sparklyr e pysparklyr e suas dependências são instalados em seu ambiente virtual do R.

  2. No painel Console, use reticulate para instalar o Python executando o comando a seguir. (O Databricks Connect para R requer que reticulate e Python sejam instalados primeiro.) No comando a seguir, substitua 3.10 pela versão principal e secundária da versão do Python instalada no cluster do Azure Databricks. Para encontrar essa versão maior e menor, consulte a seção "Ambiente do sistema" nas notas de lançamento da versão do Databricks Runtime do seu cluster em notas de versão do Databricks Runtime e compatibilidade.

    reticulate::install_python(version = "3.10")
    
  3. No painel Console, instale o pacote do Databricks Connect executando o comando a seguir. No comando a seguir, substitua 13.3 pela versão do Databricks Runtime instalada no cluster do Azure Databricks. Para encontrar essa versão, na página de detalhes do cluster no workspace do Azure Databricks, na guia Configuração, consulte a seção Versão do Databricks Runtime.

    pysparklyr::install_databricks(version = "13.3")
    

    Se você não souber a versão do Databricks Runtime do seu cluster ou não quiser procurar, execute o seguinte comando e pysparklyr consultará o cluster para verificar a versão correta do Databricks Runtime a ser usada:

    pysparklyr::install_databricks(cluster_id = "<cluster-id>")
    

    Se você quiser que seu projeto se conecte posteriormente a um cluster diferente que tenha a mesma versão do Databricks Runtime que a especificada, pysparklyr usará o mesmo ambiente Python. Se o novo cluster tiver uma versão diferente do Databricks Runtime, você deverá executar o comando pysparklyr::install_databricks novamente com a nova ID de cluster ou versão do Databricks Runtime.

Etapa 4: Defina variáveis de ambiente para a URL do workspace, o token de acesso e a ID do cluster

O Databricks não recomenda embutir valores confidenciais ou alterados em código, como a URL do workspace do Azure Databricks, o token de acesso pessoal do Azure Databricks ou a ID do cluster do Azure Databricks em seus scripts R. Em vez disso, armazene esses valores separadamente, por exemplo, em variáveis de ambiente locais. Este tutorial usa o suporte interno do RStudio Desktop para armazenar variáveis de ambiente em um .Renviron arquivo.

  1. Crie um arquivo .Renviron para armazenar as variáveis de ambiente, se esse arquivo ainda não existir e, em seguida, abra este arquivo para edição: no Console do RStudio Desktop, execute o seguinte comando:

    usethis::edit_r_environ()
    
  2. No arquivo .Renviron exibido (Exibir > Mover Foco para a Origem), insira o conteúdo a seguir. Nesse conteúdo, substitua os espaços reservados a seguir:

    • Substitua <workspace-url> por sua URL por workspace, por exemplo, https://adb-1234567890123456.7.azuredatabricks.net.
    • Substitua <personal-access-token> pelo valor do token de acesso pessoal do Azure Databricks na Etapa 1.
    • Substitua <cluster-id> pela identificação do cluster especificada nos requisitos deste tutorial.
    DATABRICKS_HOST=<workspace-url>
    DATABRICKS_TOKEN=<personal-access-token>
    DATABRICKS_CLUSTER_ID=<cluster-id>
    
  3. Salve o arquivo .Renviron.

  4. Carregue as variáveis de ambiente em R: no menu principal, clique em Sessão > Reiniciar R.

Definir as variáveis de ambiente para o Databricks Connect

Etapa 5: Adicionar código

  1. No menu principal do RStudio Desktop, clique em Arquivo > Novo Arquivo > R Script.

  2. Insira o seguinte código no arquivo e salve o arquivo (Arquivo > Salvar) como demo.R:

    library(sparklyr)
    library(dplyr)
    library(dbplyr)
    
    sc <- sparklyr::spark_connect(
      master     = Sys.getenv("DATABRICKS_HOST"),
      cluster_id = Sys.getenv("DATABRICKS_CLUSTER_ID"),
      token      = Sys.getenv("DATABRICKS_TOKEN"),
      method     = "databricks_connect",
      envname    = "r-reticulate"
    )
    
    trips <- dplyr::tbl(
      sc,
      dbplyr::in_catalog("samples", "nyctaxi", "trips")
    )
    
    print(trips, n = 5)
    

Etapa 6: Executar o código

  1. Na barra de ferramentas do arquivo demo.R do RStudio Desktop, clique em Origem.

    Executar o projeto do RStudio Desktop

  2. No Console, as cinco primeiras linhas da tabela trips são exibidas.

  3. No modo de exibição Conexões (Exibição > Mostrar Conexões), você pode explorar catálogos, esquemas, tabelas e exibições disponíveis.

    O modo de exibição Conexões do projeto

Etapa 7: Depurar o código

  1. No arquivo demo.R, clique na medianiz ao lado de print(trips, n = 5) para definir um ponto de interrupção.
  2. Na barra de ferramentas do arquivo demo.R, clique em Origem.
  3. Quando o código pausa a execução no ponto de interrupção, você pode inspecionar a variável no modo de exibição Ambiente (Exibir > Mostrar Ambiente).
  4. No menu principal, clique em Depurar > Continuar.
  5. No Console, as cinco primeiras linhas da tabela trips são exibidas.

Depurar o projeto do RStudio Desktop