Databricks para desenvolvedores de R
Esta seção fornece um guia para desenvolver o Notebook e o Job em Databricks usando a linguagem R.
Um fluxo de trabalho básico para começar é o seguinte:
- Importar código: Importe seu próprio código de arquivos ou repositórios Git ou tente um tutorial listado abaixo. Databricks recomenda aprender a usar o Databricks Notebook interativo.
- executar seu código em um clustering: Crie um cluster próprio ou garanta que o senhor tenha permissões para usar um cluster compartilhado. Anexe seu Notebook ao clustering e execute o Notebook.
Além disso, o senhor pode se aprofundar em tópicos mais específicos:
- Trabalhar com conjuntos de dados maiores usando o Apache Spark
- Adicionar visualizações
- Automatize sua carga de trabalho como um trabalho
- Use o aprendizado de máquina para analisar seus dados
- Use ferramentas de desenvolvedor R
tutorial
O tutorial a seguir fornece um código de exemplo e um Notebook para que o senhor aprenda sobre o fluxo de trabalho comum. Consulte Importar um Notebook para obter instruções sobre como importar exemplos do Notebook para o site workspace.
Referência
As subseções a seguir listam key recurso e dicas para ajudá-lo a começar a desenvolver em Databricks com o R.
Databricks suporta dois APIs que fornecem uma interface R para Apache Spark: SparkR e Sparklyr.
SparkR
Esses artigos fornecem uma introdução e referência para o SparkR. O SparkR é uma interface R para o Apache Spark que fornece uma implementação de estrutura de dados distribuída. SparkR suporta operações como seleção, filtragem e agregação (semelhante aos quadros de dados do R), mas em grandes conjuntos de dados.
Sparklyr
Este artigo apresenta uma introdução ao Sparklyr. Sparklyr é uma interface do R para Apache Spark que oferece funcionalidade semelhante ao 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 o R, SparkR, Sparklyr e dplyr para trabalhar com data.frames do R, Spark DataFrames e tabelas Spark em Databricks.
Gerenciar código com o Notebook e Databricks Git pastas
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 de aprendizado de máquina. Comece importando um Notebook. Depois de ter acesso a um cluster, o senhor pode 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 o Notebook com o clone do repositório, anexar o Notebook a um cluster e executar o Notebook.
agrupamento
Databricks compute fornecem o gerenciamento compute tanto para nós únicos quanto para grandes clusters. O senhor pode personalizar o hardware de clustering e a biblioteca de acordo com suas necessidades. Depois de ter acesso a um cluster, o senhor pode anexar um Notebook ao cluster ou executar um Job no cluster.
- Para cargas de trabalho pequenas que exigem apenas um único nó, o site data scientists pode usar o nó único compute para economizar.
- Para obter dicas detalhadas, consulte recomendações de configuração de computação.
- Os administradores podem configurar a política de cluster para simplificar e orientar a criação de clusters.
R de nó único e R distribuído
ODatabricks clustering consiste em um Apache Spark nó Spark executor worker de driver e zero ou mais (também conhecido como). O nó do driver mantém o estado do Notebook anexado, mantém o SparkContext
, interpreta o comando do Notebook e da biblioteca e executa o mestre Spark que coordena com o executor Spark. nós de trabalho executam o executor Spark, um Spark executor por nó worker.
Um clustering de nó único tem um nó driver e nenhum nó worker, com Spark em execução no modo local para dar suporte ao acesso a tabelas gerenciadas por Databricks. O clustering de nó único é compatível com RStudio, Notebook e biblioteca e é útil para projetos de R que não dependem de Spark para big data ou processamento paralelo. Consulte compute.
Para tamanhos de dados que o R tem dificuldade para processar (muitos gigabytes ou petabytes), o senhor deve usar clustering distribuído ou de vários nós. O clustering distribuído tem um nó driver e um ou mais nós worker. O clustering distribuído é compatível não apenas com RStudio, Notebook e biblioteca, mas também com pacotes R, como SparkR e sparkly, que são projetados exclusivamente para usar o clustering distribuído por meio do SparkContext
. Esses pacotes fornecem os conhecidos SQL e DataFrame APIs, que permitem atribuir e executar várias Spark tarefas e comandos em paralelo nos nós worker. Para saber mais sobre Sparklyr e SparkR, consulte Comparação entre SparkR e Sparklyr.
Algumas funções de SparkR e Sparklyr que tiram proveito especial da distribuição de trabalho relacionado entre os nós de worker incluem o seguinte:
- sparklyr::spark_apply: execução de código R arbitrário em escala dentro de um clustering. Isso é especialmente útil para o uso de funcionalidades disponíveis somente no R, ou pacote R que não está disponível em Apache Spark nem em outro pacote 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 ao R comodata.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 comodata.frame
. - SparkR::spark.lapply: executa a função especificada em uma lista de elementos, distribuindo os cálculos com Spark.
Para obter exemplos, consulte o Notebook Distributed R: User Defined Functions in Spark.
Databricks Container Services
Databricks Container Services permite que o senhor especifique uma imagem Docker ao criar um clustering. Databricks fornece a imagem base databricksruntime/rbase em Docker Hub como um exemplo para iniciar um clustering Databricks Container Services com suporte a R. Veja também o Dockerfile usado para gerar essa imagem base.
biblioteca
Databricks O clustering usa o Databricks Runtime, que fornece muitas bibliotecas populares prontas para uso, incluindo Apache Spark, Delta Lake, entre outras. O senhor também pode instalar pacotes R adicionais de terceiros ou personalizados no biblioteca para usar com o Notebook e o Job.
O senhor pode acessar a default biblioteca em Databricks Runtime notas sobre a versão, versões e compatibilidade. Use o Databricks Runtime for Machine Learning para cargas de trabalho de aprendizado de máquina. Para obter listas completas de bibliotecas pré-instaladas, consulte a seção "Installed R biblioteca" para o destino Databricks Runtime em Databricks Runtime notas sobre versões e compatibilidade.
É possível personalizar o ambiente usando Notebook-scoped R biblioteca, que permite modificar o ambiente do Notebook ou do Job com a biblioteca de CRAN ou de outros repositórios. Para fazer isso, o senhor pode usar a conhecida função install.pacote do site utils
. O exemplo a seguir instala o pacote Arrow R a partir do repositório default CRAN :
install.packages("arrow")
Se o senhor precisar de uma versão mais antiga do que a incluída no site 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"
)
O pacote instalado dessa forma está disponível em um cluster. Eles têm como escopo o usuário que os instala. Isso permite que o senhor instale várias versões do mesmo pacote no mesmo site compute sem criar conflitos de pacote.
O senhor pode instalar outras bibliotecas como biblioteca de cluster conforme necessário, por exemplo, a partir de CRAN. Para fazer isso, na interface de usuário do clustering, clique em biblioteca > Install new > CRAN e especifique o nome da biblioteca. Essa abordagem é especialmente importante quando o senhor deseja chamar funções definidas pelo usuário com SparkR ou Sparklyr.
Para obter mais detalhes, consulte biblioteca.
Para instalar um pacote personalizado em uma biblioteca:
-
Crie seu pacote personalizado a partir da linha de comando ou usando o RStudio.
-
Copie o arquivo de pacote personalizado do computador de desenvolvimento para o site Databricks workspace. Para opções, consulte biblioteca.
-
Instale o pacote personalizado em uma biblioteca executando
install.packages
.Por exemplo, de um Notebook em seu workspace:
Rinstall.packages(
pkgs = "/path/to/tar/file/<custom-package>.tar.gz",
type = "source",
repos = NULL
)Ou:
Bash%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 personalizado como uma biblioteca em cada nó de um cluster, o senhor deve usar What are init script?
Visualizações
Databricks O 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.
- Para obter detalhes sobre a criação de um Job por meio da interface do usuário, consulte Configurar e editar Databricks Jobs.
- O site Jobs API permite que o senhor crie, edite e exclua trabalhos.
- A CLI da Databricks fornece uma interface de linha de comando conveniente para chamar a API de Jobs.
Aprendizagem automática
Databricks oferece suporte a uma ampla variedade de cargas de trabalho de aprendizado de máquina (ML), incluindo o tradicional ML em dados tabulares, aprendizado profundo para visão computacional e processamento de linguagem natural, sistemas de recomendação, análise gráfica e muito mais. Para obter informações gerais sobre aprendizado de máquina em Databricks, consulte Databricks Runtime para aprendizado de máquina.
Para os algoritmos do ML, o senhor pode usar a biblioteca pré-instalada no Databricks Runtime for Machine Learning. O senhor também pode instalar uma biblioteca personalizada.
Para operações de aprendizado de máquina (MLOps), a Databricks fornece um serviço gerenciado para a biblioteca de código aberto 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. Jobs e servindo modelo permitem modelos de hospedagem como lotes e transmissão Job como endpoint REST. Para obter mais informações e exemplos, consulte o site MLflow para o ciclo de vida do agente gen AI e do modelo ML ou os documentosMLflow R API.
Ferramentas para desenvolvedores de R
Além do Databricks Notebook, o senhor também pode usar as seguintes ferramentas de desenvolvimento do R:
-
Use o SparkR e o RStudio Desktop com o Databricks Connect.
-
Use o Sparklyr e o RStudio Desktop com o Databricks Connect.
Personalizaçã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
.