Pustaka R cakupan notebook
Pustaka R cakupan buku catatan memungkinkan Anda membuat dan memodifikasi lingkungan R kustom yang khusus untuk sesi buku catatan. Saat Anda memasang pustaka cakupan buku catatan R, hanya buku catatan saat ini dan pekerjaan apa pun yang terkait dengan buku catatan tersebut yang memiliki akses ke pustaka tersebut. Buku catatan lain yang dilampirkan ke kluster yang sama tidak terpengaruh.
Pustaka cakupan buku catatan tidak bertahan di seluruh sesi. Anda harus memasang ulang pustaka cakupan buku catatan di awal setiap sesi, atau setiap kali buku catatan terlepas dari kluster.
Pustaka cakupan buku catatan tersedia secara otomatis pada pekerja untuk SparkR UDFs.
Untuk menginstal pustaka untuk semua buku catatan yang dilampirkan ke kluster, gunakan pustaka yang diinstal kluster. Lihat Pustaka kluster.
Memasang pustaka cakupan buku catatan di R
Anda dapat menggunakan metode penginstalan paket yang sudah dikenal di R, seperti install.packages(), devtools API, atau Bioconductor.
Paket R dapat diakses oleh simpul pekerja serta simpul driver.
Mengelola pustaka cakupan buku catatan di R
Di bagian ini:
Menginstal paket
require(devtools)
install_version(
package = "caesar",
repos = "http://cran.us.r-project.org"
)
Databricks merekomendasikan untuk menggunakan snapshot CRAN sebagai repositori untuk menjamin hasil yang dapat direproduksi.
devtools::install_github("klutometis/roxygen")
Menghapus paket R dari lingkungan buku catatan
Untuk menghapus pustaka cakupan buku catatan dari buku catatan, gunakan perintah.remove.packages()
remove.packages("caesar")
Pustaka R cakupan buku catatan dengan Spark UDFs
Di bagian ini:
- Pustaka R dan SparkR yang di lingkup buku catatan
- Pustaka dan sparklyr R cakupan buku catatan
- Isolasi perpustakaan dan host RStudio
Pustaka R dan SparkR yang di lingkup buku catatan
Pustaka cakupan buku catatan tersedia di pekerja SparkR; cukup impor perpustakaan untuk menggunakannya. Misalnya, Anda dapat menjalankan hal berikut untuk menghasilkan pesan terenkripsi caesar dengan SparkR UDF:
require(devtools)
install_version(
package = "caesar",
repos = "http://cran.us.r-project.org"
)
library(SparkR)
sparkR.session()
hello <- function(x) {
library(caesar)
caesar("hello world")
}
spark.lapply(c(1, 2), hello)
Pustaka dan sparklyr R cakupan buku catatan
Secara default, dalam sparklyr::spark_apply()
, argumen packages
diatur ke TRUE
. Ini menyalin perpustakaan dalam arus libPaths
ke pekerja, memungkinkan Anda untuk mengimpor dan menggunakannya pada pekerja. Misalnya, Anda dapat menjalankan hal berikut untuk menghasilkan pesan terenkripsi caesar dengan sparklyr::spark_apply()
:
require(devtools)
install_version(
package = "caesar",
repos = "http://cran.us.r-project.org"
)
library(sparklyr)
sc <- spark_connect(method = 'databricks')
apply_caes <- function(x) {
library(caesar)
caesar("hello world")
}
sdf_len(sc, 5) %>%
spark_apply(apply_caes)
Jika Anda tidak ingin pustaka tersedia untuk pekerja, atur packages
ke FALSE
.
Isolasi perpustakaan dan host RStudio
RStudio membuat jalur pustaka terpisah untuk setiap pengguna; oleh karena itu pengguna terisolasi satu sama lain. Namun, jalur perpustakaan tidak tersedia untuk pekerja. Jika Anda ingin menggunakan paket di dalam pekerja SparkR dalam pekerjaan yang diluncurkan dari RStudio, Anda perlu menginstalnya menggunakan pustaka kluster.
Atau, jika Anda menggunakan SPARKLYR UDFs, paket yang dipasang di dalam RStudio tersedia untuk pekerja saat menggunakan spark_apply(..., packages = TRUE)
.
Pertanyaan Umum (FAQ)
Bagaimana cara memasang paket hanya pada driver untuk semua buku catatan R?
Secara eksplisit mengatur direktori penginstalan ke /databricks/spark/R/lib
. Misalnya, dengan install.packages()
, jalankan install.packages("pckg", lib="/databricks/spark/R/lib")
.
Paket yang dipasang dibagikan di /databricks/spark/R/lib
semua buku catatan di kluster, tetapi paket tersebut tidak dapat diakses oleh pekerja SparkR. Untuk berbagi pustaka di seluruh buku catatan dan juga pekerja, gunakan pustaka kluster.
Apakah pustaka cakupan buku catatan di-cache?
Tidak ada penembolokan yang diimplementasikan untuk pustaka cakupan buku catatan pada kluster. Jika Anda memasang paket di buku catatan, dan pengguna lain memasang paket yang sama di buku catatan lain pada kluster yang sama, paket diunduh, dikompilasi, dan dipasang lagi.