Поделиться через


sparklyr

Azure Databricks поддерживает sparklyr в записных книжках, заданиях и RStudio Desktop. В этой статье описывается, как использовать sparklyr и приведены примеры сценариев, которые можно запустить. Дополнительные сведения см. в интерфейсе R в Apache Spark .

Требования

Azure Databricks распространяет последнюю стабильную версию sparklyr с каждым выпуском Databricks Runtime. Вы можете использовать sparklyr в записных книжках Azure Databricks R или внутри RStudio Server, размещенных на Azure Databricks, импортировав установленную версию sparklyr.

В RStudio Desktop Databricks Connect позволяет подключать sparklyr с локального компьютера к кластерам Azure Databricks и выполнять код Apache Spark. См. Использование sparklyr и RStudio Desktop с Databricks Connect.

Подключение sparklyr к кластерам Azure Databricks

Чтобы установить подключение sparklyr, можно использовать "databricks" в качестве метода подключения в spark_connect(). Дополнительные parameters и spark_connect() не требуются, и вызов spark_install() также не требуется, так как Spark уже установлен в кластере Azure Databricks.

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

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

Индикаторы выполнения и пользовательский интерфейс Spark со sparklyr

При назначении объекта подключения sparklyr переменной с именем sc, как в приведенном выше примере, после каждой команды, запускающей задания Spark, в записной книжке будут отображаться индикаторы выполнения Spark. Кроме того, можно пройти по ссылке рядом с индикатором выполнения, чтобы просмотреть пользовательский интерфейс Spark, связанный с этим заданием Spark.

Индикатор выполнения для sparklyr

Использование sparklyr

После установки sparklyr и подключения все остальные API sparklyr работают в обычном режиме. См. некоторые примеры в примере записной книжки.

Sparklyr обычно используется вместе с другими пакетами tidyverse, такими как dplyr. Большая часть этих пакетов предустановлена на Databricks для вашего удобства. Вы можете просто импортировать их и начать использовать API.

Совместное использование sparklyr и SparkR

В одной записной книжке или задании можно совместно использовать sparklyr и SparkR. Вы можете импортировать SparkR вместе со sparklyr и использовать его функциональность. В записных книжках Azure Databricks подключение к SparkR предварительно настроено.

Некоторые функции в SparkR маскируют ряд функций в dplyr:

> 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

При импорте SparkR после импорта dplyr можно ссылаться на функции в dplyr с помощью полных имен, например, dplyr::arrange(). Аналогично, если вы импортируете dplyr после SparkR, функции в SparkR замаскированы dplyr.

Кроме того, можно выборочно отключить один из двух пакетов, если он не нужен.

detach("package:dplyr")

См. также сравнение SparkR и sparklyr.

Использование sparklyr для заданий по отправке Spark

Вы можете выполнять скрипты, использующие sparklyr, в Azure Databricks как задания по отправке Spark с незначительными изменениями кода. Некоторые из приведенных выше инструкций не применяются к использованию sparklyr в заданиях по отправке Spark на Azure Databricks. В частности, необходимо указать основной URL-адрес Spark в spark_connect. Например:

library(sparklyr)

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

Неподдерживаемые функции

Azure Databricks не поддерживает методы sparklyr, такие как spark_web() и spark_log(), для которых требуется локальный браузер. Однако, поскольку пользовательский интерфейс Spark встроен в Azure Databricks, можно легко изучить задания и журналы Spark. См . журналы драйвера вычислений и рабочих ролей.

Пример записной книжки: демонстрация Sparklyr

Записная книжка Sparklyr

Get записная книжка

Для дополнительных примеров см. Работа с DataFrame и tables в R.