Udostępnij za pośrednictwem


Databricks Connect dla języka R

Uwaga

W tym artykule opisano sparklyr integrację z usługą Databricks Connect dla środowiska Databricks Runtime w wersji 13.0 lub nowszej. Ta integracja nie jest dostarczana przez usługę Databricks ani bezpośrednio obsługiwana przez usługę Databricks.

W przypadku pytań przejdź do społeczności Posit.

Aby zgłosić problemy, przejdź do sekcji Issues w repozytorium sparklyr w GitHub.

Aby uzyskać więcej informacji, zobacz Databricks Connect v2 w sparklyr dokumentacji.

Usługa Databricks Connect umożliwia łączenie popularnych środowisk IDE, takich jak RStudio Desktop, serwery notebooków i inne niestandardowe aplikacje do klastrów Azure Databricks. Zobacz Databricks Connect.

Uwaga

Program Databricks Connect ma ograniczoną zgodność z Apache Spark MLlib, ponieważ Spark MLlib używa RDD, podczas gdy Databricks Connect obsługuje tylko DataFrame API. Aby użyć wszystkich funkcji Spark MLlib z pakietu sparklyr, użyj notesów Databricks lub db_repl funkcji pakietu brickster.

W tym artykule pokazano, jak szybko rozpocząć pracę z programem Databricks Connect for R using sparklyr i RStudio Desktop.

Samouczek

W poniższym samouczku utworzysz projekt w RStudio, zainstalujesz i skonfigurujesz Databricks Connect dla środowiska Databricks Runtime 13.3 LTS lub nowszego, a następnie uruchomisz prosty kod na obliczeniach w obszarze roboczym Databricks przy użyciu RStudio. Aby uzyskać dodatkowe informacje na temat tego samouczka, zobacz sekcję "Databricks Connect" w temacie Spark Connect i Databricks Connect v2 na stronie internetowej sparklyr.

W tym samouczku jest używany program RStudio Desktop i Python 3.10. Jeśli jeszcze ich nie zainstalowano, install R i RStudio Desktop i Python 3.10.

Wymagania

Aby ukończyć ten samouczek, musisz spełnić następujące wymagania:

  • Docelowy obszar roboczy i klaster Azure Databricks muszą spełniać wymagania dotyczące konfiguracji obliczeniowej dla Databricks Connect.
  • Musisz mieć dostępny identyfikator klastra. Aby uzyskać identyfikator klastra, w obszarze roboczym kliknij Obliczenia na pasku bocznym, a następnie kliknij nazwę swojego klastra. Na pasku adresu przeglądarki internetowej skopiuj ciąg znaków między clusters i configuration w adresie URL.

Krok 1. Tworzenie osobistego tokenu dostępu

Uwaga

Usługa Databricks Connect do uwierzytelniania w R obecnie obsługuje tylko osobiste tokeny dostępu Azure Databricks.

W tym samouczku użyto Azure Databricks personal access token authentication na potrzeby uwierzytelniania za pomocą obszaru roboczego Azure Databricks.

Jeśli masz już Azure Databricks osobisty token dostępu, przejdź do kroku 2. Jeśli nie masz pewności, czy masz już osobisty token dostępu Azure Databricks, możesz wykonać ten krok, bez wpływu na inne osobiste tokeny dostępu Azure Databricks na koncie użytkownika.

Aby utworzyć osobisty token dostępu, wykonaj kroki opisane w artykule Tworzenie osobistych tokenów dostępu dla użytkowników obszaru roboczego.

Krok 2. Tworzenie projektu

  1. Uruchom program RStudio Desktop.
  2. W menu głównym wybierz pozycję Plik > nowy projekt.
  3. Wybierz pozycję Nowy katalog.
  4. Wybierz Nowy Project.
  5. W obszarze Nazwa katalogu i Utwórz projekt jako podkatalog wprowadź nazwę nowego katalogu projektu i miejsce utworzenia nowego katalogu projektu.
  6. Wybierz pozycję Zastosuj renv z tym projektem. Jeśli zostanie wyświetlony monit o zainstalowanie zaktualizowanej renv wersji pakietu, kliknij przycisk Tak.
  7. Kliknij Utwórz projekt.

Tworzenie projektu programu RStudio Desktop

Krok 3. Dodawanie pakietu Databricks Connect i innych zależności

  1. W menu głównym programu RStudio Desktop kliknij pozycję Narzędzia > Zainstaluj pakiety.

  2. Pozostaw Instalacja z ustawiona na Repozytorium (CRAN).

  3. W przypadku Packageswprowadź następującą listę pakietów, które są wymaganiami wstępnymi dla pakietu Databricks Connect i tego samouczka:

    sparklyr,pysparklyr,reticulate,usethis,dplyr,dbplyr
    
  4. Pozostaw zainstaluj bibliotekę ustawioną na środowisko wirtualne języka R.

  5. Upewnij się, że wybrano opcję Zainstaluj zależności .

  6. Kliknij przycisk Zainstaluj.

Instalowanie zależności pakietów usługi Databricks Connect

  1. Po wyświetleniu monitu w widoku Konsoli (Wyświetl > Przenieś fokus do Konsoli) do kontynuacji instalacji, wprowadź Y. Pakiety sparklyr i pysparklyr oraz ich zależności zostały zainstalowane w środowisku wirtualnym języka R.

  2. W okienku Console użyj reticulate, aby zainstalować Python, uruchamiając następujące polecenie. (Program Databricks Connect dla języka R wymaga reticulate i Python, które mają być najpierw zainstalowane). W poniższym poleceniu zastąp 3.10 wersją główną i pomocniczą wersji Python zainstalowanej w klastrze Azure Databricks. Aby znaleźć wersję główną i pomocniczą, zobacz sekcję "Środowisko systemowe" w notatkach dotyczących wydania wersji Databricks Runtime dla klastrów w Databricks Runtime release notes versions and compatibility.

    reticulate::install_python(version = "3.10")
    
  3. W okienku Konsola zainstaluj pakiet Databricks Connect, uruchamiając następujące polecenie. W poniższym poleceniu zastąp 13.3 wersją środowiska Databricks Runtime zainstalowaną w klastrze Azure Databricks. Aby znaleźć tę wersję, na stronie szczegółów klastra w obszarze roboczym Azure Databricks na karcie Configuration zobacz pole Databricks Runtime Version.

    pysparklyr::install_databricks(version = "13.3")
    

    Jeśli nie znasz wersji środowiska Databricks Runtime dla klastra lub nie chcesz go wyszukać, możesz zamiast tego uruchomić następujące polecenie i pysparklyr wykona zapytanie względem klastra, aby określić poprawną wersję środowiska Databricks Runtime do użycia:

    pysparklyr::install_databricks(cluster_id = "<cluster-id>")
    

    Jeśli chcesz, aby projekt łączył się później z innym klastrem, który ma tę samą wersję środowiska Databricks Runtime niż określona, pysparklyr będzie używać tego samego środowiska Python. Jeśli nowy klaster ma inną wersję środowiska Databricks Runtime, należy ponownie uruchomić pysparklyr::install_databricks polecenie z nową wersją środowiska Databricks Runtime lub identyfikatorem klastra.

Krok 4. Ustawianie zmiennych środowiskowych dla adresu URL obszaru roboczego, tokenu dostępu i identyfikatora klastra

Usługa Databricks nie zaleca kodowania poufnego ani zmieniania wartości, takich jak adres URL obszaru roboczego Azure Databricks, Azure Databricks osobisty token dostępu lub identyfikator klastra Azure Databricks do skryptów języka R. Zamiast tego należy przechowywać te wartości oddzielnie, na przykład w lokalnych zmiennych środowiskowych. W tym samouczku wykorzystuje się wbudowaną obsługę programu RStudio Desktop do przechowywania zmiennych środowiskowych w pliku .Renviron.

  1. .Renviron Utwórz plik do przechowywania zmiennych środowiskowych, jeśli ten plik jeszcze nie istnieje, a następnie otwórz ten plik do edycji: w konsoli programu RStudio Desktop uruchom następujące polecenie:

    usethis::edit_r_environ()
    
  2. W wyświetlonym .Renviron pliku (Wyświetl > przenieś fokus do źródła) wprowadź następującą zawartość. W tej zawartości zastąp następujące symbole zastępcze:

    • Zastąp <workspace-url> swoim adresem URL dla każdego obszaru roboczego, na przykład https://adb-1234567890123456.7.azuredatabricks.net.
    • Zastąp <personal-access-token> osobistym tokenem dostępu Azure Databricks z kroku 1.
    • Zastąp <cluster-id> element identyfikatorem klastra z wymagań tego samouczka.
    DATABRICKS_HOST=<workspace-url>
    DATABRICKS_TOKEN=<personal-access-token>
    DATABRICKS_CLUSTER_ID=<cluster-id>
    
  3. Zapisz plik .Renviron.

  4. Załaduj zmienne środowiskowe do języka R: w menu głównym kliknij pozycję Uruchom ponownie sesję > języka R.

Ustawianie zmiennych środowiskowych dla usługi Databricks Connect

Krok 5. Dodawanie kodu

  1. W menu głównym programu RStudio Desktop kliknij pozycję Plik > nowy plik > R Script.

  2. Wprowadź następujący kod w pliku, a następnie zapisz plik (> plik) jako demo.R:

    library(sparklyr)
    library(dplyr)
    library(dbplyr)
    
    sc <- sparklyr::spark_connect(
      master     = Sys.getenv("DATABRICKS_HOST"),
      cluster_id = Sys.getenv("DATABRICKS_CLUSTER_ID"),
      token      = Sys.getenv("DATABRICKS_TOKEN"),
      method     = "databricks_connect",
      envname    = "r-reticulate"
    )
    
    trips <- dplyr::tbl(
      sc,
      dbplyr::in_catalog("samples", "nyctaxi", "trips")
    )
    
    print(trips, n = 5)
    

Krok 6. Uruchamianie kodu

  1. Na pulpicie programu RStudio na pasku narzędzi pliku demo.R kliknij pozycję Źródło.

    Uruchamianie projektu programu RStudio Desktop

  2. W Konsoli pojawi się pięć pierwszych wierszy tabeli trips.

  3. W widoku połączeń (Widok> Pokaż połączenia), możesz eksplorować dostępne katalogi, schematy, tabele i widoki.

    widok Połączenia dla projektu

Krok 7. Debugowanie kodu

  1. W pliku demo.R kliknij margines obok print(trips, n = 5), aby ustawić punkt przerwania.
  2. Na pasku narzędzi demo.R pliku kliknij pozycję Źródło.
  3. Gdy kod wstrzymuje działanie w punkcie przerwania, możesz sprawdzić zmienną w widoku Środowisko (Wyświetl > pokaż środowisko).
  4. W menu głównym kliknij pozycję Debuguj > kontynuuj.
  5. W Konsoli pojawi się pięć pierwszych wierszy tabeli trips.

Debugowanie projektu programu RStudio Desktop