Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
renv adalah paket R yang memungkinkan pengguna mengelola dependensi R khusus untuk buku catatan.
Menggunakan renv
, Anda dapat membuat dan mengelola lingkungan pustaka R untuk proyek Anda, menyimpan status pustaka ini ke lockfile
, kemudian memulihkan pustaka sesuai kebutuhan. Secara serentak, alat-alat ini dapat membantu membuat proyek lebih terisolasi, portabel, dan dapat direproduksi.
Alur kerja renv
dasar
Di bagian ini:
-
Pasang
renv
-
Menginisialisasi
renv
sesi dengan pustaka R yang telah diinstal sebelumnya -
Gunakan
renv
untuk menginstal paket tambahan -
Gunakan
renv
untuk menyimpan lingkungan buku catatan R Anda ke DBFS -
Menginstal ulang
renv
lingkungan yang diberikanlockfile
dari DBFS
Pasang renv
Anda dapat menginstal renv
sebagai pustaka cakupan kluster atau sebagai pustaka cakupan buku catatan. Untuk menginstal renv
sebagai pustaka cakupan buku catatan, gunakan:
require(devtools)
install_version(
package = "renv",
repos = "http://cran.us.r-project.org"
)
Databricks merekomendasikan menggunakan snapshot CRAN sebagai repositori untuk memperbaiki versi paket.
Menginisialisasi renv
sesi dengan pustaka R yang telah diinstal sebelumnya
Langkah pertama saat menggunakan renv
adalah menginisialisasi sesi menggunakan renv::init()
. Atur libPaths
untuk mengubah lokasi pengunduhan default menjadi jalur pustaka cakupan buku catatan R Anda.
renv::init(settings = list(external.libraries=.libPaths()))
.libPaths(c(.libPaths()[2], .libPaths())
Gunakan renv
untuk menginstal paket tambahan
Anda sekarang dapat menggunakan renv
API untuk menginstal dan menghapus paket R. Misalnya, untuk menginstal versi digest
terbaru, jalankan yang berikut di dalam sel buku catatan.
renv::install("digest")
Untuk memasang versi digest
yang lama, jalankan yang berikut di dalam sel buku catatan.
renv::install("digest@0.6.18")
Untuk menginstal digest
dari GitHub, jalankan yang berikut di dalam sel buku catatan.
renv::install("eddelbuettel/digest")
Untuk menginstal paket dari Bioconductor, jalankan yang berikut di dalam sel buku catatan.
# (note: requires the BiocManager package)
renv::install("bioc::Biobase")
Perhatikan bahwa renv::install
API menggunakan renv
Cache.
Gunakan renv
untuk menyimpan lingkungan buku catatan R Anda ke DBFS
Jalankan perintah berikut sekali sebelum menyimpan lingkungan.
renv::settings$snapshot.type("all")
Ini diatur renv
untuk snapshot semua paket yang diinstal ke libPaths
, bukan hanya yang saat ini digunakan di buku catatan. Lihat dokumentasi renv untuk informasi lebih lanjut.
Sekarang Anda dapat menjalankan bagian dalam sel buku catatan berikut untuk menyimpan keadaan lingkungan Anda saat ini.
renv::snapshot(lockfile="/dbfs/PATH/TO/WHERE/YOU/WANT/TO/SAVE/renv.lock", force=TRUE)
Ini memperbarui lockfile
dengan mengambil semua paket yang diinstal pada libPaths
. Ini juga memindahkan lockfile
dari sistem file lokal ke DBFS, tempatnya bertahan bahkan jika kluster Anda berakhir atau dihidupkan ulang.
Menginstal ulang lingkungan renv
yang diberikan lockfile
dari DBFS
Pertama, pastikan bahwa kluster baru Anda menjalankan versi Databricks Runtime yang identik dengan yang lingkungan yang pertama kali Anda buat di renv
. Ini memastikan bahwa paket R yang sudah diinstal sebelumnya identik. Anda dapat menemukan daftar ini di setiap catatan rilis runtime. Setelah Anda Menginstal renv
, jalankan yang berikut ini di dalam sel buku catatan.
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"))
Tindakan ini menyalin lockfile
Anda dari DBFS ke dalam sistem berkas lokal, lalu memulihkan paket apa pun yang ditentukan dalam lockfile
.
Catatan
Untuk menghindari kesalahan repositori yang hilang, kecualikan paket Rserve
dan SparkR
dari pemulihan paket. Kedua paket ini sudah diinstal sebelumnya di semua runtime.
renv
Tembolok
Fitur renv
yang sangat berguna adalah cache paket global-nya, yang dibagikan di semua proyek renv
di kluster. Fitur ini mempercepat waktu penginstalan dan menghemat ruang {i>diskrenv tidak menyimpan paket yang diunduh melalui devtools
API atau install.packages()
dengan argumen tambahan apa pun selain pkgs
.