Aller au contenu principal

sparklyr

Databricks prend en charge sparklyr dans les Notebooks, les Jobs et RStudio Desktop. Cet article décrit comment utiliser sparklyr et fournit des exemples de scripts que vous pouvez exécuter. Consultez l'interface R pour Apache Spark pour plus d'informations.

Exigences

Databricks distribue la dernière version stable de sparklyr avec chaque version de Databricks Runtime. Vous pouvez utiliser sparklyr dans les Notebooks R Databricks ou au sein d'un serveur RStudio hébergé sur Databricks en important la version installée de sparklyr.

Dans RStudio Desktop, Databricks Connect vous permet de connecter sparklyr depuis votre machine locale aux clusters Databricks et d'exécuter du code Apache Spark. Consultez Utilisation de sparklyr et RStudio Desktop avec Databricks Connect.

Connecter sparklyr aux clusters Databricks

Pour établir une connexion sparklyr, vous pouvez utiliser "databricks" comme méthode de connexion dans spark_connect(). Aucun parameter supplémentaire pour spark_connect() n'est nécessaire, ni l'appel de spark_install() car Spark est déjà installé sur un cluster Databricks.

R
# Calling spark_connect() requires the sparklyr package to be loaded first.
library(sparklyr)

# Create a sparklyr connection.
sc <- spark_connect(method = "databricks")

Barres de progression et Spark UI avec sparklyr

Si vous attribuez l'objet de connexion sparklyr à une variable nommée sc comme dans l'exemple ci-dessus, vous verrez des barres de progression Spark dans le Notebook après chaque commande qui déclenche des jobs Spark. De plus, vous pouvez cliquer sur le Link à côté de la barre de progression pour afficher la Spark UI associée au Job Spark donné.

Progression de sparklyr

Utiliser sparklyr

Après avoir installé sparklyr et établi la connexion, toutes les autres API sparklyr fonctionnent normalement. Consultez l'exemple de notebook pour quelques exemples.

sparklyr est généralement utilisé avec d'autres packages tidyverse tels que dplyr. La plupart de ces packages sont préinstallés sur Databricks pour votre commodité. Vous pouvez simplement les importer et start à utiliser l'API.

Utilisez sparklyr et SparkR ensemble

SparkR et sparklyr peuvent être utilisés ensemble dans un seul Notebook ou Job. Vous pouvez importer SparkR avec sparklyr et utiliser ses fonctionnalités. Dans les Notebooks Databricks, la connexion SparkR est préconfigurée.

Certaines des fonctions de SparkR masquent un certain nombre de fonctions de dplyr :

R
> library(SparkR)
The following objects are masked from 'package:dplyr':

arrange, between, coalesce, collect, contains, count, cume_dist,
dense_rank, desc, distinct, explain, filter, first, group_by,
intersect, lag, last, lead, mutate, n, n_distinct, ntile,
percent_rank, rename, row_number, sample_frac, select, sql,
summarize, union

Si vous importez SparkR après avoir importé dplyr, vous pouvez référencer les fonctions de dplyr en utilisant les noms entièrement qualifiés, par exemple, dplyr::arrange(). De même, si vous importez dplyr après SparkR, les fonctions de SparkR sont masquées par dplyr.

Alternativement, vous pouvez dissocier sélectivement un des deux packages si vous n'en avez pas besoin.

R
detach("package:dplyr")

Voir aussi Comparaison de SparkR et sparklyr.

Utiliser sparklyr dans les Jobs spark-submit

attention

La tâche **Spark Submit** est obsolète et sera supprimée. Seuls les clients utilisant actuellement spark-submit peuvent créer ce type de tâche. Comme alternative, vous pouvez utiliser une tâche Notebook qui contient votre code R.

Vous pouvez exécuter des scripts qui utilisent sparklyr sur Databricks en tant que Jobs spark-submit, avec des modifications mineures du code. Certaines des instructions ci-dessus ne s'appliquent pas à l'utilisation de sparklyr dans les Jobs Spark-submit sur Databricks. Vous devez notamment fournir l'URL maître Spark à spark_connect. Par exemple :

R
library(sparklyr)

sc <- spark_connect(method = "databricks", spark_home = "<spark-home-path>")
...

Fonctionnalités non prises en charge

Databricks ne prend pas en charge les méthodes sparklyr telles que spark_web() et spark_log() qui nécessitent un navigateur local. Cependant, puisque l'interface Spark UI est intégrée à Databricks, vous pouvez facilement inspecter les Jobs et les Logs Spark. Consultez les Logs du Driver et du Worker du Compute.

Exemple de Notebook : démonstration Sparklyr

Notebook Sparklyr

Pour d'autres exemples, consultez Travailler avec des DataFrames et des tables dans R.