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 reportar problemas, vá à secção Issues do repositório sparklyr no GitHub.

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

O Databricks Connect permite-lhe ligar IDEs populares como o RStudio Desktop, servidores de portáteis e outras aplicações personalizadas a clusters do Azure Databricks. Consulte 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 utiliza o RStudio Desktop e o Python 3.10. Se ainda não os tiveres instalados, instala o R e o RStudio Desktop e Python 3.10.

Requisitos

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

  • O seu workspace e cluster de destino do Azure Databricks devem cumprir os 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 Databricks Connect for R suporta apenas tokens de acesso pessoal Azure Databricks.

Este tutorial utiliza a autenticação por token de acesso pessoal do Azure Databricks para autenticar com o seu espaço de trabalho no Azure Databricks.

Se já tem um token de acesso pessoal do Azure Databricks, salte 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 pessoais 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 Ficheiro > 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 solicitado a instalar uma versão atualizada do renv pacote, clique em Sim.
  7. Clique em Criar Project.

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 Python executando o seguinte comando. (O Databricks Connect for R requer que reticulate e Python sejam instalados primeiro.) No comando seguinte, substitua 3.10 pela versão maior e menor da versão Python que está instalada no seu cluster 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 seguinte, substitua 13.3 pela versão Databricks Runtime que está instalada no seu cluster Azure Databricks. Para encontrar esta versão, na página de detalhes do seu cluster no seu espaço de trabalho de Azure Databricks, no separador Configuration, consulte a caixa Databricks Runtime Version.

    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 quiseres que o teu projeto se ligue mais tarde a um cluster diferente que tenha a mesma versão Databricks Runtime daquela que acabaste 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 codifique diretamente valores sensíveis ou que alterem valores como o URL do seu workspace do Azure Databricks, token de acesso pessoal do Azure Databricks ou ID do cluster Azure Databricks nos 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.
    • Substitui <personal-access-token> pelo teu token de acesso pessoal Azure Databricks do Passo 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