Databricks para desenvolvedores R

Esta seção fornece um guia para desenvolver Notebook e Job em Databricks usando a linguagem R.

Um fluxo de trabalho básico para começar é:

  1. Importar código: Importe seu próprio código de arquivos ou repositórios do Git ou experimente o site tutorial listado abaixo. A Databricks recomenda que o senhor aprenda a usar o Databricks Notebook interativo.

  2. execução do seu código em um cluster: crie um cluster próprio ou verifique se você tem permissões para usar um cluster compartilhado. Anexe seu Notebook aos clusters, e execute o Notebook.

Além disso, você pode se aprofundar em tópicos mais específicos:

Tutoriais

O tutorial a seguir fornece código de exemplo e Notebook para aprender sobre fluxo de trabalho comum. Consulte Importar um Notebook para obter instruções sobre como importar exemplos Notebook para sua workspace.

Referência

As subseções a seguir listam key recursos e dicas para ajudá-lo a começar a desenvolver no Databricks com R.

Databricks oferece suporte a duas APIs que fornecem uma interface R para Apache Spark: SparkR e sparklyr.

SparkR

Importante

SparkR em Databricks está obsoleto em Databricks Runtime 16.0 e acima. Databricks recomenda o uso de Sparklyr em vez disso.

Esses artigos fornecem uma introdução e referência para SparkR. SparkR é uma interface R para Apache Spark que fornece uma implementação de quadro de dados distribuído. O SparkR oferece suporte a operações como seleção, filtragem e agregação (semelhante aos quadros de dados do R), mas em um grande dataset.

brilhante

Este artigo fornece uma introdução ao sparklyr. sparklyr é uma interface R para Apache Spark que fornece funcionalidade semelhante a dplyr, broom e DBI.

Comparando SparkR e sparklyr

Este artigo explica key semelhanças e diferenças entre SparkR e sparklyr.

Trabalhe com DataFrames e tabelas com SparkR e sparklyr

Este artigo descreve como usar R, SparkR, sparklyr e dplyr para trabalhar com R data.frames, Spark DataFrames e tabelas Spark em Databricks.

gerenciar código com pastas Git do Notebook e do Databricks

Databricks Esses notebooks oferecem funcionalidade semelhante à do Jupyter, mas com acréscimos, como visualizações integradas usando big data, integrações Apache Spark para monitoramento de depuração e desempenho e integrações MLflow para acompanhamento de experimentos machine learning. Comece importando um Notebook. Quando o senhor tiver acesso a um cluster, poderá anexar um Notebook ao cluster e executar o Notebook.

Databricks Git permite que os usuários sincronizem o Notebook e outros arquivos com os repositórios do Git. Databricks Git ajudam no controle de versão do código e na colaboração, e podem simplificar a importação de um repositório completo de código para o site Databricks, a visualização de versões anteriores do Notebook e a integração com o desenvolvimento do IDE. Obtenha o começar clonando um repositório Git remoto. Em seguida, o senhor pode abrir ou criar um Notebook com o clone do repositório, anexar o Notebook a um cluster e executar o Notebook.

Clusters

O Databricks compute oferece gerenciamento de computação para nós únicos e grandes clusters. O senhor pode personalizar o hardware e a biblioteca do cluster de acordo com suas necessidades. data scientists Em geral, o senhor começará a trabalhar criando um cluster ou usando um clustercompartilhado existente. Quando o senhor tiver acesso a um cluster, poderá anexar um Notebook ao cluster ou executar um Job no cluster.

Nó único R e R distribuído

Os clusters Databricks consistem em um nó de driver Apache Spark e zero ou mais nós worker Spark (também conhecido como executor). O nó do driver mantém o estado Notebook anexado, mantém o SparkContext, interpreta os comandos Notebook e da biblioteca e executa o mestre Spark que coordena com os executores do Spark. nós worker execução dos executores do Spark, um executor do Spark por nó worker .

Um cluster de nó único tem um nó de driver e nenhum nó worker, com o Spark sendo executado no modo local para dar suporte ao acesso a tabelas gerenciadas pelo Databricks. Os clusters de nó único suportam RStudio, Notebook e biblioteca e são úteis para projetos de R que não dependem do Spark para big data ou processamento paralelo. Consulte Computação de nó único ou de vários nós.

Para tamanhos de dados que o R tem dificuldade para processar (muitos gigabytes ou petabytes), o senhor deve usar clusters de vários nós ou distribuídos. Os clusters distribuídos têm um nó de driver e um ou mais nós de worker. Os clusters distribuídos são compatíveis não apenas com o RStudio, o Notebook e a biblioteca, mas também com pacotes R, como o SparkR e o sparkly, que foram projetados exclusivamente para usar clusters distribuídos por meio do SparkContext. Esses pacotes fornecem APIs SQL e DataFrame familiares, que permitem atribuir e executar várias tarefas e comandos do Spark em paralelo nos nós do site worker. Para saber mais sobre o sparklyr e o SparkR, consulte Comparação entre SparkR e sparklyr.

Algumas funções SparkR e sparklyr que tiram proveito particular da distribuição de trabalho relacionado entre nós worker incluem o seguinte:

  • sparklyr::spark_apply: código R arbitrário de execução em escala dentro de um clusters. Isso é especialmente útil para usar a funcionalidade que está disponível apenas em pacotes R ou R que não estão disponíveis no Apache Spark nem em outros pacotes Spark.

  • SparkR::dapply: aplica a função especificada a cada partição de um SparkDataFrame.

  • SparkR::dapplyCollect: Aplica a função especificada a cada partição de um SparkDataFrame e coleta os resultados de volta para R como um data.frame.

  • SparkR::gapply: agrupa um SparkDataFrame usando as colunas especificadas e aplica a função R especificada a cada grupo.

  • SparkR::gapplyCollect: agrupa um SparkDataFrame usando as colunas especificadas, aplica a função R especificada a cada grupo e coleta o resultado de volta para R como um data.frame.

  • SparkR::spark.lapply: execução da função especificada sobre uma lista de elementos, distribuindo os cálculos com Spark.

Para obter exemplos, consulte Notebook Distributed R: User Defined Functions in Spark.

bibliotecas

Os clusters Databricks usam o Databricks Runtime, que fornece muitas bibliotecas populares prontas para uso, incluindo Apache Spark, Delta Lake e muito mais. Você também pode instalar pacotes R personalizados ou de terceiros adicionais em bibliotecas para usar com Notebook e Job.

comece com a biblioteca default no Databricks Runtime notas sobre a versão versões e compatibilidade. Use o Databricks Runtime for Machine Learning para cargas de trabalho de machine learning. Para obter listas completas de bibliotecas pré-instaladas, consulte a seção “Biblioteca R instalada” para o Databricks Runtime de destino em Databricks Runtime notas sobre a versão versões e compatibilidade.

Você pode customizar seu ambiente usando as bibliotecas R com escopoNotebook, que permitem que você modifique seu Notebook ou ambiente Job com bibliotecas do CRAN ou outros repositórios. Para fazer isso, você pode usar a função familiar install.pacote de utils. O exemplo a seguir instala o pacote Arrow R do repositório CRAN default :

install.packages("arrow")

Se você precisar de uma versão mais antiga do que a incluída no Databricks Runtime, poderá usar um Notebook para executar a função install_version de devtools. O exemplo a seguir instala o dplyr versão 0.7.4 do CRAN:

require(devtools)

install_version(
  package = "dplyr",
  version = "0.7.4",
  repos   = "http://cran.r-project.org"
)

Os pacotes instalados dessa maneira estão disponíveis em clusters. Eles têm como escopo o usuário que os instala. Isso permite que você instale várias versões do mesmo pacote na mesma compute sem criar conflitos de pacote.

Você pode instalar outras bibliotecas como bibliotecasclusters conforme necessário, por exemplo, do CRAN. Para fazer isso, na interface com o usuário clusters , clique em Bibliotecas > Instalar novo > CRAN e especifique o nome da biblioteca. Essa abordagem é especialmente importante quando você deseja chamar funções definidas pelo usuário com SparkR ou sparklyr.

Para mais detalhes, consulte biblioteca.

Para instalar um pacote personalizado em uma biblioteca:

  1. Crie seu pacote personalizado a partir da linha de comando ou usando o RStudio.

  2. Copie o arquivo de pacote personalizado do computador de desenvolvimento para o Databricks workspace. Para opções, consulte biblioteca.

  3. Instale o pacote personalizado em uma biblioteca executando install.packages.

    Por exemplo, de um Notebook em sua workspace:

    install.packages(
      pkgs  = "/path/to/tar/file/<custom-package>.tar.gz",
      type  = "source",
      repos = NULL
    )
    

    Ou:

    %sh
    R CMD INSTALL /path/to/tar/file/<custom-package>.tar.gz
    

Depois de instalar um pacote personalizado em uma biblioteca, adicione a biblioteca ao caminho de pesquisa e, em seguida, carregue a biblioteca com um único comando.

Por exemplo:

# Add the library to the search path one time.
.libPaths(c("/path/to/tar/file/", .libPaths()))

# Load the library. You do not need to add the library to the search path again.
library(<custom-package>)

Para instalar um pacote customizado como uma biblioteca em cada nó em um clusters, você deve usar O que são init script?.

Visualizações

Databricks R Notebook oferece suporte a vários tipos de visualizações usando a função display.

Empregos

O senhor pode automatizar as cargas de trabalho do R como um trabalho de notebook programado ou acionado em Databricks.

Aprendizado de máquina

Databricks oferece suporte a uma ampla variedade de cargas de trabalho machine learning (ML), incluindo ML tradicional em dados tabulares, aprendizagem profunda para visão computacional e processamento de linguagem natural, sistemas de recomendação, gráficos analíticos e muito mais. Para obter informações gerais sobre aprendizado de máquina no Databricks, consulte Databricks Runtime for Machine Learning.

Para algoritmos de ML, você pode usar a biblioteca pré-instalada no Databricks Runtime for Machine Learning. Você também pode instalar uma biblioteca personalizada.

Para machine learning operações (MLOps), Databricks fornece um serviço gerenciado para o código aberto biblioteca MLflow. Com o MLflow acompanhamento, o senhor pode registrar o desenvolvimento do modelo e salvar os modelos em formatos reutilizáveis. O senhor pode usar o MLflow Model Registry para gerenciar e automatizar a promoção de modelos para produção. O Jobs permite hospedar modelos como lotes e transmissão Job. Para obter mais informações e exemplos, consulte o gerenciamento do ciclo de vidaML usando MLflow ou os documentosMLflow R API .

ferramentas de desenvolvedor R

Além do Databricks Notebook, você também pode usar as seguintes ferramentas de desenvolvedor R:

customização da sessão R

Em Databricks Runtime 12.2 LTS e acima, as sessões do R podem ser personalizadas com o uso de arquivos de perfil (.Rprofile) em todo o site. O R Notebook fornecerá o arquivo como código R durante startup. Para modificar o arquivo, encontre o valor de R_HOME e modifique $R_HOME/etc/Rprofile.site. Observe que a Databricks adicionou uma configuração no arquivo para garantir a funcionalidade adequada do RStudio hospedado na Databricks. A remoção de qualquer um deles pode fazer com que o RStudio não funcione como esperado.

Em Databricks Runtime 11.3 LTS e abaixo, esse comportamento pode ser ativado com a configuração da variável de ambiente DATABRICKS_ENABLE_RPROFILE=true.

Recursos adicionais