Azure Databricks üzerinde RStudio

Azure Databricks çalışma alanlarındaki Azure Databricks işlem kaynaklarına bağlanmak için R için popüler bir tümleşik geliştirme ortamı (IDE) olan RStudio'yu kullanabilirsiniz. RStudio Desktop'ı kullanarak yerel geliştirme makinenizden bir Azure Databricks kümesine veya SQL ambarı'na bağlanın. Ayrıca web tarayıcınızı kullanarak Azure Databricks çalışma alanınızda oturum açabilir ve ardından bu çalışma alanında RStudio Server'ın yüklü olduğu bir Azure Databricks kümesine bağlanabilirsiniz.

RStudio Desktop kullanarak Bağlan

Yerel geliştirme makinenizden uzak bir Azure Databricks kümesine veya SQL ambarı'na bağlanmak için RStudio Desktop'ı kullanın. Bu senaryoda bağlanmak için bir ODBC bağlantısı kullanın ve bu bölümde açıklanan R için ODBC paket işlevlerini çağırın.

Not

Bu RStudio Desktop senaryosunda SparkR veya sparklyr gibi paketleri databricks Bağlan kullanmadığınız sürece kullanamazsınız. RStudio Desktop'ı kullanmaya alternatif olarak, web tarayıcınızı kullanarak Azure Databricks çalışma alanınızda oturum açabilir ve ardından bu çalışma alanında RStudio Server'ın yüklü olduğu bir Azure Databricks kümesine bağlanabilirsiniz.

Yerel geliştirme makinenizde RStudio Desktop'ı ayarlamak için:

  1. R 3.3.0 veya üzerini indirip yükleyin.
  2. RStudio Desktop'ı indirin ve yükleyin.
  3. RStudio Desktop'ı başlatın.

(İsteğe bağlı) RStudio projesi oluşturmak için:

  1. RStudio Desktop'ı başlatın.
  2. Yeni Proje Dosyala'ya > tıklayın.
  3. Yeni Dizin > Yeni Proje'yi seçin.
  4. Proje için yeni bir dizin seçin ve proje oluştur'a tıklayın.

R betiği oluşturmak için:

  1. Proje açıkken Dosya > Yeni Dosya > R Betiği'ne tıklayın.
  2. Dosya > Farklı Kaydet'e tıklayın.
  3. Dosyayı adlandırın ve Kaydet'e tıklayın.

R için ODBC aracılığıyla uzak Azure Databricks kümesine veya SQL ambarı'na bağlanmak için:

  1. Uzak kümeniz veya SQL ambarınız için Sunucu ana bilgisayar adı, Bağlantı Noktası ve HTTP yolu değerlerini alın. Bir küme için, bu değerler Gelişmiş seçeneklerin JDBC/ODBC sekmesindedir. SQL ambarı için bu değerler Bağlan ion ayrıntıları sekmesindedir.

  2. Azure Databricks kişisel erişim belirteci alın.

    Not

    En iyi güvenlik uygulaması olarak otomatik araçlar, sistemler, betikler ve uygulamalarla kimlik doğrulaması yaptığınızda Databricks, çalışma alanı kullanıcıları yerine hizmet sorumlularına ait kişisel erişim belirteçlerini kullanmanızı önerir. Hizmet sorumlularına yönelik belirteçler oluşturmak için bkz . Hizmet sorumlusu için belirteçleri yönetme.

  3. Yerel makinenizin işletim sistemine bağlı olarak Windows, macOS veya Linux için Databricks ODBC sürücüsünü yükleyin ve yapılandırın.

  4. Yerel makinenizin işletim sistemini temel alarak uzak kümenize veya Windows, macOS veya Linux için SQL ambarınıza ODBC Veri Kaynağı Adı (DSN) ayarlayın.

  5. RStudio konsolundan (Odağı Konsola Taşımayı Görüntüle>) CRAN'dan odbc ve DBI paketlerini yükleyin:

    require(devtools)
    
    install_version(
      package = "odbc",
      repos   = "http://cran.us.r-project.org"
    )
    
    install_version(
      package = "DBI",
      repos   = "http://cran.us.r-project.org"
    )
    
  6. R betiğinize geri dönün (Odağı Kaynağa Taşı seçeneğini görüntüleyin>), yüklü odbc ve DBI paketleri yükleyin:

    library(odbc)
    library(DBI)
    
  7. Paketteki db Bağlan işlevinin DBI ODBC sürümünü çağırınodbc; hem paketteki odbc sürücüyü hem de oluşturduğunuz ODBC DSN'sini (örneğin, bir ODBC DSN'siniDatabricks) belirtin.

    conn = dbConnect(
      drv = odbc(),
      dsn = "Databricks"
    )
    
  8. ODBC DSN aracılığıyla bir işlemi çağırın; örneğinSELECT, bağlantı değişkeninin adını ve SELECT deyiminin kendisini belirterek, örneğin adlı defaultbir şemada (veritabanında) adlı diamonds tablodan, paketteki dbGetQuery işlevi DBI aracılığıyla bir deyim çağırın:

    print(dbGetQuery(conn, "SELECT * FROM default.diamonds LIMIT 2"))
    

R betiğinin tamamı aşağıdaki gibidir:

library(odbc)
library(DBI)

conn = dbConnect(
  drv = odbc(),
  dsn = "Databricks"
)

print(dbGetQuery(conn, "SELECT * FROM default.diamonds LIMIT 2"))

Betiği çalıştırmak için kaynak görünümünde Kaynak'a tıklayın. Yukarıdaki R betiğinin sonuçları aşağıdaki gibidir:

  _c0 carat     cut color clarity depth table price    x    y    z
1   1  0.23   Ideal     E     SI2  61.5    55   326 3.95 3.98 2.43
2   2  0.21 Premium     E     SI1  59.8    61   326 3.89 3.84 2.31

RStudio Server kullanarak Bağlan

Web tarayıcınızı kullanarak Azure Databricks çalışma alanınızda oturum açın ve ardından bu çalışma alanında RStudio Server'ın yüklü olduğu bir Azure Databricks kümesine bağlanın.

Not

RStudio Server'a alternatif olarak, BIR ODBC bağlantısı aracılığıyla yerel geliştirme makinenizden bir Azure Databricks kümesine veya SQL ambarı'na bağlanmak ve R için ODBC paket işlevlerini çağırmak için RStudio Desktop'ı kullanabilirsiniz. Ayrıca Databricks Bağlan kullanmadığınız sürece RStudio Desktop senaryosunda SparkR veya sparklyr gibi paketleri kullanamazsınız.

RStudio Server için Azure Databricks'te Açık Kaynak Sürümü veya RStudio Workbench (eski adıyla RStudio Server Pro) sürümünü kullanabilirsiniz. RStudio Workbench / RStudio Server Pro kullanmak istiyorsanız, mevcut RStudio Workbench / RStudio Server Pro lisansınızı Azure Databricks'e aktarmanız gerekir (bkz . Kullanmaya başlama: RStudio Workbench).

Databricks, küme başlangıç sürelerini azaltmak için RStudio Server ile Azure Databricks kümelerinde Machine Learning için Databricks Runtime (Databricks Runtime ML) kullanmanızı önerir. Databricks Runtime ML, kaynak kodun GitHub'da bulunabileceği RStudio Server Açık Kaynak Sürümü paketinin değiştirilmemiş bir sürümünü içerir. Aşağıdaki tabloda, Şu anda Databricks Runtime ML sürümlerine önceden yüklenmiş olan RStudio Server Açık Kaynak Sürümü sürümü listelenmektedir.

ML Sürümü için Databricks Runtime RStudio Sunucu Sürümü
Databricks Runtime 7.3 LTS ML 1.2
Databricks Runtime 9.1 LTS ML ve 10.4 LTS ML 1.4

RStudio tümleştirme mimarisi

Azure Databricks'te RStudio Sunucusu kullandığınızda, RStudio Server Daemon bir Azure Databricks kümesinin sürücü düğümünde çalışır. RStudio web kullanıcı arabirimi Azure Databricks web uygulaması aracılığıyla kullanıma açıktır. Bu, küme ağ yapılandırmanızda herhangi bir değişiklik yapmanız gerekmediği anlamına gelir. Bu diyagramda RStudio tümleştirme bileşeni mimarisi gösterilmektedir.

Databricks üzerinde RStudio mimarisi

Uyarı

Azure Databricks, RStudio web hizmetini kümenin Spark sürücüsündeki 8787 numaralı bağlantı noktasından proxy'ler. Bu web proxy'si yalnızca RStudio ile kullanılmak üzere tasarlanmıştır. Bağlantı noktası 8787'de diğer web hizmetlerini başlatırsanız, kullanıcılarınızı olası güvenlik açıklarına maruz bırakabilirsiniz. Bir kümeye desteklenmeyen yazılımların yüklenmesinden kaynaklanan sorunlardan ne Databricks ne de Microsoft sorumludur.

Gereksinimler

  • Küme, çok amaçlı bir küme olmalıdır.

  • Bu küme için CAN ATTACH TO iznine sahip olmanız gerekir. Küme yöneticisi size bu izni verebilir. Bkz. İşlem izinleri.

  • Kümede tablo erişim denetimi, otomatik sonlandırma veya kimlik bilgisi geçişi etkinleştirilmemelidir.

  • Küme Paylaşılan erişim modunu kullanmamalıdır.

  • Kümede Spark yapılandırması spark.databricks.pyspark.enableProcessIsolation olarak ayarlanmamalıdırtrue.

  • Pro sürümünü kullanmak için RStudio Server kayan Pro lisansına sahip olmanız gerekir.

Not

Küme Unity Kataloğu'nu destekleyen bir erişim modu kullansa da, Unity Kataloğu'ndaki verilere erişmek için bu kümedeki RStudio Server'ı kullanamazsınız.

Başlarken: RStudio Server OS Edition

RStudio Server Açık Kaynak Sürümü, Machine Learning için Databricks Runtime (Databricks Runtime ML) kullanan Azure Databricks kümelerine önceden yüklenmiştir.

RStudio Server OS Edition'ı bir kümede açmak için aşağıdakileri yapın:

  1. Kümenin ayrıntılar sayfasını açın.

  2. Kümeyi başlatın ve ardından Uygulamalar sekmesine tıklayın:

    Küme Uygulamaları sekmesi

  3. Uygulamalar sekmesinde RStudio'yu ayarla düğmesine tıklayın. Bu, sizin için tek seferlik bir parola oluşturur. Göstermek için göster bağlantısına tıklayın ve parolayı kopyalayın.

    RStudio tek seferlik parola

  4. Kullanıcı arabirimini yeni bir sekmede açmak için RStudio'yu Aç bağlantısına tıklayın. Oturum açma formuna kullanıcı adınızı ve parolanızı girin ve oturum açın.

    RStudio oturum açma formu

  5. RStudio kullanıcı arabiriminden paketi içeri aktarabilir SparkR ve kümenizde Spark işlerini başlatmak için bir SparkR oturum ayarlayabilirsiniz.

    library(SparkR)
    
    sparkR.session()
    
    # Query the first two rows of a table named "diamonds" in a
    # schema (database) named "default" and display the query result.
    df <- SparkR::sql("SELECT * FROM default.diamonds LIMIT 2")
    showDF(df)
    

    RStudio Açık Kaynak Sürümü oturumu

  6. Sparklyr paketini de ekleyebilir ve bir Spark bağlantısı ayarlayabilirsiniz.

    library(sparklyr)
    
    sc <- spark_connect(method = "databricks")
    
    # Query a table named "diamonds" and display the first two rows.
    df <- spark_read_table(sc = sc, name = "diamonds")
    print(x = df, n = 2)
    

    RStudio Açık Kaynak Sürümü sparklyr bağlantısı

Başlarken: RStudio Workbench

Bu bölümde, Azure Databricks kümesinde RStudio Workbench'i (eski adıyla RStudio Server Pro) nasıl ayarlayıp kullanmaya başlayacağınız gösterilmektedir. Ad değişikliği hakkında SSS bölümüne bakın. Lisansınıza bağlı olarak RStudio Workbench, RStudio Server Pro'yu içerebilir.

RStudio lisans sunucusunu ayarlama

RStudio Workbench'i Azure Databricks'te kullanmak için Pro Lisansınızı kayan lisansa dönüştürmeniz gerekir. Yardım için adresine başvurun help@rstudio.com. Lisansınız dönüştürüldüğünde RStudio Workbench için bir lisans sunucusu ayarlamanız gerekir.

Lisans sunucusu ayarlamak için:

  1. Bulut sağlayıcısı ağınızda küçük bir örnek başlatın; lisans sunucusu daemon çok hafiftir.
  2. Örneğinize karşılık gelen RStudio Lisans Sunucusu sürümünü indirip yükleyin ve hizmeti başlatın. Ayrıntılı yönergeler için bkz. RStudio Workbench Yönetici Kılavuzu.
  3. Lisans sunucusu bağlantı noktasının Azure Databricks örneklerine açık olduğundan emin olun.

RStudio Workbench'i yükleme

Azure Databricks kümesinde RStudio Workbench'i ayarlamak için, RStudio Workbench ikili paketini yüklemek için bir init betiği oluşturmanız ve lisans kiralama için lisans sunucunuzu kullanacak şekilde yapılandırmanız gerekir.

Not

RStudio Workbench'i zaten RStudio Server Open Source Edition paketini içeren bir Databricks Runtime sürümüne yüklemeyi planlıyorsanız, yüklemenin başarılı olması için önce bu paketi kaldırmanız gerekir.

Aşağıda, giriş dizininizde çalışma alanı dosyası, Unity Kataloğu birimi veya nesne depolama alanı gibi bir konumda init betiği olarak depolayabileceğiniz örnek .sh bir dosya verilmiştir. Daha fazla bilgi için bkz . Küme kapsamlı başlatma betiklerini kullanma. Betik, Azure Databricks ile tümleştirmeyi kolaylaştıran ek kimlik doğrulama yapılandırmaları da gerçekleştirir.

Uyarı

DBFS'deki küme kapsamlı başlatma betikleri kullanım süresi sonu olur. Eski iş yüklerini desteklemek için bazı çalışma alanlarında init betiklerinin DBFS'de depolanması önerilmez. DBFS'de depolanan tüm başlatma betikleri geçirilmelidir. Geçiş yönergeleri için bkz . DBFS'den başlatma betiklerini geçirme.

#!/bin/bash

set -euxo pipefail

if [[ $DB_IS_DRIVER = "TRUE" ]]; then
  sudo apt-get update
  sudo dpkg --purge rstudio-server # in case open source version is installed.
  sudo apt-get install -y gdebi-core alien

  ## Installing RStudio Workbench
  cd /tmp

  # You can find new releases at https://rstudio.com/products/rstudio/download-commercial/debian-ubuntu/.
  wget https://download2.rstudio.org/server/bionic/amd64/rstudio-workbench-2022.02.1-461.pro1-amd64.deb -O rstudio-workbench.deb
  sudo gdebi -n rstudio-workbench.deb

  ## Configuring authentication
  sudo echo 'auth-proxy=1' >> /etc/rstudio/rserver.conf
  sudo echo 'auth-proxy-user-header-rewrite=^(.*)$ $1' >> /etc/rstudio/rserver.conf
  sudo echo 'auth-proxy-sign-in-url=<domain>/login.html' >> /etc/rstudio/rserver.conf
  sudo echo 'admin-enabled=1' >> /etc/rstudio/rserver.conf
  sudo echo 'export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' >> /etc/rstudio/rsession-profile

  # Enabling floating license
  sudo echo 'server-license-type=remote' >> /etc/rstudio/rserver.conf

  # Session configurations
  sudo echo 'session-rprofile-on-resume-default=1' >> /etc/rstudio/rsession.conf
  sudo echo 'allow-terminal-websockets=0' >> /etc/rstudio/rsession.conf

  sudo rstudio-server license-manager license-server <license-server-url>
  sudo rstudio-server restart || true
fi
  1. değerini Azure Databricks URL'nizle ve <license-server-url> kayan lisans sunucunuzun URL'si ile değiştirin<domain>.
  2. Bu .sh dosyayı giriş dizininizde çalışma alanı dosyası, Unity Kataloğu birimi veya nesne depolama alanı gibi bir konumda init betiği olarak depolayın. Daha fazla bilgi için bkz . Küme kapsamlı başlatma betiklerini kullanma.
  3. Kümeyi başlatmadan önce, bu .sh dosyayı ilişkili konumdan bir başlatma betiği olarak ekleyin. Yönergeler için bkz . Küme kapsamlı başlatma betiklerini kullanma.
  4. Kümeyi başlatın.

RStudio Server Pro kullanma

  1. Kümenin ayrıntılar sayfasını açın.

  2. Kümeyi başlatın ve Uygulamalar sekmesine tıklayın:

    Küme Uygulamaları sekmesi

  3. Uygulamalar sekmesinde RStudio'yu ayarla düğmesine tıklayın.

    RStudio tek seferlik parola

  4. Tek seferlik parolaya ihtiyacınız yoktur. RStudio Kullanıcı Arabirimini Aç bağlantısına tıkladığınızda sizin için kimliği doğrulanmış bir RStudio Pro oturumu açılır.

  5. RStudio kullanıcı arabiriminden paketi ekleyebilir SparkR ve kümenizde Spark işlerini başlatmak için bir SparkR oturum ayarlayabilirsiniz.

    library(SparkR)
    
    sparkR.session()
    
    # Query the first two rows of a table named "diamonds" in a
    # schema (database) named "default" and display the query result.
    df <- SparkR::sql("SELECT * FROM default.diamonds LIMIT 2")
    showDF(df)
    

    RStudio Pro oturumu

  6. Sparklyr paketini de ekleyebilir ve bir Spark bağlantısı ayarlayabilirsiniz.

    library(sparklyr)
    
    sc <- spark_connect(method = "databricks")
    
    # Query a table named "diamonds" and display the first two rows.
    df <- spark_read_table(sc = sc, name = "diamonds")
    print(x = df, n = 2)
    

    RStudio Pro sparklyr bağlantısı

RStudio Sunucusu hakkında SSS

RStudio Server Açık Kaynak Sürümü ile RStudio Workbench arasındaki fark nedir?

RStudio Workbench, Açık Kaynak Sürümünde bulunmayan çok çeşitli kurumsal özellikleri destekler. RStudio'nun web sitesinde özellik karşılaştırmasını görebilirsiniz.

Ayrıca RStudio Server Açık Kaynak Sürümü GNU Affero Genel Kamu Lisansı (AGPL) kapsamında dağıtılırken Pro sürümü AGPL yazılımını kullanamayacak kuruluşlar için ticari bir lisansla birlikte gelir.

Son olarak RStudio Workbench, RStudio, PBC'den profesyonel ve kurumsal destekle birlikte gelirken, RStudio Server Open Source Edition desteği yoktur.

Azure Databricks'te RStudio Workbench / RStudio Server Pro lisansımı kullanabilir miyim?

Evet, RStudio Server için zaten bir Pro veya Enterprise lisansınız varsa bu lisansı Azure Databricks'te kullanabilirsiniz. Azure Databricks'te RStudio Workbench'i ayarlamayı öğrenmek için bkz. Kullanmaya başlama: RStudio Workbench.

RStudio Server nerede çalışır? Ek hizmetleri/sunucuları yönetmem gerekiyor mu?

RStudio tümleştirme mimarisindeki diyagramda görebileceğiniz gibi, RStudio Server daemon'ı Azure Databricks kümenizin sürücü (ana) düğümünde çalışır. RStudio Server Açık Kaynak Sürümü ile ek sunucu/hizmet çalıştırmanız gerekmez. Ancak, RStudio Workbench için RStudio Lisans Sunucusu çalıştıran ayrı bir örneği yönetmeniz gerekir.

RStudio Server’ı standart bir kümede kullanabilir miyim?

Not

Bu makalede eski kümeler kullanıcı arabirimi açıklanmaktadır. Küme erişim modları için terminoloji değişiklikleri de dahil olmak üzere yeni küme kullanıcı arabirimi (önizlemede) hakkında bilgi için bkz . İşlem yapılandırması başvurusu. Yeni ve eski küme türlerinin karşılaştırması için bkz . Kümeler kullanıcı arabirimi değişiklikleri ve küme erişim modları.

Evet, sürdürebilirsiniz.

RStudio Sunucusu'nu otomatik sonlandırma ile bir kümede kullanabilir miyim?

Hayır, otomatik sonlandırma etkinleştirildiğinde RStudio'yu kullanamazsınız. Otomatik sonlandırma, bir RStudio oturumu içindeki kaydedilmemiş kullanıcı betiklerini ve verilerini temizleyebilir. Kullanıcıları bu istenmeyen veri kaybı senaryosuna karşı korumak için RStudio, bu tür kümelerde varsayılan olarak devre dışı bırakılır.

Kullanılmadığında küme kaynaklarının temizlenmesini gerektiren müşteriler için Databricks, RStudio kümelerini bir zamanlamaya göre temizlemek için küme API'lerini kullanmanızı önerir.

RStudio’da çalışmamı nasıl kalıcı hale getiririm?

RStudio'dan bir sürüm denetim sistemi kullanarak çalışmanızı devam ettirin. RStudio, çeşitli sürüm denetim sistemleri için harika bir desteğe sahiptir ve projelerinizi iade edip yönetmenizi sağlar. Kodunuzu aşağıdaki yöntemlerden biriyle kalıcı yapmazsanız, çalışma alanı yöneticisi kümeyi yeniden başlatır veya sonlandırırsa çalışmanızı kaybetme riskiyle karşı karşıya kalırsınız.

Yöntemlerden biri, dosyalarınızı (kod veya veriler) Databricks Dosya Sistemi (DBFS) nedir? üzerine kaydetmektir. Örneğin, dosyalar altındaki /dbfs/ bir dosyayı kaydederseniz kümeniz sonlandırıldığında veya yeniden başlatıldığında silinmez.

Bir diğer yöntem de R not defterini olarak Rmarkdowndışarı aktarıp daha sonra dosyayı RStudio örneğine aktararak yerel dosya sisteminize kaydetmektir. RMarkdown kullanarak R Not Defterlerini Paylaşma blogu, adımları daha ayrıntılı olarak açıklar.

Oturum Nasıl yaparım? başlatılamıyorSparkR?

SparkR Databricks Runtime'da bulunur, ancak RStudio'ya yüklemeniz gerekir. Oturumu başlatmak SparkR için RStudio içinde aşağıdaki kodu çalıştırın.

library(SparkR)

sparkR.session()

Paketi içeri aktarırken SparkR bir hata varsa komutunu çalıştırın .libPaths() ve sonucun içerdiğini /home/ubuntu/databricks/spark/R/lib doğrulayın.

Dahil değilse içeriğini /usr/lib/R/etc/Rprofile.sitedenetleyin. Paketin yüklü olduğunu doğrulamak için sürücüde SparkR listeleyin/home/ubuntu/databricks/spark/R/lib/SparkR.

Oturum Nasıl yaparım? başlatılamıyorsparklyr?

Paket sparklyr kümeye yüklenmelidir. Paketi yüklemek sparklyr için aşağıdaki yöntemlerden birini kullanın:

  • Azure Databricks kitaplığı olarak
  • install.packages() komut
  • RStudio paket yönetimi kullanıcı arabirimi
library(sparklyr)

sc <- spark_connect(method = “databricks”)

RStudio, Azure Databricks R not defterleriyle nasıl tümleşir?

Çalışmanızı sürüm denetimi aracılığıyla not defterleri ve RStudio arasında taşıyabilirsiniz.

Çalışma dizini nedir?

RStudio'da bir proje başlattığınızda bir çalışma dizini seçersiniz. Varsayılan olarak bu, RStudio Server'ın çalıştığı sürücü (ana) kapsayıcısının giriş dizinidir. İsterseniz bu dizini değiştirebilirsiniz.

Azure Databricks üzerinde çalışan RStudio'dan Shiny Apps'i başlatabilir miyim?

Evet, Databricks'te RStudio Server'da Parlak uygulamalar geliştirebilir ve görüntüleyebilirsiniz.

Azure Databricks'te RStudio içinde terminal veya git kullanamıyorum. Bunu nasıl düzeltebilirim?

Websockets'i devre dışı bırakmış olduğunuzdan emin olun. RStudio Server Açık Kaynak Sürümü'nde bunu kullanıcı arabiriminden yapabilirsiniz.

RStudio Oturumu

RStudio Server Pro'da, websockets'i tüm kullanıcılar için devre dışı bırakmak için öğesine ekleyebilirsiniz allow-terminal-websockets=0/etc/rstudio/rsession.conf .

Küme ayrıntıları altında Uygulamalar sekmesini görmüyorum.

Bu özellik tüm müşteriler tarafından kullanılamaz. Premium planda olmanız gerekir.