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ı 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 TRUEayarlanı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 packagesFALSE.

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/libayarlayı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.