اقرأ باللغة الإنجليزية

مشاركة عبر


renv على Azure Databricks

renv هي حزمة R تتيح للمستخدمين إدارة تبعيات R الخاصة بدفتر الملاحظات.

باستخدام renv، يمكنك إنشاء وإدارة بيئة مكتبة R لمشروعك، وحفظ حالة هذه المكتبات في lockfile، واستعادة المكتبات لاحقا كما هو مطلوب. يمكن أن تساعد هذه الأدوات معا في جعل المشاريع أكثر عزلة وقابلية للنقل وقابلية للتكرار.

سير العمل الأساسي renv

في هذا القسم:

أقام renv

يمكنك التثبيت renv كمكتبة ذات نطاق نظام مجموعة أو كمكتبة ذات نطاق دفتر ملاحظات. للتعيين renv كمكتبة ذات نطاق دفتر ملاحظات، استخدم:

require(devtools)

install_version(
  package = "renv",
  repos   = "http://cran.us.r-project.org"
)

توصي Databricks باستخدام لقطة CRAN كمستودع لإصلاح إصدار الحزمة.

تهيئة الجلسة renv مع مكتبات R المثبتة مسبقا

الخطوة الأولى عند الاستخدام renv هي تهيئة جلسة عمل باستخدام renv::init(). قم بتعيين libPaths لتغيير موقع التنزيل الافتراضي ليكون مسار مكتبة R في نطاق دفتر الملاحظات.

renv::init(settings = list(external.libraries=.libPaths()))
.libPaths(c(.libPaths()[2], .libPaths())

استخدم renv لتثبيت حزم إضافية

يمكنك الآن استخدام renvواجهة برمجة التطبيقات لتثبيت حزم R وإزالتها. على سبيل المثال، لتثبيت أحدث إصدار من digest، قم بتشغيل ما يلي داخل خلية دفتر ملاحظات.

renv::install("digest")

لتثبيت إصدار قديم من digest، قم بتشغيل ما يلي داخل خلية دفتر ملاحظات.

renv::install("digest@0.6.18")

للتثبيت digest من GitHub، قم بتشغيل ما يلي داخل خلية دفتر ملاحظات.

renv::install("eddelbuettel/digest")

لتثبيت حزمة من Bioconductor، قم بتشغيل ما يلي داخل خلية دفتر ملاحظات.

# (note: requires the BiocManager package)
renv::install("bioc::Biobase")

لاحظ أن renv::install واجهة برمجة التطبيقات تستخدم ذاكرة التخزين المؤقت renv.

استخدم renv لحفظ بيئة دفتر ملاحظات R إلى DBFS

قم بتشغيل الأمر التالي مرة واحدة قبل حفظ البيئة.

renv::settings$snapshot.type("all")

يتم تعيين renv هذا إلى لقطة لجميع الحزم المثبتة في libPaths، وليس فقط تلك المستخدمة حاليا في دفتر الملاحظات. راجع وثائق renv لمزيد من المعلومات.

يمكنك الآن تشغيل ما يلي داخل خلية دفتر ملاحظات لحفظ الحالة الحالية للبيئة الخاصة بك.

renv::snapshot(lockfile="/dbfs/PATH/TO/WHERE/YOU/WANT/TO/SAVE/renv.lock", force=TRUE)

يحدث هذا عن lockfile طريق التقاط جميع الحزم المثبتة على libPaths. كما أنه ينقلك lockfile من نظام الملفات المحلي إلى DBFS، حيث يستمر حتى إذا تم إنهاء نظام المجموعة أو إعادة تشغيله.

إعادة تثبيت renv بيئة معينة lockfile من DBFS

أولا، تأكد من أن نظام المجموعة الجديد يعمل بإصدار Databricks Runtime متطابق مثل الإصدار الذي أنشأت البيئة عليه renv لأول مرة. وهذا يضمن أن حزم R المثبتة مسبقا متطابقة. يمكنك العثور على قائمة بهذه في ملاحظات إصدار كل وقت تشغيل. بعد تثبيت renv، قم بتشغيل ما يلي داخل خلية دفتر ملاحظات.

renv::init(settings = list(external.libraries=.libPaths()))
.libPaths(c(.libPaths()[2], .libPaths()))
renv::restore(lockfile="/dbfs/PATH/TO/WHERE/YOU/SAVED/renv.lock", exclude=c("Rserve", "SparkR"))

يؤدي هذا إلى نسخ من lockfile DBFS إلى نظام الملفات المحلي ثم استعادة أي حزم محددة lockfileفي .

ملاحظة

لتجنب أخطاء المستودع المفقودة، استبعد Rserve الحزم و SparkR من استعادة الحزمة. يتم تثبيت كل من هذه الحزم مسبقا في جميع أوقات التشغيل.

renv تخزين مؤقت

ميزة مفيدة جدا ل renv هي ذاكرة التخزين المؤقت للحزمة العمومية الخاصة بها، والتي تتم مشاركتها عبر جميع renv المشاريع على نظام المجموعة. إنه يسرع أوقات التثبيت ويوفر مساحة على القرص. لا تقوم renv ذاكرة التخزين المؤقت بتخزين الحزم التي تم تنزيلها عبر devtools واجهة برمجة التطبيقات أو install.packages() مع أي وسيطات إضافية غير pkgs.