Partilhar via


Databricks Connect para R

Nota

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

Para perguntas, vá à Comunidade Posit.

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

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

O Databricks Connect permite conectar IDEs populares, como RStudio Desktop, servidores de notebook e outros aplicativos personalizados a clusters do Azure Databricks. Consulte O que é Databricks Connect?.

Nota

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

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

Guia de Aprendizagem

No tutorial a seguir, você cria um projeto no RStudio, instala e configura o Databricks Connect for Databricks Runtime 13.3 LTS e superior e executa código simples em computação em seu espaço de trabalho Databricks do RStudio. Para obter informações complementares sobre este tutorial, consulte a seção "Databricks Connect" do Spark Connect e Databricks Connect v2 no sparklyr site.

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

Requisitos

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

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

Etapa 1: Criar um token de acesso pessoal

Nota

Atualmente, a autenticação do Databricks Connect for R suporta apenas tokens de acesso pessoal do Azure Databricks.

Este tutorial utiliza um token de acesso pessoal do Azure Databricks para autenticar-se no seu espaço de trabalho do Azure Databricks.

Se já tiver um token de acesso pessoal do Azure Databricks, avance para o Passo 2. Se não tiver a certeza se já tem um token de acesso pessoal do Azure Databricks, pode seguir este passo sem afetar quaisquer outros tokens de acesso pessoal do Azure Databricks na sua conta de utilizador.

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

Etapa 2: Criar o projeto

  1. Inicie o RStudio Desktop.
  2. No menu principal, clique em Arquivo > Novo Projeto.
  3. Selecione Novo diretório.
  4. Selecione New Project (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 solicitado a instalar uma versão atualizada do renv pacote, clique em Sim.
  7. Clique em Create Project (Criar Projeto).

Criar o projeto 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 Databricks Connect e este tutorial:

    sparklyr,pysparklyr,reticulate,usethis,dplyr,dbplyr
    
  4. Deixe Instalar na Biblioteca configurado no seu ambiente virtual R.

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

  6. Clique em Install (Instalar).

Instalar as dependências do pacote Databricks Connect

  1. Quando lhe for pedido na vista Consola (Ver > Mover Foco para a Consola) para prosseguir com a instalação, introduza Y. Os pacotes sparklyr e pysparklyr e as suas dependências estão instalados no seu ambiente virtual R.

  2. No painel Console, use reticulate para instalar o Python executando o seguinte comando. (O Databricks Connect for R requer reticulate e o Python deve ser instalado primeiro.) No comando a seguir, substitua 3.10 pela versão principal e secundária da versão Python instalada no cluster do Azure Databricks. Para encontrar a versão principal e a versão secundária, consulte a seção "Ambiente do sistema" nas notas de lançamento da versão do Databricks Runtime do seu cluster em Versões e compatibilidade das notas de lançamento do Databricks Runtime.

    reticulate::install_python(version = "3.10")
    
  3. No painel Console, instale o pacote Databricks Connect executando o seguinte comando. No comando a seguir, substitua 13.3 pela versão do Databricks Runtime instalada no cluster do Azure Databricks. Para localizar esta versão, na página de detalhes do cluster no espaço de trabalho Azure Databricks, na guia Configuração, consulte a caixa Versão do Tempo de Execução do Databricks.

    pysparklyr::install_databricks(version = "13.3")
    

    Se você não souber a versão do Databricks Runtime para seu cluster ou não quiser procurá-la, poderá executar o seguinte comando e pysparklyr consultará o cluster 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 mais tarde a um cluster diferente que tenha a mesma versão do Databricks Runtime que você acabou de especificar, pysparklyr usará o mesmo ambiente Python. Se o novo cluster tiver uma versão diferente do Databricks Runtime, você deverá executar o pysparklyr::install_databricks comando novamente com a nova versão do Databricks Runtime ou ID do cluster.

Etapa 4: Definir variáveis de ambiente para a URL do espaço de trabalho, token de acesso e ID do cluster

O Databricks não recomenda que você codifique valores confidenciais ou alterados, como a URL do espaço de trabalho 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 local. Este tutorial usa o suporte interno do RStudio Desktop para armazenar variáveis de ambiente em um .Renviron arquivo.

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

    usethis::edit_r_environ()
    
  2. .Renviron No ficheiro apresentado (Ver > Mover Foco para Origem), introduza o seguinte conteúdo. Neste conteúdo, substitua os seguintes espaços reservados:

    • Substitua <workspace-url> pelo URL do espaço de trabalho, como https://adb-1234567890123456.7.azuredatabricks.net, por exemplo.
    • Substitua <personal-access-token> pelo seu token de acesso pessoal do Azure Databricks na Etapa 1.
    • Substitua <cluster-id> pelo ID do cluster conforme indicado nos requisitos deste tutorial.
    DATABRICKS_HOST=<workspace-url>
    DATABRICKS_TOKEN=<personal-access-token>
    DATABRICKS_CLUSTER_ID=<cluster-id>
    
  3. Guarde o ficheiro .Renviron.

  4. Carregue as variáveis de ambiente em R: no menu principal, clique em Session > Restart 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 Ficheiro > Novo Ficheiro > Script R.

  2. Introduza o seguinte código no ficheiro e, em seguida, guarde o ficheiro (Guardar Ficheiro>) comodemo.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. No RStudio Desktop, na barra de ferramentas do demo.R arquivo, clique em Origem.

    Executar o projeto RStudio Desktop

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

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

    A vista de Conexões para o projeto

Etapa 7: Depurar o código

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

Depurar o projeto RStudio Desktop