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:
- R 3.3.0 veya üzerini indirip yükleyin.
- RStudio Desktop'ı indirin ve yükleyin.
- RStudio Desktop'ı başlatın.
(İsteğe bağlı) RStudio projesi oluşturmak için:
- RStudio Desktop'ı başlatın.
- Yeni Proje Dosyala'ya > tıklayın.
- Yeni Dizin > Yeni Proje'yi seçin.
- Proje için yeni bir dizin seçin ve proje oluştur'a tıklayın.
R betiği oluşturmak için:
- Proje açıkken Dosya > Yeni Dosya > R Betiği'ne tıklayın.
- Dosya > Farklı Kaydet'e tıklayın.
- 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:
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.
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.
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.
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.
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" )
R betiğinize geri dönün (Odağı Kaynağa Taşı seçeneğini görüntüleyin>), yüklü
odbc
veDBI
paketleri yükleyin:library(odbc) library(DBI)
Paketteki db Bağlan işlevinin
DBI
ODBC sürümünü çağırınodbc
; hem pakettekiodbc
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" )
ODBC DSN aracılığıyla bir işlemi çağırın; örneğin
SELECT
, bağlantı değişkeninin adını veSELECT
deyiminin kendisini belirterek, örneğin adlıdefault
bir şemada (veritabanında) adlıdiamonds
tablodan, paketteki dbGetQuery işleviDBI
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.
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:
Kümenin ayrıntılar sayfasını açın.
Kümeyi başlatın ve ardından Uygulamalar sekmesine tıklayın:
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.
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 kullanıcı arabiriminden paketi içeri aktarabilir
SparkR
ve kümenizde Spark işlerini başlatmak için birSparkR
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)
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)
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:
- Bulut sağlayıcısı ağınızda küçük bir örnek başlatın; lisans sunucusu daemon çok hafiftir.
- Ö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.
- 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
- değerini Azure Databricks URL'nizle ve
<license-server-url>
kayan lisans sunucunuzun URL'si ile değiştirin<domain>
. - 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. - 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. - Kümeyi başlatın.
RStudio Server Pro kullanma
Kümenin ayrıntılar sayfasını açın.
Kümeyi başlatın ve Uygulamalar sekmesine tıklayın:
Uygulamalar sekmesinde RStudio'yu ayarla düğmesine tıklayın.
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.
RStudio kullanıcı arabiriminden paketi ekleyebilir
SparkR
ve kümenizde Spark işlerini başlatmak için birSparkR
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)
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 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 Rmarkdown
dış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.site
denetleyin. 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 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.