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
.
Este artigo demonstra como começar rapidamente com o Databricks Connect usando R, sparklyr
e RStudio Desktop.
- Para obter a versão em Python deste artigo, consulte Databricks Connect para Python.
- Para obter a versão do Scala deste artigo, confira Databricks Connect para Scala.
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?.
Tutorial
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.
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
.
Requisitos
Para concluir este tutorial, você deve atender aos seguintes requisitos:
- O cluster e o workspace do Azure Databricks de destino devem atender aos requisitos de Configuração de cluster para o Databricks Connect.
- Você deve ter a ID do cluster disponível. Para obter a ID do cluster, no espaço de trabalho, clique em Computação na barra lateral e clique no nome do cluster. Na barra de endereços do navegador da Web, copie a cadeia de caracteres entre
clusters
econfiguration
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 Tokens de acesso pessoal do Azure Databricks para usuários do workspace.
Etapa 2: Crie o projeto
- Inicie o RStudio Desktop.
- No menu principal, clique em Arquivo > Novo Projeto.
- Selecione Novo Diretório.
- Selecione Novo Projeto.
- Em 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 de projeto.
- Selecione Usar renv com este projeto. Se solicitado a instalar uma versão atualizada do pacote
renv
, clique em Sim. - Clique em Criar projeto.
Etapa 3: Adicionar o pacote Databricks Connect e outras dependências
No menu principal do RStudio Desktop, clique em Ferramentas > Instalar Pacotes.
Deixe Instalar de definido como Repositório (CRAN).
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
Deixe Instalar na Biblioteca definido como seu ambiente virtual do R.
Verifique se Instalar dependências está selecionado.
Clique em Instalar.
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 pacotessparklyr
epysparklyr
e suas dependências são instalados em seu ambiente virtual do R.No painel Console, use
reticulate
para instalar o Python executando o comando a seguir. (O Databricks Connect para R requer quereticulate
e Python sejam instalados primeiro.) No comando a seguir, substitua3.10
pela versão principal e secundária da versão do Python instalada no cluster do Azure Databricks. Para a versão principal e secundária, consulte também a seção "Ambiente do sistema" nas notas sobre a versão do Databricks Runtime em Versões de notas sobre a versão e compatibilidade do Databricks Runtime.reticulate::install_python(version = "3.10")
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 caixa 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 comandopysparklyr::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 arquivo .Renviron
.
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()
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 ID do cluster dos requisitos deste tutorial.
DATABRICKS_HOST=<workspace-url> DATABRICKS_TOKEN=<personal-access-token> DATABRICKS_CLUSTER_ID=<cluster-id>
- Substitua
Salve o arquivo
.Renviron
.Carregue as variáveis de ambiente em R: no menu principal, clique em Sessão > Reiniciar R.
Etapa 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)
Etapa 6: Executar o código
Na barra de ferramentas do arquivo
demo.R
do RStudio Desktop, clique em Origem.No Console, as cinco primeiras linhas da tabela
trips
são exibidas.No modo de exibição Conexões (Exibição > Mostrar Conexões), você pode explorar catálogos, esquemas, tabelas e exibições disponíveis.
Etapa 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 Origem. - 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).
- No menu principal, clique em Depurar > Continuar.
- No Console, as cinco primeiras linhas da tabela
trips
são exibidas.