R kitaplığı 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:

  • Akış kitaplıkları, CRAN veya GitHub gibi genel kaynaklarda veya depolarda bulunanlara başvurur.

  • Ö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 çok not defteri veya işte yeniden kullanmak için bir ortam aracılığıyla kitaplıkları yönetin.

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

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

Kitaplık Türü Ortam yüklemesi Oturum düzeyinde yükleme
R Akışı (CRAN) Desteklenmiyor Desteklenir
R Özel Desteklenir Desteklenir

Önkoşullar

Oturum düzeyi R kitaplıkları

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ı 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 kitaplıkları oturumlar arasında kalıcı olmaz. Bu kitaplıklar, ilgili yükleme komutları yürütülürken her oturumun başında yüklenir.
  • Oturum kapsamlı R kitaplıkları hem sürücü hem de çalışan 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'dan kolayca 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

Kitaplık, devtools 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.

Kitaplığın yüklenecek belirli bir sürümünü belirtmek için kullanabilirsiniz devtools . 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 Microsoft Fabric'in içinde aşağıdaki devtools işlevler 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. Sol tarafta Ekle'yi seçerek mevcut bir göl evi ekleyin veya bir göl evi oluşturun.

    Not defterinize göl evi ekleme adımlarının ekran görüntüsü.

  2. Bu lakehouse'a dosya eklemek için çalışma alanınızı ve ardından göl evi'ni seçin.

    Dosya eklemek için lakehouse'unuza gitme ekran görüntüsü.

  3. Sağ tıklayın veya "..." öğesini seçin .tar.gz dosyanızı karşıya yüklemek için Dosyalar'ın yanında.

    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

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

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

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

# check the package version
packageVersion("caesar")

R paketini oturumdan kaldırma

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

# detach a library

detach("package: caesar")

Oturum kapsamlı bir paketi not defterinden kaldırmak için komutunu kullanın remove.packages() . 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 kaldıramaz.

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 kapsamlı R kitaplıkları ve sparklyr

Sparklyr spark_apply() ile Spark içindeki tüm R paketlerini kullanabilirsiniz. Varsayılan olarak, içinde sparklyr::spark_apply()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, ile sparklyr::spark_apply()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: