Weblog Posit AI: Notícias do universo brilhante


Destaques

sparklyr e amigos têm recebido algumas atualizações importantes nos últimos meses. Aqui estão alguns destaques:

  • spark_apply() agora funciona no Databricks Join v2

  • sparkxgb está voltando à vida

  • O suporte para Spark 2.3 e versões anteriores foi encerrado

pysparklyr 0.1.4

spark_apply() agora funciona no Databricks Join v2. O mais recente pysparklyr
lançamento usa o rpy2 Biblioteca Python como espinha dorsal da integração.

O Databricks Join v2 é baseado no Spark Join. No momento, ele suporta funções definidas pelo usuário (UDFs) do Python, mas não funções definidas pelo usuário do R. Usando rpy2 contorna essa limitação. Conforme mostrado no diagrama, sparklyr
envia o código R para o instalado localmente rpy2que por sua vez o envia para o Spark. Então o rpy2 instalado no cluster remoto do Databricks executará o código R.


Weblog Posit AI: Notícias do universo brilhante

Figura 1: Código R through rpy2

Uma grande vantagem dessa abordagem é que rpy2 suporta Arrow. Na verdade, é a biblioteca Python recomendada para usar ao integrar Faísca, Flecha e R. Isso significa que a troca de dados entre os três ambientes será muito mais rápida!

Assim como em sua implementação authentic, a inferência de esquema funciona, e assim como na implementação authentic, tem um custo de desempenho. Mas diferentemente do authentic, esta implementação retornará uma especificação ‘columns’ que você pode usar na próxima vez que executar a chamada.

Execute R dentro do Databricks Join

faísca xgb

O sparkxgb é uma extensão de sparklyr. Permite a integração com
XGBoost. A versão atual do CRAN não suporta as versões mais recentes do XGBoost. Essa limitação recentemente levou a uma atualização completa do sparkxgb. Aqui está um resumo das melhorias que estão atualmente em andamento. versão de desenvolvimento do pacote:

  • O xgboost_classifier() e xgboost_regressor() funções não passam mais valores de dois argumentos. Eles foram descontinuados pelo XGBoost e causam um erro se usados. Na função R, os argumentos permanecerão para compatibilidade com versões anteriores, mas gerarão um erro informativo se não forem deixados NULL:

  • Atualiza a versão da JVM usada durante a sessão do Spark. Agora usa xgboost4j-spark versão 2.0.3em vez de 0.8.1. Isso nos dá acesso ao código Spark mais recente do XGboost.

  • Atualiza o código que usou funções obsoletas de dependências R upstream. Ele também para de usar um pacote não mantido como uma dependência (forge). Isso eliminou todos os avisos que ocorriam ao ajustar um modelo.

  • Grandes melhorias nos testes de pacotes. Os testes unitários foram atualizados e expandidos, a maneira sparkxgb inicia e para automaticamente a sessão Spark para teste foi modernizada, e os testes de integração contínua foram restaurados. Isso garantirá a saúde do pacote daqui para frente.

encontrado aquiO Spark 2.3 chegou ao fim de sua vida útil em 2018.

Isso faz parte de um esforço maior e contínuo para tornar a imensa base de código de
sparklyr um pouco mais fácil de manter e, portanto, reduzir o risco de falhas. Como parte do mesmo esforço, o número de pacotes upstream que sparklyr
depende de ter sido reduzido. Isso tem acontecido em várias versões do CRAN e, nesta versão mais recente, tibblee rappdirs não são mais importados por sparklyr.

Reuso

Texto e figuras são licenciados sob Artistic Commons Attribution CC BY 4.0. As figuras que foram reutilizadas de outras fontes não se enquadram nesta licença e podem ser reconhecidas por uma nota na legenda: “Figura de …”.

Citação

Para atribuição, cite este trabalho como

Ruiz (2024, April 22). Posit AI Weblog: Information from the sparkly-verse. Retrieved from https://blogs.rstudio.com/tensorflow/posts/2024-04-22-sparklyr-updates/

Citação BibTeX

@misc{sparklyr-updates-q1-2024,
  writer = {Ruiz, Edgar},
  title = {Posit AI Weblog: Information from the sparkly-verse},
  url = {https://blogs.rstudio.com/tensorflow/posts/2024-04-22-sparklyr-updates/},
  yr = {2024}
}

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *