Aracılığıyla paylaş


R geliştiricileri için Azure Databricks

Bu bölümde, R dilini kullanarak Azure Databricks'te not defterleri ve işler geliştirmeye yönelik bir kılavuz sağlanır.

Kullanmaya başlamak için temel bir iş akışı:

  1. Kodu içeri aktarma: Dosyalardan veya Git depolarından kendi kodunuzu içeri aktarın veya aşağıda listelenen bir öğreticiyi deneyin. Databricks, etkileşimli Azure Databricks not defterlerini kullanmayı öğrenmenizi önerir.
  2. Kodunuzu bir kümede çalıştırma: Kendi kümenizi oluşturun veya paylaşılan küme kullanma izinlerinizin olduğundan emin olun. Not defterinizi kümeye ekleyin ve not defterini çalıştırın.

Bunun ötesinde, daha belirli konulara dallayabilirsiniz:

Öğreticiler

Aşağıdaki öğreticiler, yaygın iş akışları hakkında bilgi edinmek için örnek kod ve not defterleri sağlar. Not defteri örneklerini çalışma alanınıza aktarma yönergeleri için bkz. Not defterini içeri aktarma.

Başvuru

Aşağıdaki alt bölümler, Azure Databricks'te R ile geliştirmeye başlamanıza yardımcı olacak temel özellikleri ve ipuçlarını listeler.

Azure Databricks, Apache Spark'a R arabirimi sağlayan iki API'yi destekler: SparkR ve sparklyr.

SparkR

Bu makaleler SparkR için bir giriş ve başvuru sağlar. SparkR, dağıtılmış bir veri çerçevesi uygulaması sağlayan Apache Spark'a yönelik bir R arabirimidir. SparkR, büyük veri kümelerinde seçim, filtreleme ve toplama (R veri çerçevelerine benzer) gibi işlemleri destekler.

sparklyr

Bu makalede sparklyr'a giriş bilgileri sağlanmaktadır. sparklyr, Apache Spark için dplyr, ve DBI'ye benzer işlevler sağlayan bir R arabirimidir.broom

SparkR ve sparklyr karşılaştırması

Bu makalede SparkR ile sparklyr arasındaki temel benzerlikler ve farklar açıklanmaktadır.

SparkR ve sparklyr ile DataFrame'lerle ve tablolarla çalışma

Bu makalede Azure Databricks'te R data.frames, Spark DataFrames ve Spark tablolarıyla çalışmak için R, SparkR, sparklyr ve dplyr'nin nasıl kullanılacağı açıklanmaktadır.

Not defterleri ve Databricks Git klasörleriyle kodu yönetme

Azure Databricks not defterleri R'i destekler. Bu not defterleri Jupyter'ınkine benzer işlevler sağlar, ancak büyük veri kullanan yerleşik görselleştirmeler, hata ayıklama ve performans izleme için Apache Spark tümleştirmeleri ve makine öğrenmesi denemelerini izlemeye yönelik MLflow tümleştirmeleri gibi eklemeler sağlar. Not defterini içeri aktararak başlayın. Bir kümeye erişiminiz olduğunda, kümeye bir not defteri ekleyebilir ve not defterini çalıştırabilirsiniz.

Azure Databricks Git klasörleri , kullanıcıların not defterlerini ve diğer dosyaları Git depolarıyla eşitlemesine olanak tanır. Azure Databricks Git klasörleri kod sürümü oluşturma ve işbirliği konusunda yardımcı olur ve kodun tam deposunu Azure Databricks'e aktarmayı, geçmiş not defteri sürümlerini görüntülemeyi ve IDE geliştirmeyle tümleştirmeyi basitleştirebilir. Uzak git deposunu kopyalayarak başlayın. Daha sonra depo kopyasıyla not defterlerini açabilir veya oluşturabilir, not defterini bir kümeye ekleyebilir ve not defterini çalıştırabilirsiniz.

Kümeler

Azure Databricks işlem, hem tek düğümler hem de büyük kümeler için işlem yönetimi sağlar. Küme donanımlarını ve kitaplıklarını gereksinimlerinize göre özelleştirebilirsiniz. Veri bilimciler genellikle bir küme oluşturarak veya mevcut paylaşılan kümeyi kullanarak çalışmaya başlar. Bir kümeye erişiminiz olduğunda, kümeye bir not defteri ekleyebilir veya kümede bir iş çalıştırabilirsiniz.

  • Yalnızca tek düğüm gerektiren küçük iş yükleri için veri bilimciler maliyet tasarrufu için tek düğüm işlem kullanabilir.
  • Ayrıntılı ipuçları için bkz . İşlem yapılandırma önerileri.
  • Yöneticiler, küme oluşturmayı basitleştirmek ve yönlendirmek için küme ilkeleri ayarlayabilir.

Tek düğümlü R ve dağıtılmış R

Azure Databricks kümeleri bir Apache Spark sürücü düğümünden ve sıfır veya daha fazla Spark çalışanı (yürütücü olarak da bilinir) düğümünden oluşur. Sürücü düğümü ekli not defteri durumunu korur, öğesini korur SparkContext, not defteri ve kitaplık komutlarını yorumlar ve Spark yürütücüleriyle eşgüdümlü Spark ana dosyasını çalıştırır. Çalışan düğümleri, çalışan düğümü başına bir Spark yürütücüsü olan Spark yürütücülerini çalıştırır.

Tek düğümlü kümede bir sürücü düğümü vardır ve çalışan düğümü yoktur. Spark, Azure Databricks tarafından yönetilen tablolara erişimi desteklemek için yerel modda çalışır. Tek düğümlü kümeler RStudio, not defterleri ve kitaplıkları destekler ve büyük veri veya paralel işleme için Spark'a bağımlı olmayan R projeleri için kullanışlıdır. Bkz. Tek düğümlü veya çok düğümlü işlem.

R'nin işlemekte zorlanan veri boyutları (çok gigabayt veya petabayt) için bunun yerine birden çok düğümlü veya dağıtılmış kümeler kullanmanız gerekir. Dağıtılmış kümelerin bir sürücü düğümü ve bir veya daha fazla çalışan düğümü vardır. Dağıtılmış kümeler yalnızca RStudio, not defterleri ve kitaplıkları değil, sparkr ve sparkly gibi, aracılığıyla SparkContextdağıtılmış kümeleri kullanmak üzere benzersiz olarak tasarlanmış R paketlerini destekler. Bu paketler, çalışan düğümleri arasında çeşitli Spark görevlerini ve komutlarını paralel olarak atamayı ve çalıştırmayı sağlayan tanıdık SQL ve DataFrame API'leri sağlar. Sparklyr ve SparkR hakkında daha fazla bilgi edinmek için bkz . SparkR ve sparklyr karşılaştırması.

Çalışan düğümleri arasında ilgili çalışmaların dağıtılmasından özellikle yararlanan bazı SparkR ve sparklyr işlevleri şunlardır:

  • sparklyr::spark_apply: Küme içinde uygun ölçekte rastgele R kodu çalıştırır. Bu, özellikle yalnızca R'de veya Apache Spark'ta veya diğer Spark paketlerinde bulunmayan R paketlerinde kullanılabilen işlevleri kullanmak için kullanışlıdır.
  • SparkR::d apply: Belirtilen işlevi bir SparkDataFrameöğesinin her bölümüne uygular.
  • SparkR::d applyCollect: Belirtilen işlevi bir SparkDataFrame öğesinin her bölümüne uygular ve sonuçları R'ye olarak data.framegeri toplar.
  • SparkR::gapply: Belirtilen sütunları kullanarak a'yi SparkDataFrame gruplandırır ve belirtilen R işlevini her gruba uygular.
  • SparkR::gapplyCollect: Belirtilen sütunları kullanarak a'yı SparkDataFrame gruplandırır, belirtilen R işlevini her gruba uygular ve sonucu R'ye olarak data.framegeri toplar.
  • SparkR::spark.lapply: Belirtilen işlevi bir öğe listesi üzerinde çalıştırarak hesaplamaları Spark ile dağıtır.

Örnekler için bkz. Spark'ta Dağıtılmış R: Kullanıcı Tanımlı İşlevler not defteri.

Databricks Container Services

Databricks Container Services , küme oluşturduğunuzda bir Docker görüntüsü belirtmenize olanak tanır. Databricks, R desteğine sahip bir Databricks Container Services kümesini başlatmak için örnek olarak Docker Hub'da databricksruntime/rbase temel görüntüsünü sağlar. Ayrıca bu temel görüntüyü oluşturmak için kullanılan Dockerfile dosyasına da bakın.

Kitaplıklar

Azure Databricks kümeleri, Apache Spark, Delta Lake ve daha birçok popüler kitaplık sağlayan Databricks Runtime'ı kullanır. Ayrıca, not defterleri ve işlerle kullanmak üzere kitaplıklara ek üçüncü taraf veya özel R paketleri de yükleyebilirsiniz.

Databricks Runtime sürüm notları sürümleri ve uyumluluğundaki varsayılan kitaplıklarla başlayın. Makine öğrenmesi iş yükleri için Machine Learning için Databricks Runtime'ı kullanın. Önceden yüklenmiş kitaplıkların tam listeleri için Databricks Runtime sürüm notları sürümleri ve uyumluluğunda hedef Databricks Runtime için "Yüklü R kitaplıkları" bölümüne bakın.

CraN veya diğer depolardaki kitaplıklarla not defterinizi veya iş ortamınızı değiştirmenizi sağlayan Not Defteri kapsamlı R kitaplıklarını kullanarak ortamınızı özelleştirebilirsiniz. Bunu yapmak için, içinden tanıdık install.packages işlevini utilskullanabilirsiniz. Aşağıdaki örnek, varsayılan CRAN deposundan Arrow R paketini yükler:

install.packages("arrow")

Databricks Runtime'da bulunandan daha eski bir sürüme ihtiyacınız varsa, install_version işlevini devtoolsçalıştırmak için bir not defteri kullanabilirsiniz. Aşağıdaki örnek CRAN'den dplyr sürüm 0.7.4'ü yükler:

require(devtools)

install_version(
  package = "dplyr",
  version = "0.7.4",
  repos   = "http://cran.r-project.org"
)

Bu şekilde yüklenen paketler bir kümede kullanılabilir. Bunların kapsamı, bunları yükleyen kullanıcı olarak belirlenmiştir. Bu, paket çakışmaları oluşturmadan aynı paketin birden çok sürümünü aynı işlem üzerine yüklemenize olanak tanır.

Gerekirse diğer kitaplıkları Küme kitaplıkları olarak yükleyebilirsiniz, örneğin CRAN'dan. Bunu yapmak için küme kullanıcı arabiriminde Kitaplıklar > Yeni > CRAN yükle'ye tıklayın ve kitaplığın adını belirtin. Bu yaklaşım özellikle SparkR veya sparklyr ile kullanıcı tanımlı işlevleri çağırmak istediğinizde önemlidir.

Diğer ayrıntılar için bkz . Kitaplıklar.

Bir kitaplığa özel paket yüklemek için:

  1. Özel paketinizi komut satırından veya RStudio kullanarak oluşturun.

  2. Özel paket dosyasını geliştirme makinenizden Azure Databricks çalışma alanınıza kopyalayın. Seçenekler için bkz . Kitaplıklar.

  3. komutunu çalıştırarak install.packagesözel paketi bir kitaplığa yükleyin.

    Örneğin, çalışma alanınızdaki bir not defterinden:

    install.packages(
      pkgs  = "/path/to/tar/file/<custom-package>.tar.gz",
      type  = "source",
      repos = NULL
    )
    

    Veya:

    %sh
    R CMD INSTALL /path/to/tar/file/<custom-package>.tar.gz
    

Bir kitaplığa özel paket yükledikten sonra, kitaplığı arama yoluna ekleyin ve ardından kitaplığı tek bir komutla yükleyin.

Örneğin:

# Add the library to the search path one time.
.libPaths(c("/path/to/tar/file/", .libPaths()))

# Load the library. You do not need to add the library to the search path again.
library(<custom-package>)

Özel paketi kümedeki her düğüme kitaplık olarak yüklemek için Başlatma betikleri nedir? kullanmanız gerekir.

Görselleştirmeler

Azure Databricks R not defterleri işlevini kullanarak display çeşitli görselleştirme türlerini destekler.

İşler

R iş yüklerini Azure Databricks'te zamanlanmış veya tetiklenen not defteri işi olarak otomatikleştirebilirsiniz.

  • Kullanıcı arabirimi aracılığıyla iş oluşturma hakkında ayrıntılı bilgi için bkz . Databricks İşleri'ni yapılandırma ve düzenleme.
  • İşler API'si işleri oluşturmanıza, düzenlemenize ve silmenize olanak tanır.
  • Databricks CLI, İşler API'sini çağırmak için kullanışlı bir komut satırı arabirimi sağlar.

Makine öğrenimi

Databricks, tablosal verilerde geleneksel ML, görüntü işleme ve doğal dil işleme için derin öğrenme, öneri sistemleri, graf analizi ve daha fazlası dahil olmak üzere çok çeşitli makine öğrenmesi (ML) iş yüklerini destekler. Azure Databricks'te makine öğrenmesi hakkında genel bilgi için bkz . Machine Learning için Databricks Runtime.

ML algoritmaları için, Machine Learning için Databricks Runtime'da önceden yüklenmiş kitaplıkları kullanabilirsiniz. Özel kitaplıkları da yükleyebilirsiniz.

Makine öğrenmesi işlemleri (MLOps) için Azure Databricks, açık kaynak kitaplığı MLflow için yönetilen bir hizmet sağlar. MLflow İzleme ile model geliştirmeyi kaydedebilir ve modelleri yeniden kullanılabilir biçimlerde kaydedebilirsiniz. Modellerin üretime yükseltilmesini yönetmek ve otomatikleştirmek için MLflow Model Kayıt Defteri'ni kullanabilirsiniz. İşler ve Model Sunma, modelleri toplu iş olarak ve akış işlerini REST uç noktaları olarak barındırmaya olanak tanır. Daha fazla bilgi ve örnek için bkz . MLflow kullanarak ML yaşam döngüsü yönetimi veya MLflow R API belgeleri.

R geliştirici araçları

Azure Databricks not defterlerine ek olarak aşağıdaki R geliştirici araçlarını da kullanabilirsiniz:

R oturumu özelleştirme

Databricks Runtime 12.2 LTS ve üzerinde, site genelinde profil (.Rprofile) dosyaları kullanılarak R oturumları özelleştirilebilir. R not defterleri, başlatma sırasında dosyayı R kodu olarak kaynağı oluşturur. Dosyayı değiştirmek için değerini R_HOME bulun ve değiştirin $R_HOME/etc/Rprofile.site. Databricks'in, Azure Databricks'te barındırılan RStudio için düzgün işlevsellik sağlamak için dosyaya yapılandırma eklediğini unutmayın. Herhangi bir öğesinin kaldırılması RStudio'nun beklendiği gibi çalışmamasına neden olabilir.

Databricks Runtime 11.3 LTS ve altında, ortam değişkeni DATABRICKS_ENABLE_RPROFILE=trueayarlanarak bu davranış etkinleştirilebilir.

Ek kaynaklar