Not defteri kapsamlı R kitaplıkları
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. Not defteri kapsamlı kitaplıkları her oturumun başında veya not defteri bir kümeden her ayrılışında 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 kapsamlı 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
Not defteri kapsamlı kitaplığı bir not defterinden kaldırmak için komutunu kullanın remove.packages()
.
remove.packages("caesar")
Spark UDF'leri ile not defteri kapsamlı R kitaplıkları
Bu bölümde:
- Not defteri kapsamlı R kitaplıkları ve SparkR
- Not defteri kapsamlı R kitaplıkları ve sparklyr
- Kitaplık yalıtımı ve barındırılan RStudio
Not defteri kapsamlı R kitaplıkları ve SparkR
Not defteri kapsamlı kitaplıklar SparkR çalışanlarında kullanılabilir; yalnızca kullanmak üzere bir kitaplığı içeri aktar. Ö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)
Not defteri kapsamlı R kitaplıkları ve sparklyr
Varsayılan olarak, içinde sparklyr::spark_apply()
packages
bağımsız değişken olarak TRUE
ayarlanır. Bu, geçerli libPaths
kitaplıkları çalışanlara kopyalayarak bunları içeri aktarmanıza ve çalışanlarda kullanmanıza olanak sağlar. Örneğin, ile sparklyr::spark_apply()
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)
Kitaplıkların çalışanlarda kullanılabilir olmasını istemiyorsanız olarak ayarlayın packages
FALSE
.
Kitaplık 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ü paketler kullanırken spark_apply(..., packages = TRUE)
çalışanlar tarafından kullanılabilir.
Sık sorulan sorular (SSS)
Tüm R not defterleri için yalnızca sürücüye bir paket yüklemek Nasıl yaparım??
Yükleme dizinini açıkça olarak olarak /databricks/spark/R/lib
ayarlayın. Örneğin, ile install.packages()
komutunu çalıştırın install.packages("pckg", lib="/databricks/spark/R/lib")
.
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ümedeki not defteri kapsamlı kitaplıklar için önbelleğe alma uygulanmaz. 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.