Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ta strona zawiera omówienie tworzenia notesów i zadań w usłudze Azure Databricks przy użyciu języka R.
Samouczki
Poniższe samouczki zawierają przykładowy kod i notesy, aby dowiedzieć się więcej o typowych przepływach pracy. Zobacz Importowanie notesu , aby uzyskać instrukcje dotyczące importowania przykładów notesów do obszaru roboczego.
- Samouczek: analizowanie danych za pomocą funkcji glm
- Samouczek: tworzenie tabel usługi Delta Lake i zarządzanie nimi
- Samouczek: ładowanie i przekształcanie danych przy użyciu ramek danych platformy Apache Spark
Porównanie platformy SparkR i interfejsu sparklyr
Usługa Azure Databricks obsługuje dwa interfejsy API, które zapewniają interfejs języka R dla platformy Apache Spark: SparkR i sparklyr.
Aby zapoznać się z porównaniem platform SparkR i sparklyr, zobacz Porównanie platform SparkR i sparklyr.
SparkR
Ważny
Usługa SparkR w usłudze Databricks jest uznawana za przestarzałą w środowisku Databricks Runtime 16.0 lub nowszym. Usługa Databricks zaleca migrację do sparklyr. Zobacz Migracja z platformy SparkR do sparklyr.
SparkR to interfejs języka R dla platformy Apache Spark, który zapewnia implementację rozproszonej ramki danych. Usługa SparkR obsługuje operacje, takie jak wybór, filtrowanie i agregacja (podobne do ramek danych języka R), ale w dużych zestawach danych. Poniższe artykuły zawierają wprowadzenie do platformy SparkR.
sparklyr
sparklyr to interfejs języka R dla platformy Apache Spark, który zapewnia funkcje podobne do dplyr, broomi DBI. Poniższy artykuł zawiera wprowadzenie do interfejsu sparklyr.
Praca z ramkami danych i tabelami w języku R
W poniższym artykule opisano, jak używać języków R, SparkR, sparklyr i dplyr do pracy z tabelami data.frame języka R, Spark DataFrames i Spark w usłudze Azure Databricks.
Zarządzaj kodem za pomocą notesów i folderów Git w Databricks
Notatniki Azure Databricks obsługują język R. Te notatniki udostępniają funkcje podobne do tych z programu Jupyter, ale z dodatkami takimi jak wbudowane wizualizacje wykorzystujące duże zbiory danych, integracje z platformą Apache Spark na potrzeby debugowania i monitorowania wydajności oraz integracje MLflow do śledzenia eksperymentów z uczeniem maszynowym. Rozpocznij od importowania notatnika. Po uzyskaniu dostępu do klastra możesz podłączyć notatnik do klastra i uruchomić notatnik.
Foldery Git usługi Azure Databricks umożliwiają użytkownikom synchronizowanie notatników i innych plików z repozytoriami Git. Foldery Git usługi Azure Databricks ułatwiają przechowywanie wersji kodu i współpracę oraz upraszcza importowanie pełnego repozytorium kodu do usługi Azure Databricks, wyświetlanie wcześniejszych wersji notesów i integrowanie z programowaniem w środowisku IDE. Rozpocznij od klonowania zdalnego repozytorium Git . Następnie możesz otworzyć lub utworzyć notatniki przy użyciu klonu repozytorium, dołączyć notatnik do klastra i uruchomić notatnik.
Klastry
Środowisko obliczeniowe usługi Azure Databricks zapewnia zarządzanie obliczeniami zarówno dla pojedynczych węzłów, jak i dużych klastrów. Możesz dostosować sprzęt i biblioteki klastra zgodnie z potrzebami. Po uzyskaniu dostępu do klastra możesz dołączyć notes do klastra lub uruchomić zadanie w klastrze.
- W przypadku małych obciążeń, które wymagają tylko jednego węzła, analitycy danych mogą korzystać z obliczeń z jednym węzłem w celu uzyskania oszczędności kosztów.
- Aby uzyskać szczegółowe porady, zobacz Zalecenia dotyczące konfiguracji obliczeniowej.
- Administratorzy mogą skonfigurować zasady klastra w celu uproszczenia i obsługi tworzenia klastra.
Jeden węzeł R i rozproszony język R
Klastry usługi Azure Databricks składają się z węzła sterownika platformy Apache Spark i zera lub większej liczby węzłów procesu roboczego platformy Spark (nazywanego również wykonawcą). Węzeł sterownika utrzymuje stan dołączonego notesu, interpretuje polecenia notesu i bibliotek, oraz uruchamia główny moduł Spark, który koordynuje z wykonawcami Spark. Węzły robocze uruchamiają procesy wykonawcze Spark, jeden proces wykonawczy Spark na węzeł roboczy.
Klaster z jednym węzłem
W przypadku rozmiarów danych, które R ma trudności z przetwarzaniem (wiele gigabajtów lub petabajtów), należy użyć klastrów wielowęzłowych lub rozproszonych. Klastry rozproszone mają jeden węzeł sterownika i co najmniej jeden węzeł roboczy. Klastry rozproszone obsługują nie tylko program RStudio, notesy i biblioteki, ale pakiety języka R, takie jak SparkR i sparklyr, które są unikatowo zaprojektowane do używania klastrów rozproszonych za pośrednictwem programu SparkContext. Te pakiety udostępniają znane interfejsy API SQL i DataFrame, które umożliwiają przypisywanie i uruchamianie różnych zadań i poleceń platformy Spark równolegle między węzłami roboczymi. Aby dowiedzieć się więcej na temat sparklyr i SparkR, zobacz Porównanie SparkR i sparklyr.
Niektóre funkcje SparkR i sparklyr, które szczególnie korzystają z dystrybucji powiązanej pracy między węzłami roboczymi, obejmują następujące:
- sparklyr::spark_apply: uruchamia dowolny kod języka R na dużą skalę w klastrze. Jest to szczególnie przydatne w przypadku korzystania z funkcji, które są dostępne tylko w pakietach języka R lub R, które nie są dostępne na platformie Apache Spark ani w innych pakietach Spark.
-
SparkR::dapply: stosuje określoną funkcję do każdej partycji
SparkDataFrame. -
SparkR::dapplyCollect: stosuje określoną funkcję do każdej partycji
SparkDataFramei zbiera wyniki z powrotem do R w formiedata.frame. -
SparkR::gapply: grupuje
SparkDataFrameprzy użyciu określonych kolumn i stosuje określoną funkcję języka R do każdej grupy. -
SparkR::gapplyCollect: Grupuje
SparkDataFrameprzy użyciu określonych kolumn, stosuje określoną funkcję języka R do każdej grupy i zbiera wynik z powrotem do języka R jakodata.frame. - SparkR::spark.lapply: uruchamia określoną funkcję na liście elementów, dystrybuując obliczenia za pomocą platformy Spark.
Aby zapoznać się z przykładami, zobacz notes Distributed R: User Defined Functions in Spark (Rozproszone funkcje języka R: funkcje zdefiniowane przez użytkownika na platformie Spark).
Usługi kontenerowe Databricks
Usługa Databricks Container Services umożliwia określenie obrazu platformy Docker podczas tworzenia klastra. Databricks udostępnia bazowy obraz databricksruntime/rbase w Docker Hub jako przykład uruchamiania klastra usług Databricks Container Services z obsługą R. Zobacz również Dockerfile, który jest używany do generowania tego obrazu podstawowego.
Biblioteki
Klastry usługi Azure Databricks korzystają z środowiska Databricks Runtime, które udostępnia wiele popularnych bibliotek, takich jak Apache Spark, Delta Lake i inne. Możesz również zainstalować dodatkowe pakiety języka R, zarówno pochodzące od innych firm, jak i niestandardowe, w bibliotekach do użycia z notesami i zadaniami.
Zacznij od bibliotek domyślnych w informacjach o wersji środowiska Databricks Runtime i zgodności. Użyj środowiska Databricks Runtime na potrzeby obciążeń uczenia maszynowego. Aby uzyskać pełną listę wstępnie zainstalowanych bibliotek, zobacz sekcję "Zainstalowane biblioteki R" dla docelowego środowiska Databricks Runtime w uwagach o wydaniach i kompatybilności Databricks Runtime.
Środowisko można dostosować przy użyciu notatnikowych bibliotek R, które umożliwiają modyfikowanie notatnika lub środowiska zadania za pomocą bibliotek z usługi CRAN lub innych repozytoriów. W tym celu możesz użyć znanej funkcji install.packages z pliku utils. Poniższy przykład instaluje pakiet Arrow R z domyślnego repozytorium CRAN:
install.packages("arrow")
Jeśli potrzebujesz starszej wersji niż ta, która jest uwzględniona w środowisku Databricks Runtime, możesz użyć notesu, aby uruchomić funkcję install_version z witryny devtools. W poniższym przykładzie instaluje się dplyr w wersji 0.7.4 z usługi CRAN:
require(devtools)
install_version(
package = "dplyr",
version = "0.7.4",
repos = "http://cran.r-project.org"
)
Pakiety zainstalowane w ten sposób są dostępne w klastrze. Są one ograniczone do użytkownika, który je instaluje. Dzięki temu można zainstalować wiele wersji tego samego pakietu na tym samym obliczeniach bez tworzenia konfliktów pakietów.
Możesz zainstalować inne biblioteki jako biblioteki o zakresie obliczeniowym zgodnie z potrzebami, na przykład z usługi CRAN. W tym celu w interfejsie użytkownika klastra kliknij pozycję Biblioteki > Zainstaluj nowe > CRAN i określ nazwę biblioteki. Takie podejście jest szczególnie ważne w przypadku wywoływania funkcji zdefiniowanych przez użytkownika za pomocą pakietu SparkR lub biblioteki sparklyr.
Aby uzyskać więcej informacji, zobacz Instalowanie bibliotek.
Aby zainstalować pakiet niestandardowy w bibliotece:
Skompiluj pakiet niestandardowy z poziomu wiersza polecenia lub przy użyciu programu RStudio.
Skopiuj plik pakietu z twojej maszyny deweloperskiej do swojego obszaru roboczego usługi Azure Databricks. Aby uzyskać informacje o opcjach, zobacz Instalowanie bibliotek.
Zainstaluj pakiet niestandardowy w bibliotece, uruchamiając polecenie
install.packages.Na przykład z notesu w twoim obszarze roboczym:
install.packages( pkgs = "/path/to/tar/file/<custom-package>.tar.gz", type = "source", repos = NULL )Lub:
%sh R CMD INSTALL /path/to/tar/file/<custom-package>.tar.gz
Po zainstalowaniu pakietu niestandardowego w bibliotece dodaj bibliotekę do ścieżki wyszukiwania, a następnie załaduj bibliotekę za pomocą jednego polecenia.
Na przykład:
# 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>)
Aby zainstalować pakiet niestandardowy jako bibliotekę na każdym węźle w klastrze, należy użyć skryptów inicjalizacyjnych.
Wizualizacje
Notesy R w usłudze Azure Databricks obsługują różne typy wizualizacji za pomocą funkcji display.
Stanowiska
Zadania języka R można zautomatyzować jako zaplanowane lub wyzwalane zadanie notebooku w usłudze Azure Databricks.
- Aby uzyskać szczegółowe informacje na temat tworzenia zadania za pośrednictwem interfejsu użytkownika, zobacz Konfigurowanie i edytowanie zadań lakeflow.
- Interfejs API zadań umożliwia tworzenie, edytowanie i usuwanie zadań.
- Interfejs Databricks CLI udostępnia wygodny wiersz poleceń do wywoływania interfejsu API zadań.
Uczenie maszynowe
Usługa Databricks obsługuje szeroką gamę obciążeń uczenia maszynowego, w tym tradycyjne uczenie maszynowe na danych tabelarycznych, uczenie głębokie do przetwarzania obrazów i języka naturalnego, systemy rekomendacji, analizę grafów i nie tylko. Aby uzyskać ogólne informacje na temat uczenia maszynowego w usłudze Azure Databricks, zobacz Databricks Runtime for Machine Learning (Środowisko uruchomieniowe usługi Databricks na potrzeby uczenia maszynowego).
W przypadku algorytmów uczenia maszynowego można używać wstępnie zainstalowanych bibliotek w środowisku Databricks Runtime na potrzeby uczenia maszynowego. Można również zainstalować biblioteki niestandardowe.
W przypadku operacji uczenia maszynowego (MLOps) usługa Azure Databricks udostępnia usługę zarządzaną dla biblioteki open source MLflow. Dzięki funkcji śledzenia MLflow można rejestrować tworzenie modeli i zapisywać modele w formatach wielokrotnego użytku. Możesz użyć Rejestru modeli MLflow do zarządzania i automatyzowania promocji modeli do produkcji. Zadania i obsługa modeli umożliwiają hostowanie modeli jako zadań wsadowych i przesyłanych strumieniowo jako punktów końcowych REST. Aby uzyskać więcej informacji i przykładów, zobacz dokumentację MLflow w usłudze Databricks lub dokumentację API R platformy MLflow.
Narzędzia deweloperskie języka R
Oprócz notesów usługi Azure Databricks można również użyć następujących narzędzi deweloperskich języka R:
- Program RStudio w usłudze Azure Databricks
- Program Shiny w usłudze Azure Databricks
-
renvw usłudze Azure Databricks
- Używanie platformy SparkR i programu RStudio Desktop w usłudze Databricks Connect.
- Używaj sparklyr i RStudio Desktop z Databricks Connect.
Dostosowywanie sesji języka R
W środowisku Databricks Runtime 12.2 LTS lub nowszym sesje języka R można dostosować przy użyciu ogólnosystemowych plików profilu (.Rprofile). Notatniki R będą ładować plik jako kod R podczas uruchamiania. Aby zmodyfikować plik, znajdź wartość R_HOME i zmodyfikuj $R_HOME/etc/Rprofile.site.
Usługa Azure Databricks dodała konfigurację w pliku w celu zapewnienia prawidłowej funkcjonalności hostowanej aplikacji RStudio. Usunięcie któregokolwiek z tych elementów może spowodować, że program RStudio nie będzie działać zgodnie z oczekiwaniami.
W środowisku Databricks Runtime 11.3 LTS i poniżej można włączyć to zachowanie, ustawiając zmienną środowiskową DATABRICKS_ENABLE_RPROFILE=true.