Defter kapsamında R kütüphaneleri
Not defteri kapsamlı R kitaplıkları, bir not defteri oturumuna özgü özel R ortamları oluşturmanıza ve değiştirmenize olanak tanır. R not defteri kapsamlı bir kitaplık yüklediğinizde, yalnızca geçerli not defteri ve bu not defteriyle ilişkili tüm işler bu kitaplığa erişebilir. Aynı kümeye eklenen diğer not defterleri etkilenmez.
Not defteri kapsamlı kitaplıklar oturumlar arasında kalıcı olmaz. Her oturumun başında veya not defteri bir kümeden ayrıldığında, not defterine özgü kitaplıkları yeniden yüklemeniz gerekir.
Not defteri kapsamlı kitaplık kitaplıkları SparkR UDF'leri için çalışanlarda otomatik olarak kullanılabilir.
Bir kümeye bağlı tüm not defterlerinin kitaplıklarını yüklemek için küme yüklü kitaplıkları kullanın. Bkz. Küme kitaplıkları.
R'de not defteri kapsamlı kitaplıkları yükleme
R'de paketleri yüklemek için install.packages(), geliştirici araçları API'leri veya Bioconductor gibi tanıdık herhangi bir yöntemi kullanabilirsiniz.
R paketlerine hem çalışan düğümleri hem de sürücü düğümü erişebilir.
R'de not defteri kapsamındaki kitaplıkları yönetme
Bu bölümde:
Paketi yükleme
require(devtools)
install_version(
package = "caesar",
repos = "http://cran.us.r-project.org"
)
Databricks, yeniden üretilebilir sonuçları garanti etmek için bir CRAN anlık görüntüsünün depo olarak kullanılmasını önerir.
devtools::install_github("klutometis/roxygen")
Not defteri ortamından R paketini kaldırma
Bir not defterinden, not defteriyle ilişkili bir kitaplığı kaldırmak için remove.packages()
komutunu kullanın.
remove.packages("caesar")
Spark UDF'leri ile not defteri düzeyinde R kitaplıkları
Bu bölümde:
- Not defteri kapsamlı R kitaplıkları ve SparkR
- Not defteri kapsamlı R kitaplıkları ve sparklyr
- Kütüphane izolasyonu ve barındırılan RStudio
Not defteri kapsamlı R kitaplıkları ve SparkR
Deftere özgü kitaplıklar SparkR çalışanlarında kullanılabilir; yalnızca kullanmak üzere kitaplığı ithal etmen yeterli. Örneğin, SparkR UDF ile sezar ile şifrelenmiş bir ileti oluşturmak için aşağıdakileri çalıştırabilirsiniz:
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)
Notebook'a özgü R kütüphaneleri ve sparklyr
Varsayılan olarak, içinde sparklyr::spark_apply()
, packages
bağımsız değişkeni TRUE
olarak ayarlanır. Bu, geçerli libPaths
kitaplıkları işçilere kopyalayarak bunları aktarmanıza ve işçilerde kullanmanıza olanak sağlar. Örneğin, sparklyr::spark_apply()
kullanarak sezar şifreli bir ileti oluşturmak için aşağıdakileri çalıştırabilirsiniz:
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)
Çalışanlarda kütüphanelerin kullanılabilir olmasını istemiyorsanız, packages
öğesini FALSE
olarak ayarlayın.
Kütüphane yalıtımı ve barındırılan RStudio
RStudio her kullanıcı için ayrı bir kitaplık yolu oluşturur; bu nedenle kullanıcılar birbirinden yalıtılır. Ancak, kitaplık yolu çalışanlarda kullanılamaz. RStudio'dan başlatılan bir işte SparkR çalışanlarının içinde bir paket kullanmak istiyorsanız, küme kitaplıklarını kullanarak yüklemeniz gerekir.
Alternatif olarak, sparklyr UDF'lerini kullanırsanız, RStudio'da yüklü olan paketler spark_apply(..., packages = TRUE)
kullanıldığında çalışanların erişimine açılır.
Sık sorulan sorular (SSS)
Tüm R not defterleri için yalnızca sürücüye bir paketi nasıl yüklerim?
Yükleme dizinini açıkça olarak olarak /databricks/spark/R/lib
ayarlayın. Örneğin, install.packages()
ile install.packages("pckg", lib="/databricks/spark/R/lib")
çalıştırın.
içinde /databricks/spark/R/lib
yüklü paketler kümedeki tüm not defterleri arasında paylaşılır, ancak SparkR çalışanları tarafından erişilemez. Kitaplıkları not defterleri ve çalışanlar arasında paylaşmak için küme kitaplıklarını kullanın.
Not defteri kapsamlı kitaplıklar önbelleğe alınmış mı?
Bir kümede, not defterine özgü kitaplıklar için önbelleğe alma sistemi yoktur. Bir not defterine paket yüklerseniz ve başka bir kullanıcı aynı paketi aynı kümedeki başka bir not defterine yüklerse paket indirilir, derlenip yeniden yüklenir.