مكتبات R ذات نطاق دفتر الملاحظات
تمكنك مكتبات R ذات نطاق دفتر الملاحظات من إنشاء وتعديل بيئات R المخصصة الخاصة بجلسة عمل دفتر الملاحظات. عند تثبيت مكتبة R ذات نطاق دفتر ملاحظات، يمكن فقط لدفتر الملاحظات الحالي وأي مهام مقترنة بدفتر الملاحظات هذا الوصول إلى تلك المكتبة. لا تتأثر دفاتر الملاحظات الأخرى المرفقة بنفس المجموعة.
لا تستمر المكتبات ذات نطاق دفتر الملاحظات عبر جلسات العمل. يجب إعادة تثبيت المكتبات ذات نطاق دفتر الملاحظات في بداية كل جلسة عمل، أو كلما تم فصل دفتر الملاحظات عن نظام مجموعة.
تتوفر مكتبات المكتبات ذات نطاق دفتر الملاحظات تلقائيا على العاملين في SparkR UDFs.
لتثبيت المكتبات لجميع دفاتر الملاحظات المرفقة بمجموعة، استخدم المكتبات المثبتة على نظام المجموعة. راجع مكتبات نظام المجموعة.
تثبيت المكتبات ذات نطاق دفتر الملاحظات في R
يمكنك استخدام أي طريقة مألوفة لتثبيت الحزم في R، مثل install.packages()أو واجهات برمجة تطبيقات devtools أو Bioconductor.
يمكن الوصول إلى حزم R للعقد العاملة بالإضافة إلى عقدة برنامج التشغيل.
إدارة المكتبات ذات نطاق دفتر الملاحظات في R
في هذا القسم:
تثبيت الحزمة
require(devtools)
install_version(
package = "caesar",
repos = "http://cran.us.r-project.org"
)
توصي Databricks باستخدام لقطة CRAN كمستودع لضمان نتائج قابلة للتكرار.
devtools::install_github("klutometis/roxygen")
إزالة حزمة R من بيئة دفتر ملاحظات
لإزالة مكتبة ذات نطاق دفتر ملاحظات من دفتر ملاحظات، استخدم remove.packages()
الأمر .
remove.packages("caesar")
مكتبات R ذات نطاق دفتر الملاحظات مع Spark UDFs
في هذا القسم:
- مكتبات R ذات نطاق دفتر الملاحظات وSparkR
- مكتبات R ذات نطاق دفتر الملاحظات وsparlyr
- عزل المكتبة واستضافتها RStudio
مكتبات R ذات نطاق دفتر الملاحظات وSparkR
تتوفر المكتبات ذات نطاق دفتر الملاحظات على عمال SparkR؛ ما عليك سوى استيراد مكتبة لاستخدامها. على سبيل المثال، يمكنك تشغيل ما يلي لإنشاء رسالة قيصرية مشفرة باستخدام 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)
مكتبات R ذات نطاق دفتر الملاحظات وsparlyr
بشكل افتراضي، في sparklyr::spark_apply()
، يتم تعيين الوسيطة packages
إلى TRUE
. يؤدي ذلك إلى نسخ المكتبات الموجودة في التيار libPaths
إلى العمال، مما يسمح لك باستيرادها واستخدامها على العمال. على سبيل المثال، يمكنك تشغيل ما يلي لإنشاء رسالة قيصرية مشفرة باستخدام 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)
إذا كنت لا تريد أن تكون المكتبات متوفرة على العمال، فقم بتعيين packages
إلى FALSE
.
عزل المكتبة واستضافتها RStudio
يقوم RStudio بإنشاء مسار مكتبة منفصل لكل مستخدم؛ لذلك يتم عزل المستخدمين عن بعضهم البعض. ومع ذلك، مسار المكتبة غير متوفر على العمال. إذا كنت ترغب في استخدام حزمة داخل عمال SparkR في مهمة تم تشغيلها من RStudio، تحتاج إلى تثبيتها باستخدام مكتبات نظام المجموعة.
بدلا من ذلك، إذا كنت تستخدم sparklyr UDFs، فإن الحزم المثبتة داخل RStudio متاحة للعمال عند استخدام spark_apply(..., packages = TRUE)
.
الأسئلة الشائعة (FAQ)
كيف أعمل تثبيت حزمة على برنامج التشغيل فقط لجميع دفاتر ملاحظات R؟
قم بتعيين دليل التثبيت بشكل صريح إلى /databricks/spark/R/lib
. على سبيل المثال، مع install.packages()
، قم بتشغيل install.packages("pckg", lib="/databricks/spark/R/lib")
.
تتم مشاركة الحزم المثبتة في /databricks/spark/R/lib
عبر جميع دفاتر الملاحظات على نظام المجموعة، ولكن لا يمكن لعمال SparkR الوصول إليها. لمشاركة المكتبات عبر دفاتر الملاحظات وكذلك العاملين، استخدم مكتبات نظام المجموعة.
هل المكتبات ذات نطاق دفتر الملاحظات مخزنة مؤقتا؟
لا يوجد تخزين مؤقت مطبق للمكتبات ذات نطاق دفتر الملاحظات على نظام مجموعة. إذا قمت بتثبيت حزمة في دفتر ملاحظات، وثبت مستخدم آخر نفس الحزمة في دفتر ملاحظات آخر على نفس المجموعة، يتم تنزيل الحزمة وتجميعها وتثبيتها مرة أخرى.