Aracılığıyla paylaş


R kütüphanesi yönetimi

Kitaplıklar, Microsoft Fabric Spark için programlarınıza veya projelerinize eklemek isteyebileceğiniz yeniden kullanılabilir kodlar sağlar.

Microsoft Fabric, TidyVerse dahil olmak üzere önceden yüklenmiş birçok popüler açık kaynak R paketine sahip bir R çalışma zamanını destekler. Spark örneği başlatıldığında, bu kitaplıklar otomatik olarak eklenir ve not defterlerinde veya Spark iş tanımlarında hemen kullanılabilir.

R kitaplıklarınızı çeşitli nedenlerle güncelleştirmeniz gerekebilir. Örneğin, temel bağımlılıklarınızdan biri yeni bir sürüm yayımladı veya ekibiniz Spark kümelerinizde kullanılabilir olması gereken özel bir paket oluşturms.

Senaryonuza göre eklemek isteyebileceğiniz iki tür kitaplık vardır:

  • Besleme kütüphaneleriCRAN veya GitHub gibi genel kaynaklarda veya depolarda bulunanları ifade eder.

  • Özel kitaplıklar, siz veya kuruluşunuz tarafından oluşturulan kodlardır .tar.gz Kitaplık Yönetimi portalları aracılığıyla yönetilebilir.

Microsoft Fabric'te yüklü iki paket düzeyi vardır:

  • Ortam: Aynı kitaplık kümesini birden fazla not defteri veya işte yeniden kullanmak için kitaplıkları bir ortam aracılığıyla yönetin.

  • Oturum: Oturum düzeyinde yükleme, belirli bir not defteri oturumu için bir ortam oluşturur. "Oturum düzeyindeki kitaplıklar arasındaki değişiklikler oturumlar arasında kalıcı olmaz."

Geçerli kullanılabilir R kitaplığı yönetim davranışlarını özetleme:

Kitaplık Türü Ortam Kurulumu Oturum düzeyinde yükleme
R Beslemesi (CRAN) Desteklenmiyor Destekli
R Kişiye Özel Desteklenir Destekli

Önkoşullar

Oturum seviyesinde R kütüphaneleri

Etkileşimli veri analizi veya makine öğrenmesi yaparken daha yeni paketler deneyebilir veya çalışma alanınızda şu anda kullanılamayan paketlere ihtiyacınız olabilir. Çalışma alanı ayarlarını güncelleştirmek yerine oturum bağımlılıkları eklemek, yönetmek ve güncelleştirmek için oturum kapsamlı paketleri kullanabilirsiniz.

  • Oturum kapsamlı kitaplıkları yüklediğinizde, yalnızca geçerli not defterinin belirtilen kitaplıklara erişimi olur.
  • Bu kitaplıklar aynı Spark havuzunu kullanan diğer oturumları veya işleri etkilemez.
  • Bu kitaplıklar, temel çalışma zamanı kitaplıkları ve havuz düzeyi kitaplıklarının üzerine yüklenir.
  • Not defteri kitaplıkları en yüksek önceliği alır.
  • Oturum kapsamlı R kütüphaneleri oturumlar arasında kalıcı değildir. Bu kitaplıklar, ilgili yükleme komutları yürütülürken her oturumun başında yüklenir.
  • Oturuma özgü R kütüphaneleri hem ana bilgisayar hem de işçi bilgisayar düğümleri arasında otomatik olarak yüklenir.

Not

İşlem hattı işleri çalıştırılırken R kitaplıklarını yönetme komutları devre dışı bırakılır. İşlem hattı içinde bir paket yüklemek istiyorsanız, kitaplık yönetimi özelliklerini çalışma alanı düzeyinde kullanmanız gerekir.

CRAN'dan R paketlerini yükleme

CRAN'ndan kolayca bir R kitaplığı yükleyebilirsiniz.

# install a package from CRAN
install.packages(c("nycflights13", "Lahman"))

CraN anlık görüntülerini depo olarak da kullanarak her seferinde aynı paket sürümünün indirilmesini sağlayabilirsiniz.

# install a package from CRAN snapsho
install.packages("highcharter", repos = "https://cran.microsoft.com/snapshot/2021-07-16/")

Geliştirme araçlarını kullanarak R paketlerini yükleme

devtools kitaplığı, ortak görevleri hızlandırmak için paket geliştirmeyi basitleştirir. Bu kitaplık varsayılan Microsoft Fabric çalışma zamanına yüklenir.

devtools kullanarak bir kitaplığın yüklenecek belirli bir sürümünü belirtebilirsiniz. Bu kitaplıklar küme içindeki tüm düğümlere yüklenir.

# Install a specific version. 
install_version("caesar", version = "1.0.0")

Benzer şekilde, doğrudan GitHub'dan bir kitaplık yükleyebilirsiniz.

# Install a GitHub library. 

install_github("jtilly/matchingR")

Şu anda aşağıdaki devtools işlevleri Microsoft Fabric'in içinde desteklenmektedir:

Komut Açıklama
install_github() GitHub'dan R paketi yükler
install_gitlab() GitLab'den R paketi yükler
install_bitbucket() BitBucket'ten R paketi yükler
install_url() Rastgele bir URL'den R paketi yükler
install_git() Rastgele git deposundan yükler
install_local() Disk üzerindeki yerel bir dosyadan yükler
install_version() CRAN'da belirli bir sürümden yükler

R özel kitaplıklarını yükleme

Oturum düzeyinde bir özel kitaplık kullanmak için önce bunu ekli bir Lakehouse'a yüklemeniz gerekir.

  1. Özel kitaplığını kullanmak istediğiniz not defterini açın.

  2. Var olan bir göl evi eklemek veya bir göl evi oluşturmak için sol tarafta ekle'yi seçin.

    Not defterinize göl evi ekleme ekran görüntüsü.

  3. Sağ tıklayın veya Dosyalar yanında bulunan "..." öğesini seçerek .tar.gz dosyanızı karşıya yükleyin.

    Dosyanızı lakehouse Files klasörüne yükleme işleminin ekran görüntüsü.

  4. Karşıya yükledikten sonra not defterinize geri dönün. Özel kitaplığı oturumunuza yüklemek için aşağıdaki komutu kullanın:

    install.packages("filepath/filename.tar.gz", repos = NULL, type = "source")
    

Yüklü kitaplıkları görüntüleme

library komutunu kullanarak oturumunuzda yüklü olan tüm kitaplıkları sorgula.

# query all the libraries installed in current session
library()

Kitaplığın sürümünü denetlemek için packageVersion işlevini kullanın:

# check the package version
packageVersion("caesar")

R paketini oturumdan kaldırma

bir kitaplığı ad alanından kaldırmak için detach işlevini kullanabilirsiniz. Bu kitaplıklar yeniden yüklenene kadar diskte kalır.

# detach a library

detach("package: caesar")

Not defterinden oturum kapsamında bir paketi kaldırmak için remove.packages() komutunu kullanın. Bu kitaplık değişikliği aynı kümedeki diğer oturumları etkilemez. Kullanıcılar varsayılan Microsoft Fabric çalışma zamanının yerleşik kitaplıklarını kaldıramaz veya silemez.

Not

SparkR, SparklyR veya R gibi temel paketleri kaldıramazsınız.

remove.packages("caesar")

Oturum kapsamlı R kitaplıkları ve SparkR

Not defteri kapsamlı kitaplıklar SparkR çalışanlarında kullanılabilir.

install.packages("stringr")
library(SparkR)

str_length_function <- function(x) {
  library(stringr)
  str_length(x)
}

docs <- c("Wow, I really like the new light sabers!",
               "That book was excellent.",
               "R is a fantastic language.",
               "The service in this restaurant was miserable.",
               "This is neither positive or negative.")

spark.lapply(docs, str_length_function)

Oturum bazlı R kitaplıkları ve 'sparklyr'

Sparklyr'da spark_apply() ile Spark içindeki tüm R paketlerini kullanabilirsiniz. Varsayılan olarak, sparklyr::spark_apply()içinde packages bağımsız değişkeni YANLIŞ olarak ayarlanır. Bu, geçerli libPath'lerdeki kitaplıkları çalışanlara kopyalayarak bunları içeri aktarmanıza ve çalışanlarda kullanmanıza olanak sağlar. Örneğin, sparklyr::spark_apply()ile sezar şifreli bir ileti oluşturmak için aşağıdakileri çalıştırabilirsiniz:

install.packages("caesar", repos = "https://cran.microsoft.com/snapshot/2021-07-16/")

spark_version <- sparkR.version()
config <- spark_config()
sc <- spark_connect(master = "yarn", version = spark_version, spark_home = "/opt/spark", config = config)

apply_cases <- function(x) {
  library(caesar)
  caesar("hello world")
}
sdf_len(sc, 5) %>%
  spark_apply(apply_cases, packages=FALSE)

R işlevleri hakkında daha fazla bilgi edinin: