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.
Para a versão Python destes artigos, consulte Databricks Connect for Python.
Para a versão Scala destes artigos, consulte Databricks Connect for Scala.
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
econfiguration
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:
Em seu Databricks workspace, clique em seu nome de usuário Databricks na barra superior e selecione Settings (Configurações ) no menu suspenso.
Clique em Desenvolvedor.
Ao lado do access token, clique em gerenciar.
Clique em Gerar novos tokens.
(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).
Clique em Gerar.
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 o senhor não conseguir criar ou usar o site tokens no seu workspace, isso pode ocorrer porque o administrador do workspace desativou o tokens ou não lhe deu permissão para criar ou usar o tokens. Consulte o administrador do site workspace ou os tópicos a seguir:
o passo 2: Crie o projeto
Comece o RStudio Desktop.
No menu principal, clique em Arquivo > Novo Projeto.
Selecione Novo diretório.
Selecione Novo Projeto.
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.
Selecione Usar renv com este projeto. Se for solicitado a instalar uma versão atualizada do pacote
renv
, clique em Sim.Clique em Criar projeto.
o passo 3: Adicione o pacote Databricks Connect e outras dependências
No menu principal do RStudio Desktop, clique em Ferramentas > Instalar pacote.
Deixe Instalar do set no repositório (CRAN).
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
Deixe Instalar na biblioteca definido para seu ambiente virtual R.
Certifique-se de que Instalar dependências esteja selecionado.
Clique em Instalar.
Quando for solicitado na do Console view (view > Move Focus to Console) para continuar com a instalação, insira
Y
. Os pacotessparklyr
epysparklyr
e suas dependências são instalados em seu ambiente virtual R.No painel Console , use
reticulate
para instalar o Python executando o comando a seguir. (O Databricks Connect for R requer quereticulate
e Python sejam instalados primeiro.) No comando a seguir, substitua3.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")
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 comandopysparklyr::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
.
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()
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 exemplohttps://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>
Salve o arquivo
.Renviron
.Carregue a variável de ambiente em R: no menu principal, clique em Session > Restart R.
o passo 5: Adicionar código
No menu principal do RStudio Desktop, clique em Arquivo > Novo Arquivo > R Script.
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
No RStudio Desktop, na barra de ferramentas do arquivo
demo.R
, clique em Fonte.No Console, as primeiras cinco linhas da tabela
trips
aparecem.Na Conexões view (view > Mostrar conexões), você pode explorar catálogos, esquemas, tabelas e view disponíveis.
o passo 7: Depurar o código
No arquivo
demo.R
, clique na medianiz ao lado deprint(trips, n = 5)
para definir um ponto de interrupção.Na barra de ferramentas do arquivo
demo.R
, clique em Fonte.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).
No menu principal, clique em Depurar > Continuar.
No Console, as primeiras cinco linhas da tabela
trips
aparecem.