RStudio v Azure Databricks

K připojení k výpočetním prostředkům Azure Databricks v pracovních prostorech Azure Databricks můžete použít RStudio, oblíbené integrované vývojové prostředí (IDE) pro jazyk R. Pomocí RStudio Desktopu se připojte ke clusteru Azure Databricks nebo SQL Warehouse z místního vývojového počítače. K přihlášení k pracovnímu prostoru Azure Databricks a následnému připojení ke clusteru Azure Databricks s nainstalovaným RStudio Serverem v rámci daného pracovního prostoru můžete použít také webový prohlížeč.

Připojení pomocí RStudio Desktopu

Pomocí RStudio Desktopu se připojte ke vzdálenému clusteru Azure Databricks nebo SQL Warehouse z místního vývojového počítače. Chcete-li se připojit v tomto scénáři, použijte připojení ODBC a volání funkcí balíčku ODBC pro jazyk R, které jsou popsány v této části.

Poznámka:

V tomto scénáři RStudio Desktopu nemůžete používat balíčky, jako je SparkR nebo sparklyr, pokud nepoužíváte ani Databricks Připojení. Jako alternativu k používání RStudio Desktopu se můžete pomocí webového prohlížeče přihlásit k pracovnímu prostoru Azure Databricks a pak se připojit ke clusteru Azure Databricks s nainstalovaným RStudio Serverem v daném pracovním prostoru.

Nastavení RStudio Desktopu na místním vývojovém počítači:

  1. Stáhněte a nainstalujte R 3.3.0 nebo vyšší.
  2. Stáhněte a nainstalujte RStudio Desktop.
  3. Spusťte RStudio Desktop.

(Volitelné) Vytvoření projektu RStudio:

  1. Spusťte RStudio Desktop.
  2. Klikněte na Soubor > nový projekt.
  3. Vyberte Nový projekt Nový adresář>.
  4. Zvolte nový adresář projektu a potom klikněte na Vytvořit projekt.

Vytvoření skriptu jazyka R:

  1. Po otevření projektu klikněte na Souborový > nový > skript R.
  2. Klikněte na Soubor > Uložit jako.
  3. Pojmenujte soubor a klepněte na tlačítko Uložit.

Připojení ke vzdálenému clusteru Azure Databricks nebo SQL Warehouse prostřednictvím rozhraní ODBC pro R:

  1. Získejte hodnoty názvu hostitele serveru, portu a cesty HTTP pro vzdálený cluster nebo SQL Warehouse. V případě clusteru jsou tyto hodnoty na kartě JDBC/ODBC v rozšířených možnostech. V případě SQL Warehouse jsou tyto hodnoty na kartě podrobností Připojení ionu.

  2. Získejte osobní přístupový token Azure Databricks.

    Poznámka:

    Osvědčeným postupem při ověřování pomocí automatizovaných nástrojů, systémů, skriptů a aplikací doporučuje Databricks místo uživatelů pracovního prostoru používat tokeny patního přístupu, které patří instančním objektům . Pokud chcete vytvořit tokeny pro instanční objekty, přečtěte si téma Správa tokenů instančního objektu.

  3. Nainstalujte a nakonfigurujte ovladač ODBC Databricks pro Windows, macOS nebo Linux na základě operačního systému místního počítače.

  4. Nastavte název zdroje dat ODBC (DSN) pro vzdálený cluster nebo SQL Warehouse pro Windows, macOS nebo Linux na základě operačního systému místního počítače.

  5. Z konzoly RStudio (zobrazení > Přesunout fokus do konzoly) nainstalujte balíčky ODBC a DBI z CRAN:

    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. Zpátky ve skriptu R (Zobrazení > přesunout fokus na zdroj) načtěte nainstalované odbc a DBI balíčky:

    library(odbc)
    library(DBI)
    
  7. Volání verze ODBC databáze Připojení funkce v DBI balíčku, určení odbc ovladače v odbc balíčku a rozhraní ODBC DSN, který jste vytvořili, například ROZHRANÍ ODBC DSN Databricks.

    conn = dbConnect(
      drv = odbc(),
      dsn = "Databricks"
    )
    
  8. Volání operace prostřednictvím dsN ODBC, například SELECT příkaz prostřednictvím dbGetQuery funkce v DBI balíčku, určení názvu připojovací proměnné a SELECT samotného příkazu, například z tabulky pojmenované diamonds ve schématu (databázi):default

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

Kompletní skript jazyka R je následující:

library(odbc)
library(DBI)

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

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

Skript spustíte tak, že ve zdrojovém zobrazení kliknete na Zdroj. Výsledky pro předchozí skript jazyka R jsou následující:

  _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

Připojení pomocí RStudio Serveru

Pomocí webového prohlížeče se přihlaste k pracovnímu prostoru Azure Databricks a pak se připojte ke clusteru Azure Databricks s nainstalovaným RStudio Serverem v rámci daného pracovního prostoru.

Poznámka:

Jako alternativu k RStudio Serveru můžete použít RStudio Desktop pro připojení ke clusteru Azure Databricks nebo SQL Warehouse z místního vývojového počítače prostřednictvím připojení ODBC a volat funkce balíčků ODBC pro R. Balíčky, jako je SparkR nebo sparklyr, nemůžete použít ve scénáři RStudio Desktopu, pokud nepoužíváte také Databricks Připojení.

Pro RStudio Server můžete v Azure Databricks použít edici Open Source Edition nebo RStudio Workbench (dříve RStudio Server Pro). Pokud chcete použít RStudio Workbench / RStudio Server Pro, musíte přenést stávající licenci RStudio Workbench / RStudio Server Pro do Azure Databricks (viz Začínáme: RStudio Workbench).

Databricks doporučuje používat Databricks Runtime pro machine Učení (Databricks Runtime ML) v clusterech Azure Databricks s RStudio Serverem, abyste zkrátili dobu spuštění clusteru. Databricks Runtime ML obsahuje nezměněnou verzi balíčku RStudio Server Open Source Edition, pro kterou se zdrojový kód nachází na GitHubu. Následující tabulka uvádí verzi RStudio Server Open Source Edition, která je aktuálně předinstalovaná ve verzích ML databricks Runtime.

Databricks Runtime pro verzi ML Verze RStudio Serveru
Databricks Runtime 9.1 LTS ML a 10.4 LTS ML 1.4

Architektura integrace RStudio

Pokud používáte RStudio Server v Azure Databricks, proces démon RStudio Serveru běží na uzlu ovladače clusteru Azure Databricks. Webové uživatelské rozhraní RStudio se proxiuje prostřednictvím webové aplikace Azure Databricks, což znamená, že nemusíte provádět žádné změny konfigurace sítě clusteru. Tento diagram znázorňuje architekturu komponent integrace RStudio.

Architektura RStudio v Databricks

Upozorňující

Proxy azure Databricks webovou službu RStudio z portu 8787 na ovladači Spark clusteru. Tento webový proxy server je určený jenom pro RStudio. Pokud na portu 8787 spustíte jiné webové služby, můžete své uživatele vystavit potenciálním zneužitím zabezpečení. Databricks ani Microsoft nejsou zodpovědné za všechny problémy, které vyplývají z instalace nepodporovaného softwaru v clusteru.

Požadavky

  • Cluster musí být cluster pro všechny účely.

  • Musíte mít oprávnění PŘIPOJIT K danému clusteru. Správce clusteru vám může toto oprávnění udělit. Viz Oprávnění Compute.

  • Cluster nesmí mít povolené řízení přístupu k tabulce, automatické ukončení ani předávání přihlašovacích údajů.

  • Cluster nesmí používat režim sdílenéhopřístupu.

  • Cluster nesmí mít nakonfigurovanou konfiguraci spark.databricks.pyspark.enableProcessIsolation Sparku nastavenou na true.

  • Abyste mohli používat edici Pro, musíte mít plovoucí licenci RStudio Serveru Pro.

Poznámka:

I když cluster může používat režim přístupu, který podporuje katalog Unity, nemůžete použít RStudio Server z daného clusteru pro přístup k datům v katalogu Unity.

Začínáme: RStudio Server OS Edition

RStudio Server Open Source Edition je předinstalovaný v clusterech Azure Databricks, které používají Databricks Runtime pro machine Učení (Databricks Runtime ML).

Pokud chcete otevřít RStudio Server OS Edition v clusteru, postupujte takto:

  1. Otevřete stránku podrobností clusteru.

  2. Spusťte cluster a klikněte na kartu Aplikace :

    Karta Aplikace clusteru

  3. Na kartě Aplikace klikněte na tlačítko Nastavit RStudio. Tím se pro vás vygeneruje jednorázové heslo. Kliknutím na odkaz zobrazit ho zobrazte a zkopírujte heslo.

    Jednorázové heslo RStudio

  4. Kliknutím na odkaz Otevřít RStudio otevřete uživatelské rozhraní na nové kartě. Zadejte uživatelské jméno a heslo do přihlašovacího formuláře a přihlaste se.

    Přihlašovací formulář RStudio

  5. V uživatelském rozhraní RStudio můžete balíček importovat SparkR a nastavit SparkR relaci pro spouštění úloh Sparku v clusteru.

    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)
    

    Relace RStudio Open Source Edition

  6. Balíček sparklyr můžete také připojit a nastavit připojení Sparku.

    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)
    

    Připojení RStudio Open Source Edition sparklyr

Začínáme: RStudio Workbench

V této části se dozvíte, jak nastavit a začít používat RStudio Workbench (dříve RStudio Server Pro) v clusteru Azure Databricks. Přečtěte si nejčastější dotazy ke změně názvu. V závislosti na vaší licenci může RStudio Workbench obsahovat RStudio Server Pro.

Nastavení licenčního serveru RStudio

Pokud chcete používat aplikaci RStudio Workbench v Azure Databricks, musíte převést licenci Pro na plovoucí licenci. Pokud potřebujete pomoc, obraťte help@rstudio.comse na . Při převodu licence musíte nastavit licenční server pro aplikaci RStudio Workbench.

Nastavení licenčního serveru:

  1. Spuštění malé instance v síti poskytovatele cloudu; proces démon licenčního serveru je velmi jednoduchý.
  2. Stáhněte a nainstalujte odpovídající verzi licenčního serveru RStudio do vaší instance a spusťte službu. Podrobné pokyny najdete v průvodci Správa aplikace RStudio Workbench.
  3. Ujistěte se, že je port licenčního serveru otevřený pro instance Azure Databricks.

Instalace aplikace RStudio Workbench

Pokud chcete nastavit RStudio Workbench v clusteru Azure Databricks, musíte vytvořit inicializační skript pro instalaci binárního balíčku RStudio Workbench a nakonfigurovat ho tak, aby používal váš licenční server pro zapůjčení licencí.

Poznámka:

Pokud plánujete nainstalovat aplikaci RStudio Workbench na verzi Databricks Runtime, která už obsahuje balíček RStudio Server Open Source Edition, je nutné nejprve odinstalovat tento balíček, aby instalace byla úspěšná.

Následuje příklad .sh souboru, který můžete uložit jako inicializační skript do umístění, jako je například v domovském adresáři jako soubor pracovního prostoru, ve svazku katalogu Unity nebo v úložišti objektů. Další informace naleznete v tématu Použití inicializačních skriptů v oboru clusteru. Skript také provádí další konfigurace ověřování, které zjednodušují integraci s Azure Databricks.

Upozorňující

Inicializační skripty s oborem clusteru v DBFS jsou koncové. Ukládání inicializačních skriptů v DBFS existuje v některých pracovních prostorech pro podporu starších úloh a nedoporučuje se. Všechny inicializační skripty uložené v DBFS by se měly migrovat. Pokyny k migraci najdete v tématu Migrace inicializačních skriptů z DBFS.

#!/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. Nahraďte <domain> adresou URL služby Azure Databricks a <license-server-url> adresou URL vašeho plovoucího licenčního serveru.
  2. Uložte tento .sh soubor jako inicializační skript do umístění, jako je například soubor pracovního prostoru, ve svazku katalogu Unity nebo v úložišti objektů. Další informace naleznete v tématu Použití inicializačních skriptů v oboru clusteru.
  3. Před spuštěním clusteru přidejte tento .sh soubor jako inicializační skript z přidruženého umístění. Pokyny najdete v tématu Použití inicializačních skriptů s oborem clusteru.
  4. Spusťte cluster.

Použití RStudio Serveru Pro

  1. Otevřete stránku podrobností clusteru.

  2. Spusťte cluster a klikněte na kartu Aplikace :

    Karta Aplikace clusteru

  3. Na kartě Aplikace klikněte na tlačítko Nastavit RStudio.

    Jednorázové heslo RStudio

  4. Jednorázové heslo nepotřebujete. Klikněte na odkaz Otevřít uživatelské rozhraní RStudio a otevře se vám ověřená relace RStudio Pro.

  5. V uživatelském rozhraní RStudio můžete balíček připojit SparkR a nastavit SparkR relaci pro spouštění úloh Sparku v clusteru.

    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)
    

    Relace RStudio Pro

  6. Balíček sparklyr můžete také připojit a nastavit připojení Sparku.

    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)
    

    Připojení RStudio Pro sparklyr

Nejčastější dotazy k RStudio Serveru

Jaký je rozdíl mezi RStudio Server Open Source Edition a RStudio Workbench?

RStudio Workbench podporuje širokou škálu podnikových funkcí, které nejsou dostupné v edici Open Source. Porovnání funkcí můžete zobrazit na webu RStudio.

Kromě toho se RStudio Server Open Source Edition distribuuje v rámci GNU Affero General Public License (AGPL), zatímco verze Pro je dodávána s komerční licencí pro organizace, které nemůžou používat software AGPL.

A konečně, RStudio Workbench se dodává s profesionální a podnikovou podporou od RStudio, PBC, zatímco RStudio Server Open Source Edition se dodává bez podpory.

Můžu v Azure Databricks používat licenci RStudio Workbench / RStudio Server Pro?

Ano, pokud už máte licenci Pro nebo Enterprise pro RStudio Server, můžete tuto licenci použít v Azure Databricks. Viz Začínáme : RStudio Workbench a zjistěte, jak nastavit aplikaci RStudio Workbench v Azure Databricks.

Kde běží RStudio Server? Musím spravovat další služby nebo servery?

Jak vidíte v diagramu v architektuře integrace RStudio, proces démon RStudio Serveru běží na hlavním uzlu ovladače vašeho clusteru Azure Databricks. S RStudio Server Open Source Edition nemusíte spouštět žádné další servery nebo služby. Pro aplikaci RStudio Workbench však musíte spravovat samostatnou instanci, na které běží licenční server RStudio.

Můžu RStudio Server používat ve standardním clusteru?

Poznámka:

Tento článek popisuje starší uživatelské rozhraní clusterů. Informace o novém uživatelském rozhraní clusterů (ve verzi Preview) včetně změn terminologie pro režimy přístupu ke clusteru najdete v referenčních informacích ke konfiguraci výpočetních prostředků. Porovnání nových a starších typů clusterů najdete v tématu Změny uživatelského rozhraní clusterů a režimy přístupu ke clusteru.

Ano, můžete.

Můžu v clusteru s automatickým ukončením používat RStudio Server?

Ne, RStudio nemůžete použít, pokud je povolené automatické ukončení. Automatické ukončení může vyprázdnit neuložené uživatelské skripty a data v relaci RStudio. Pokud chcete chránit uživatele před tímto nezamýšleným scénářem ztráty dat, je RStudio ve výchozím nastavení v takových clusterech zakázaný.

Zákazníkům, kteří vyžadují vyčištění prostředků clusteru, když se nepoužívají, doporučuje Databricks používat rozhraní API clusteru k vyčištění clusterů RStudio podle plánu.

Jak mám v aplikaci RStudio zachovat svou práci?

Důrazně doporučujeme zachovat svoji práci pomocí systému správy verzí z RStudio. RStudio má skvělou podporu pro různé systémy správy verzí a umožňuje vám vrátit se změnami a spravovat projekty. Pokud kód neuchováte některou z následujících metod, riskujete ztrátu práce, pokud správce pracovního prostoru cluster restartuje nebo ukončí cluster.

Jednou z metod je uložení souborů (kódu nebo dat) do systému souborů Databricks (DBFS)?. Pokud například uložíte soubor pod /dbfs/ soubory, po ukončení nebo restartování clusteru se neodstraní.

Další metodou je uložení poznámkového bloku R do místního systému souborů jeho exportem jako Rmarkdowna následným importem souboru do instance RStudio. Blog Sdílení poznámkových bloků R pomocí RMarkdownu popisuje kroky podrobněji.

Návody zahájit SparkR relaci?

SparkR je obsažen v Databricks Runtime, ale musíte ho načíst do RStudio. Spuštěním následujícího kódu uvnitř RStudio inicializujete SparkR relaci.

library(SparkR)

sparkR.session()

Pokud při importu SparkR balíčku dojde k chybě, spusťte .libPaths() a ověřte, že /home/ubuntu/databricks/spark/R/lib je součástí výsledku.

Pokud není zahrnuta, zkontrolujte obsah souboru /usr/lib/R/etc/Rprofile.site. Zobrazte seznam /home/ubuntu/databricks/spark/R/lib/SparkR ovladače a ověřte, že SparkR je balíček nainstalovaný.

Návody zahájit sparklyr relaci?

Balíček sparklyr musí být nainstalovaný v clusteru. K instalaci sparklyr balíčku použijte jednu z následujících metod:

  • Jako knihovna Azure Databricks
  • Příkaz install.packages()
  • Uživatelské rozhraní pro správu balíčků RStudio
library(sparklyr)

sc <- spark_connect(method = “databricks”)

Jak se aplikace RStudio integruje s poznámkovými bloky platformy Azure Databricks R?

Práci mezi poznámkovými bloky a RStudio můžete přesouvat prostřednictvím správy verzí.

Co je pracovní adresář?

Při spuštění projektu v RStudiu zvolíte pracovní adresář. Ve výchozím nastavení se jedná o domovský adresář v kontejneru ovladače (master), ve kterém je spuštěný RStudio Server. Pokud chcete, můžete tento adresář změnit.

Můžu spustit Shiny Apps z RStudio spuštěného v Azure Databricks?

Ano, aplikace Shiny můžete vyvíjet a zobrazovat v RStudio Serveru v Databricks.

Nemůžu v Azure Databricks používat terminál ani Git v rámci RStudio. Jak to můžu opravit?

Ujistěte se, že jste zakázali websockety. V RStudio Serveru Open Source Edition to můžete udělat z uživatelského rozhraní.

Relace RStudio

V RStudio Serveru Pro můžete přidat allow-terminal-websockets=0 , abyste /etc/rstudio/rsession.conf zakázali websockety pro všechny uživatele.

Pod podrobnostmi o clusteru se nezobrazuje karta Aplikace.

Tato funkce není dostupná pro všechny zákazníky. Musíte být v plánu Premium.