Databricks Connect para R

Observação

Este artigo aborda a integração sparklyr com o Databricks Connect para Databricks Runtime 13.0 e acima. Esta integração não é fornecida pela Databricks nem suportada diretamente pela Databricks.

Para tirar dúvidas, acesse o Posit comunidade.

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

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

Este artigo demonstra como começar rapidamente a usar o Databricks Connect usando R, sparklyr e RStudio Desktop.

O Databricks Connect permite conectar IDEs populares, como RStudio Desktop, servidores Notebook e outros aplicativos personalizados a clusters Databricks. Consulte O que é o Databricks Connect?.

Tutorial

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

Para obter informações complementares sobre este tutorial, consulte a seção “Databricks Connect” do Spark Connect e Databricks Connect v2 no site sparklyr .

Requisitos

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

  • O workspace e clusters do Databricks de destino devem atender aos requisitos de configuraçãoclusters para o Databricks Connect.

  • Você deve ter seu ID clusters disponível. Para obter o ID dos seus clusters , no seu workspace, clique em compute na barra lateral e, em seguida, clique no nome dos seus clusters . Na barra de endereço do seu navegador, copie as strings de caracteres entre clusters e configuration no URL.

o passo 1: Crie um access tokenpessoal

Observação

Atualmente, a autenticação do Databricks Connect para R só oferece suporte access token pessoal do Databricks.

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

Se você já possui um access token pessoal do Databricks, pule para a etapa 2. Se não tiver certeza se já possui um access token pessoal do Databricks, você pode seguir esta etapa sem afetar qualquer outro access token pessoal do Databricks em sua account de usuário.

Para criar um access token pessoal:

  1. No workspace do Databricks, clique no nome de usuário do Databricks na barra superior e selecione Configurações do usuário na lista suspensa.

  2. Clique em Desenvolvedor.

  3. Ao lado do access token, clique em gerenciar.

  4. Clique em Gerar novos tokens.

  5. (Opcional) Insira um comentário que o ajude a identificar esse token no futuro e altere o tempo de vida padrão do token de 90 dias. Para criar um token sem vida útil (não recomendado), deixe a caixa Duração (dias) vazia (em branco).

  6. Clique em Gerar.

  7. Copie o token exibido em um local seguro e clique em Concluído.

Observação

Certifique-se de salvar os tokens copiados em um local seguro. Não compartilhe seus tokens copiados com outras pessoas. Se você perder os tokens copiados, não poderá regenerar exatamente os mesmos tokens. Em vez disso, você deve repetir este procedimento para criar novos tokens. Se você perder os tokens copiados ou acreditar que os tokens foram comprometidos, o Databricks recomenda fortemente que você exclua imediatamente esses tokens do seu workspace clicando no ícone da lixeira (Revogar) ao lado dos tokens na página access tokens .

Se não for possível criar ou usar tokens no seu workspace, isso pode ocorrer porque o administrador do workspace desativou os tokens ou não lhe deu permissão para criar ou usar tokens. Consulte o administrador do workspace ou o seguinte:

o passo 2: Crie o projeto

  1. Comece 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 de, insira o nome do novo diretório do projeto e onde criar esse novo diretório do projeto.

  6. Selecione Usar renv com este projeto. Se for solicitado a instalar uma versão atualizada do pacote renv , clique em Sim.

  7. Clique em Criar projeto.

Crie o projeto RStudio Desktop

o passo 3: Adicione o pacote Databricks Connect e outras dependências

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

  2. Deixe Instalar do set no repositório (CRAN).

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

    sparklyr,pysparklyr,reticulate,usethis,dplyr,dbplyr
    
  4. Deixe Instalar na biblioteca definido para seu ambiente virtual R.

  5. Certifique-se de que Instalar dependências esteja selecionado.

  6. Clique em Instalar.

Instalar as dependências do pacote Databricks Connect
  1. Quando for solicitado na do Console view (view > Move Focus to 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 R.

  2. No painel Console , use reticulate para instalar o Python executando o comando a seguir. (O Databricks Connect for 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 Python instalada em seus clusters do Databricks. Para encontrar esta versão principal e secundária, consulte a seção “Ambiente do sistema” das notas sobre a versão para a versão do Databricks Runtime dos seus clustersem Databricks Runtime notas sobre a versão versões e compatibilidade.

    reticulate::install_python(version = "3.10")
    
  3. No painel Console , instale o pacote Databricks Connect executando o comando a seguir. No comando a seguir, substitua 13.3 pela versão do Databricks Runtime instalada em seus clusters do Databricks. Para encontrar esta versão, na clusterspágina de detalhes dos no do Databricks,workspace na Configuração , tab consulte a caixa Versão do Databricks Runtime .

    pysparklyr::install_databricks(version = "13.3")
    

    Se você não souber a versão do Databricks Runtime para seus clusters ou não quiser procurá-la, poderá executar o seguinte comando e pysparklyr query os clusters para determinar 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 clusters diferentes que tenham a mesma versão do Databricks Runtime que aquela que você acabou de especificar, pysparklyr usará o mesmo ambiente Python. Se os novos clusters tiverem uma versão diferente do Databricks Runtime, você deverá executar o comando pysparklyr::install_databricks novamente com a nova versão do Databricks Runtime ou ID clusters .

o passo 4: Definir variável de ambiente para URL do espaço de trabalho, access token e ID clusters

A Databricks não recomenda que você codifique valores sensíveis ou variáveis, como a URL workspace do Databricks, access token pessoal do Databricks ou o ID clusters do Databricks em seus scripts R. Em vez disso, armazene esses valores separadamente, por exemplo, em variável local de ambiente. Este tutorial usa o suporte integrado do RStudio Desktop para armazenar variáveis de ambiente em um arquivo .Renviron .

  1. Crie um arquivo .Renviron para armazenar a variável de ambiente, caso este arquivo ainda não exista, e então abra este arquivo para edição: no RStudio Desktop Console, execute o seguinte comando:

    usethis::edit_r_environ()
    
  2. No arquivo .Renviron que aparece (view > Mover foco para origem), insira o conteúdo a seguir. Neste conteúdo, substitua os seguintes espaços reservados:

    • Substitua <workspace-url> pelo URL da instância do seu espaço de trabalho, por exemplo https://dbc-a1b2345c-d6e7.cloud.databricks.com.

    • Substitua <personal-access-token> pelo seu access token pessoal do Databricks da etapa 1.

    • Substitua <cluster-id> pelo ID clusters dos requisitos deste tutorial.

    DATABRICKS_HOST=<workspace-url>
    DATABRICKS_TOKEN=<personal-access-token>
    DATABRICKS_CLUSTER_ID=<cluster-id>
    
  3. Salve o arquivo .Renviron .

  4. Carregue a variável de ambiente em R: no menu principal, clique em Session > Restart R.

Defina a variável de ambiente para Databricks Connect

o passo 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)
    

o passo 6: execução do código

  1. No RStudio Desktop, na barra de ferramentas do arquivo demo.R , clique em Fonte.

    execução do projeto RStudio Desktop
  2. No Console, as primeiras cinco linhas da tabela trips aparecem.

  3. Na Conexões view (view > Mostrar conexões), você pode explorar catálogos, esquemas, tabelas e view disponíveis.

    A view Conexões do projeto

o passo 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 Fonte.

  3. Quando o código pausa a execução no ponto de interrupção, você pode inspecionar a variável na Environment view (view > Show Environment).

  4. No menu principal, clique em Depurar > Continuar.

  5. No Console, as primeiras cinco linhas da tabela trips aparecem.

Depure o projeto RStudio Desktop