共用方式為


sparklyr

Azure Databricks 支援筆記本、作業和 RStudio Desktop 中的 sparklyr。 本文說明如何使用sparklyr,並提供您可以執行的範例腳本。 如需詳細資訊,請參閱 Apache Spark 的 R 介面。

需求

Azure Databricks 會使用每個 Databricks Runtime 版本散發最新穩定版本的 sparklyr。 您可以匯入已安裝的 sparklyr 版本,在 Azure Databricks 上裝載的 RStudio Server 中或在 Azure Databricks 上裝載的 RStudio 伺服器中使用 sparklyr。

在 RStudio Desktop 中,Databricks 連線 可讓您將 sparklyr 從本機電腦連線到 Azure Databricks 叢集,並執行 Apache Spark 程式代碼。 請參閱搭配 Databricks 連線 使用 sparklyr 和 RStudio Desktop。

連線 Sparklyr 至 Azure Databricks 叢集

若要建立sparklyr連線,您可以使用 "databricks" 作為中的 spark_connect()連接方法。 不需要其他參數 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")

使用sparklyr的進度列和Spark UI

如果您將sparklyr連接物件指派給上述範例中名為的 sc 變數,您會在觸發Spark作業的每個命令之後,在筆記本中看到Spark進度列。 此外,您可以按下進度列旁的連結,以檢視與指定Spark作業相關聯的Spark UI。

Sparklyr 進度

使用sparklyr

安裝sparklyr並建立連線之後,所有其他sparklyr API的運作方式就像一般一樣。 如需一些範例, 請參閱範例筆記本

sparklyr 通常與其他 整潔套件 一起使用,例如 dplyr。 為了方便起見,這些套件大部分都預安裝在 Databricks 上。 您可以直接匯入它們,並開始使用 API。

同時使用sparklyr和SparkR

SparkR 和 sparklyr 可以在單一筆記本或作業中一起使用。 您可以匯入 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

如果您在匯入 dplyr 之後匯入 SparkR,您可以使用完整名稱來參考 dplyr 中的函式,例如 dplyr::arrange()。 同樣地,如果您在SparkR之後匯入 dplyr,SparkR 中的函式會由 dplyr 遮罩。

或者,您也可以選擇性地卸離這兩個套件的其中一個,而不需要它。

detach("package:dplyr")

請參閱比較 SparkR 和 sparklyr

在spark-submit作業中使用sparklyr

您可以執行在 Azure Databricks 上使用 sparklyr 做為 spark-submit 作業的腳本,並修改次要程式代碼。 上述某些指示不適用於在 Azure Databricks 上的 sparklyr 提交作業中使用 sparklyr。 特別是,您必須提供 Spark 主要 URL 給 spark_connect。 例如:

library(sparklyr)

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

不支援的功能

Azure Databricks 不支援 sparklyr 方法,例如 spark_web()spark_log() 需要本機瀏覽器的方法。 不過,由於Spark UI內建在 Azure Databricks 上,因此您可以輕鬆地檢查 Spark 作業和記錄。 請參閱 計算驅動程式和背景工作角色記錄

範例筆記本:Sparklyr 示範

Sparklyr 筆記本

取得筆記本

如需其他範例,請參閱 在 R 中使用 DataFrame 和數據表。