Udostępnij przez


Instalowanie niestandardowego środowiska uruchomieniowego języka R dla programu SQL Server

Dotyczy: SQL Server 2019 (15.x)

Dowiedz się, jak zainstalować niestandardowe środowisko uruchomieniowe języka R na potrzeby uruchamiania zewnętrznych skryptów języka R za pomocą programu SQL Server na:

  • Windows
  • Ubuntu Linux
  • Red Hat Enterprise Linux (RHEL)
  • SUSE Linux Enterprise Server (SLES) w wersji 12

Środowisko uruchomieniowe niestandardowe może uruchamiać skrypty uczenia maszynowego i używać rozszerzeń języka programu SQL Server.

Użyj własnej wersji środowiska uruchomieniowego języka R z programem SQL Server zamiast domyślnej wersji środowiska uruchomieniowego zainstalowanej z usługami SQL Server Machine Learning Services.

Począwszy od programu SQL Server 2022 (16.x), środowiska uruchomieniowe dla języków R, Python i Java nie są już instalowane przy użyciu instalatora SQL. Zamiast tego zainstaluj wybrane niestandardowe środowiska uruchomieniowe języka R i pakiety. Aby uzyskać więcej informacji, zobacz Instalowanie usług SQL Server 2022 Machine Learning Services (Python i R) w systemie Windows lub Instalowanie usług SQL Server Machine Learning Services (Python i R) w systemie Linux.

Wymagania wstępne

Przed zainstalowaniem niestandardowego środowiska uruchomieniowego języka R zainstaluj następujące elementy:

Instalowanie rozszerzeń językowych

Uwaga / Notatka

Jeśli masz zainstalowane usługi Machine Learning Services w programie SQL Server 2019, rozszerzenia językowe są już zainstalowane i można pominąć ten krok.

Wykonaj poniższe kroki, aby zainstalować rozszerzenia języka SQL Server, które są używane dla niestandardowego środowiska uruchomieniowego języka R.

  1. Uruchom kreatora instalacji dla programu SQL Server 2019.

  2. Na karcie Instalacja wybierz pozycję Nowa instalacja autonomiczna programu SQL Server lub dodaj funkcje do istniejącej instalacji.

  3. Na stronie Wybór funkcji wybierz następujące opcje:

    • Usługi silnika bazy danych

      Aby używać rozszerzeń językowych z programem SQL Server, należy zainstalować wystąpienie silnika bazy danych. Możesz skorzystać z nowego lub istniejącego wystąpienia.

    • Usługi Machine Learning Services i rozszerzenia językowe

      Wybierz pozycję Usługi Machine Learning i rozszerzenia językowe. Nie wybieraj języka R, ponieważ będziesz instalować niestandardowe środowisko uruchomieniowe języka R później.

      Konfiguracja rozszerzeń językowych programu SQL Server 2019.

  4. Na stronie Gotowe do zainstalowania sprawdź, czy te opcje zostały uwzględnione, a następnie wybierz pozycję Zainstaluj.

    • Usługi silnika bazy danych
    • Usługi Machine Learning Services i rozszerzenia językowe
  5. Po zakończeniu instalacji uruchom ponownie maszynę, jeśli zostanie wyświetlony monit o wykonanie tej czynności.

Ważne

Jeśli zainstalujesz nowe wystąpienie programu SQL Server 2019 z rozszerzeniami językowymi, zainstaluj aktualizację zbiorczą (CU) 3 lub nowszą , zanim przejdziesz do następnego kroku.

Instalowanie języka R

Pobierz i zainstaluj wersję języka R, której będziesz używać jako środowiska uruchomieniowego niestandardowego. Obsługiwane są wersje R w wersji 3.3 lub nowszej.

  1. Pobierz język R w wersji 3.3 lub nowszej.

  2. Uruchom instalatora języka R.

  3. Zanotuj ścieżkę, w której zainstalowano język R. Na przykład w tym artykule jest to C:\Program Files\R\R-4.0.3.

    Konfiguracja języka R

Aktualizowanie zmiennej środowiskowej systemu

Wykonaj następujące kroki, aby zmodyfikować zmienne środowiskowe systemu PATH .

  1. W polu wyszukiwania systemu Windows wyszukaj pozycję Edytuj zmienne środowiskowe systemu i otwórz je.

  2. W obszarze Zaawansowane wybierz pozycję Zmienne środowiskowe.

  3. Zmodyfikuj zmienną środowiskową systemową PATH .

    Wybierz pozycję ŚCIEŻKA , a następnie kliknij pozycję Edytuj.

    Wybierz Nowy i dodaj ścieżkę do folderu \bin\x64 w ścieżce instalacyjnej R. Na przykład C:\Program Files\R\R-4.0.3\bin\x64.

Instalowanie pakietu Rcpp

Wykonaj następujące kroki, aby zainstalować pakiet Rcpp .

  1. Uruchom wiersz polecenia z podwyższonym poziomem uprawnień (uruchom jako administrator).

  2. Uruchom język R z wiersza polecenia. Uruchom polecenie \bin\R.exe w folderze w ścieżce instalacji języka R. Na przykład C:\Program Files\R\R-4.0.3\bin\R.exe.

    "C:\Program Files\R\R-4.0.3\bin\R.exe"
    
  3. Uruchom następujący skrypt, aby zainstalować pakiet Rcpp w \library folderze w ścieżce instalacji języka R. Na przykład C:\Program Files\R\R-4.0.3\library.

    install.packages("Rcpp", lib="C:\\Program Files\\R\\R-4.0.3\\library");
    

Udzielanie dostępu do folderu języka R

Uwaga / Notatka

Jeśli język R został zainstalowany w domyślnej C:\Program Files\R\R-version lokalizacji (na przykład C:\Program Files\R\R-4.0.3), możesz pominąć ten krok.

Uruchom następujące polecenia icacls z nowego wiersza polecenia z podwyższonym poziomem uprawnień , aby udzielić dostępu DO ODCZYTU i WYKONYWANIA do nazwy użytkownika usługi Launchpad programu SQL Server i identyfikatora SID S-1-15-2-1 (WSZYSTKIE PAKIETY APLIKACJI). Nazwa użytkownika usługi launchpad ma postać NT Service\MSSQLLAUNCHPAD$INSTANCENAME, gdzie INSTANCENAME jest nazwą wystąpienia programu SQL Server.

Polecenia będą cyklicznie udzielać dostępu do wszystkich plików i folderów w ramach podanej ścieżki katalogu.

  1. Nadaj uprawnienia użytkownikowi usługi Launchpad programu SQL Server do ścieżki instalacji języka R. Na przykład C:\Program Files\R\R-4.0.3.

    icacls "C:\Program Files\R\R-4.0.3" /grant "NT Service\MSSQLLAUNCHPAD":(OI)(CI)RX /T
    

    W przypadku wystąpienia nazwanego polecenie będzie icacls "C:\Program Files\R\R-4.0.3" /grant "NT Service\MSSQLLAUNCHPAD$SQL01":(OI)(CI)RX /T dla wystąpienia o nazwie SQL01.

  2. Nadaj uprawnienia identyfikatorowi SID S-1-15-2-1 do ścieżki instalacji języka R. Na przykład C:\Program Files\R\R-4.0.3.

    icacls "C:\Program Files\R\R-4.0.3" /grant *S-1-15-2-1:(OI)(CI)RX /T
    

    Poprzednie polecenie przyznaje uprawnienia do identyfikatora SID komputera S-1-15-2-1, który jest odpowiednikiem WSZYSTKICH PAKIETÓW APLIKACJI w angielskiej wersji systemu Windows. Alternatywnie można użyć icacls "C:\Program Files\R\R-4.0.3" /grant "ALL APPLICATION PACKAGES":(OI)(CI)RX /T w angielskiej wersji systemu Windows.

Uruchom ponownie program SQL Server Launchpad

Wykonaj następujące kroki, aby ponownie uruchomić usługę Launchpad programu SQL Server.

  1. Otwórz program SQL Server Configuration Manager.

  2. W obszarze Usługi programu SQL Server kliknij prawym przyciskiem myszy pozycję SQL Server Launchpad (MSSQLSERVER) i wybierz polecenie Uruchom ponownie. Jeśli używasz nazwanego wystąpienia, nazwa wystąpienia będzie wyświetlana zamiast (MSSQLSERVER).

Rejestrowanie rozszerzenia języka

Wykonaj następujące kroki, aby pobrać i zarejestrować rozszerzenie języka R, które jest używane dla niestandardowego środowiska uruchomieniowego języka R.

  1. Pobierz plik R-lang-extension-windows-release.zip z repozytorium GitHub rozszerzeń języka programu SQL Server.

    Alternatywnie możesz użyć wersji debugowania (R-lang-extension-windows-debug.zip) w środowisku deweloperistycznym lub testowym. Wersja debugowania zawiera szczegółowe informacje logowania w celu zbadania błędów i nie jest zalecana w środowiskach produkcyjnych.

  2. Użyj narzędzia Azure Data Studio, aby nawiązać połączenie z wystąpieniem programu SQL Server i uruchomić następujące polecenie języka T-SQL, aby zarejestrować rozszerzenie języka R za pomocą CREATE EXTERNAL LANGUAGE.

    Zmodyfikuj ścieżkę w tej instrukcji, aby odzwierciedlić lokalizację pobranego pliku zip rozszerzenia języka (R-lang-extension-windows-release.zip) i lokalizację instalacji języka R (C:\\Program Files\\R\\R-4.0.3).

    CREATE EXTERNAL LANGUAGE [myR]
    FROM (CONTENT = N'C:\path\to\R-lang-extension-windows-release.zip', 
        FILE_NAME = 'libRExtension.dll',
        ENVIRONMENT_VARIABLES = N'{"R_HOME": "C:\\Program Files\\R\\R-4.0.3"}');
    GO
    

    Wykonaj instrukcję dla każdej bazy danych, w której chcesz użyć rozszerzenia języka R.

    Uwaga / Notatka

    R jest słowem zastrzeżonym i nie można go użyć jako nazwy nowej nazwy języka zewnętrznego. Zamiast tego użyj innej nazwy. Na przykład w powyższej instrukcji użyto myR.

Wymagania wstępne

Przed zainstalowaniem niestandardowego środowiska uruchomieniowego języka R zainstaluj następujące wymagania wstępne:

Instalowanie rozszerzeń językowych

Uwaga / Notatka

Jeśli masz zainstalowane Usługi Uczenia Maszynowego w programie SQL Server 2019, pakiet mssql-server-extensibility dla rozszerzeń językowych jest już zainstalowany i możesz pominąć ten krok.

Uruchom poniższe polecenia, aby zainstalować rozszerzenia językowe programu SQL Server w systemie Ubuntu Linux, który jest używany dla niestandardowego środowiska uruchomieniowego języka R.

  1. Jeśli to możliwe, uruchom to polecenie, aby odświeżyć pakiety w systemie przed instalacją.

    # Install as root or sudo
    sudo apt-get update
    
  2. Zainstaluj mssql-server-extensibility za pomocą tego polecenia.

    # Install as root or sudo
    sudo apt-get install mssql-server-extensibility
    

Instalowanie języka R

  1. Jeśli masz zainstalowane usługi Machine Learning Services , język R jest już zainstalowany w programie /opt/microsoft/ropen/3.5.2/lib64/R. Jeśli chcesz nadal używać tej ścieżki jako R_HOME, możesz pominąć ten krok.

    Jeśli chcesz użyć innego środowiska uruchomieniowego języka R, musisz najpierw usunąć microsoft-r-open-mro przed kontynuowaniem instalowania nowej wersji.

    sudo apt remove microsoft-r-open-mro-3.5.2
    
  2. Zainstaluj język R (3.3 lub nowszy) dla systemu Ubuntu. Domyślnie język R jest instalowany w pliku /usr/lib/R. Ta ścieżka jest twoją R_HOME. Jeśli zainstalujesz język R w innej lokalizacji, zanotuj ścieżkę jako R_HOME.

    Poniżej przedstawiono przykładowe instrukcje dotyczące systemu Ubuntu. Zmień poniższy adres URL repozytorium dla używanej wersji języka R.

    export DEBIAN_FRONTEND=noninteractive
    sudo apt-get update
    sudo apt-get --no-install-recommends -y install curl zip unzip apt-transport-https libstdc++6
    
    # Add R CRAN repository. This repository works for R 4.0.x.
    #
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
    sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu xenial-cran40/'
    sudo apt-get update
    
    # Install R runtime.
    #
    sudo apt-get -y install r-base-core
    

Niestandardowa instalacja języka R

Uwaga / Notatka

Jeśli zainstalowano język R w domyślnej lokalizacji /usr/lib/R, możesz pominąć tę sekcję i przejść do sekcji Instalowanie pakietu Rcpp .

Aktualizowanie zmiennych środowiskowych

Najpierw zmodyfikuj usługę mssql-launchpadd , aby dodać R_HOME zmiennej środowiskowej do pliku /etc/systemd/system/mssql-launchpadd.service.d/override.conf

  1. Otwieranie pliku za pomocą biblioteki systemctl

    sudo systemctl edit mssql-launchpadd
    
  2. Wstaw następujący tekst w /etc/systemd/system/mssql-launchpadd.service.d/override.conf pliku, który zostanie otwarty. Ustaw wartość R_HOME na niestandardową ścieżkę instalacji języka R.

    [Service]
    Environment="R_HOME=<path to R>"
    
  3. Zapisz i zamknij.

Następnie upewnij się, że libR.so można załadować.

  1. Utwórz plik custom-r.conf w pliku /etc/ld.so.conf.d.

    sudo vi /etc/ld.so.conf.d/custom-r.conf
    
  2. W wyświetlonym pliku dodaj ścieżkę do libR.so z niestandardowej instalacji języka R.

    <path to the R lib>
    
  3. Zapisz nowy plik i zamknij edytor.

  4. Uruchom ldconfig i sprawdź, czy libR.so można załadować, wykonując następujące polecenie i upewniając się, że wszystkie biblioteki zależne są dostępne.

    sudo ldconfig
    ldd <path to the R lib>/libR.so
    

Udzielanie dostępu do niestandardowego folderu instalacyjnego języka R

Ustaw opcję datadirectories w sekcji rozszerzalności pliku /var/opt/mssql/mssql.conf na niestandardową instalację R.

sudo /opt/mssql/bin/mssql-conf set extensibility.datadirectories <path to R>

Uruchom ponownie usługę mssql-launchpadd

Uruchom następujące polecenie, aby ponownie uruchomić narzędzie mssql-launchpadd.

sudo systemctl restart mssql-launchpadd

Instalowanie pakietu Rcpp

Wykonaj następujące kroki, aby zainstalować pakiet Rcpp .

  1. Uruchom język R z poziomu powłoki:

    sudo ${R_HOME}/bin/R
    
  2. Uruchom następujący skrypt, aby zainstalować pakiet Rcpp w folderze ${R_HOME}\library.

install.packages("Rcpp", lib = "${R_HOME}/library");

Rejestrowanie rozszerzenia języka

Wykonaj następujące kroki, aby pobrać i zarejestrować rozszerzenie języka R, które jest używane dla niestandardowego środowiska uruchomieniowego języka R.

  1. Pobierz plik R-lang-extension-linux-release.zip z repozytorium GitHub rozszerzeń języka programu SQL Server.

    Alternatywnie możesz użyć wersji debugowania (R-lang-extension-linux-debug.zip) w środowisku deweloperistycznym lub testowym. Wersja debug dostarcza szczegółowe informacje logowania do badania błędów i nie jest zalecana w środowiskach produkcyjnych.

  2. Użyj Azure Data Studio, aby nawiązać połączenie z wystąpieniem SQL Server i uruchomić następujące polecenie T-SQL, aby zarejestrować rozszerzenie języka R za pomocą CREATE EXTERNAL LANGUAGE.

    Zmodyfikuj ścieżkę w tej instrukcji, aby odzwierciedlić lokalizację pobranego pliku zip rozszerzenia języka (R-lang-extension-linux-release.zip).

    CREATE EXTERNAL LANGUAGE [myR]
    FROM (CONTENT = N'/path/to/R-lang-extension-linux-release.zip', FILE_NAME = 'libRExtension.so.1.1');
    GO
    

    Wykonaj instrukcję dla każdej bazy danych, w której chcesz użyć rozszerzenia języka R.

    Uwaga / Notatka

    R jest słowem zastrzeżonym i nie można go użyć jako nazwy nowej nazwy języka zewnętrznego. Zamiast tego użyj innej nazwy. Na przykład w powyższej instrukcji użyto myR.

Wymagania wstępne

Przed zainstalowaniem niestandardowego środowiska uruchomieniowego języka R zainstaluj następujące wymagania wstępne:

  • Rozszerzenie RExtension wymaga GLIBCXX_3.4.20. Upewnij się, że w instalacji systemu Red Hat Enterprise Linux (RHEL) jest włączona wersja libstdc++.so.6 .

Instalowanie rozszerzeń językowych

Uwaga / Notatka

Jeśli masz zainstalowane usługi uczenia maszynowego w programie SQL Server 2019, pakiet mssql-server-extensibility dla rozszerzeń językowych jest już zainstalowany i można pominąć ten krok.

Uruchom poniższe polecenie, aby zainstalować rozszerzenia językowe programu SQL Server w systemie Red Hat Enterprise Linux (RHEL), który jest używany dla niestandardowego środowiska uruchomieniowego języka R.

# Install as root or sudo
sudo yum install mssql-server-extensibility

Instalowanie języka R

  1. Jeśli masz zainstalowane usługi Machine Learning Services , język R jest już zainstalowany w programie /opt/microsoft/ropen/3.5.2/lib64/R. Jeśli chcesz nadal używać tej ścieżki jako R_HOME, możesz pominąć ten krok.

    Jeśli chcesz użyć innego środowiska uruchomieniowego języka R, musisz najpierw usunąć microsoft-r-open-mro przed kontynuowaniem instalowania nowej wersji.

    sudo yum erase microsoft-r-open-mro-3.5.2
    
  2. Zainstaluj R (3.3 lub nowszy) dla Red Hat Enterprise Linux (RHEL). Domyślnie język R jest instalowany w pliku /usr/lib64/R. Ta ścieżka jest twoją R_HOME. Jeśli zainstalujesz język R w innej lokalizacji, zanotuj ścieżkę jako R_HOME.

    sudo yum install -y R
    

Niestandardowa instalacja języka R

Uwaga / Notatka

Jeśli zainstalowano język R w domyślnej lokalizacji /usr/lib/R, możesz pominąć tę sekcję i przejść do sekcji Instalowanie pakietu Rcpp .

Aktualizowanie zmiennych środowiskowych

Najpierw zmodyfikuj usługę mssql-launchpadd , aby dodać R_HOME zmiennej środowiskowej do pliku /etc/systemd/system/mssql-launchpadd.service.d/override.conf

  1. Otwieranie pliku za pomocą biblioteki systemctl

    sudo systemctl edit mssql-launchpadd
    
  2. Wstaw następujący tekst w /etc/systemd/system/mssql-launchpadd.service.d/override.conf pliku, który zostanie otwarty. Ustaw wartość R_HOME na niestandardową ścieżkę instalacji języka R.

    [Service]
    Environment="R_HOME=<path to R>"
    
  3. Zapisz i zamknij.

Następnie upewnij się, że libR.so można załadować.

  1. Utwórz plik custom-r.conf w pliku /etc/ld.so.conf.d.

    sudo vi /etc/ld.so.conf.d/custom-r.conf
    
  2. W wyświetlonym pliku dodaj ścieżkę do libR.so z niestandardowej instalacji języka R.

    <path to the R lib>
    
  3. Zapisz nowy plik i zamknij edytor.

  4. Uruchom ldconfig i sprawdź, czy libR.so można załadować, uruchamiając następujące polecenie i weryfikując, czy wszystkie biblioteki zależne są dostępne.

    sudo ldconfig
    ldd <path to the R lib>/libR.so
    

Udzielanie dostępu do niestandardowego folderu instalacyjnego języka R

Ustaw opcję datadirectories w sekcji rozszerzalności pliku /var/opt/mssql/mssql.conf na niestandardową instalację języka R.

sudo /opt/mssql/bin/mssql-conf set extensibility.datadirectories <path to R>

Uruchom ponownie usługę mssql-launchpadd

Uruchom następujące polecenie, aby ponownie uruchomić narzędzie mssql-launchpadd.

sudo systemctl restart mssql-launchpadd

Instalowanie pakietu Rcpp

Wykonaj następujące kroki, aby zainstalować pakiet Rcpp .

  1. Uruchom język R z poziomu powłoki:

    sudo ${R_HOME}/bin/R
    
  2. Uruchom następujący skrypt, aby zainstalować pakiet Rcpp w folderze ${R_HOME}\library.

install.packages("Rcpp", lib = "${R_HOME}/library");

Rejestrowanie rozszerzenia języka

Wykonaj następujące kroki, aby pobrać i zarejestrować rozszerzenie języka R, które jest używane dla niestandardowego środowiska uruchomieniowego języka R.

  1. Pobierz plik R-lang-extension-linux-release.zip z repozytorium GitHub rozszerzeń języka programu SQL Server.

    Alternatywnie możesz użyć wersji debugowania (R-lang-extension-linux-debug.zip) w środowisku deweloperistycznym lub testowym. Wersja debug dostarcza szczegółowe informacje logowania do badania błędów i nie jest zalecana w środowiskach produkcyjnych.

  2. Użyj narzędzia Azure Data Studio, aby nawiązać połączenie z wystąpieniem programu SQL Server i uruchomić następujące polecenie T-SQL, aby zarejestrować rozszerzenie języka R za pomocą CREATE EXTERNAL LANGUAGE.

    Zmodyfikuj ścieżkę w tej instrukcji, aby odzwierciedlić lokalizację pobranego pliku zip rozszerzenia języka (R-lang-extension-linux-release.zip).

    CREATE EXTERNAL LANGUAGE [myR]
    FROM (CONTENT = N'/path/to/R-lang-extension-linux-release.zip', FILE_NAME = 'libRExtension.so.1.1');
    GO
    

    Wykonaj instrukcję dla każdej bazy danych, w której chcesz użyć rozszerzenia języka R.

    Uwaga / Notatka

    R jest słowem zastrzeżonym i nie można go użyć jako nazwy nowej nazwy języka zewnętrznego. Zamiast tego użyj innej nazwy. Na przykład w powyższej instrukcji użyto myR.

Wymagania wstępne

Przed zainstalowaniem niestandardowego środowiska uruchomieniowego języka R zainstaluj następujące wymagania wstępne:

Instalowanie rozszerzeń językowych

Uwaga / Notatka

Jeśli masz zainstalowane Machine Learning Services w programie SQL Server 2019, pakiet mssql-server-extensibility dla Language Extensions jest już zainstalowany i możesz pominąć ten krok.

Uruchom poniższe polecenie, aby zainstalować rozszerzenia języka programu SQL Server na serwerze SUSE Linux Enterprise Server (SLES), który jest używany dla niestandardowego środowiska uruchomieniowego języka R.

# Install as root or sudo
sudo zypper install mssql-server-extensibility

Instalowanie języka R

  1. Jeśli masz zainstalowane usługi Machine Learning Services , język R jest już zainstalowany w programie /opt/microsoft/ropen/3.5.2/lib64/R. Jeśli chcesz nadal używać tej ścieżki jako R_HOME, możesz pominąć ten krok.

    Jeśli chcesz użyć innego środowiska uruchomieniowego języka R, musisz najpierw usunąć microsoft-r-open-mro przed kontynuowaniem instalowania nowej wersji.

    sudo zypper remove microsoft-r-open-mro-3.4.4
    
  2. Zainstaluj R (3.3 lub nowszy) dla systemu SUSE Linux Enterprise Server (SLES). Domyślnie język R jest instalowany w pliku /usr/lib64/R. Ta ścieżka jest twoją R_HOME. Jeśli zainstalujesz język R w innej lokalizacji, zanotuj ścieżkę jako R_HOME.

    Wykonaj następujące kroki, aby zainstalować język R:

    sudo zypper ar -f http://download.opensuse.org/repositories/devel:/languages:/R:/patched/openSUSE_12.3/ R-patched
    sudo zypper --gpg-auto-import-keys ref
    sudo zypper install R-core-libs R-core R-core-doc R-patched
    

    Możesz zignorować ostrzeżenia dotyczące R-tcltk-3.6.1, chyba że potrzebujesz tego pakietu.

Instalowanie biblioteki gcc-c++

Zainstaluj bibliotekę gcc-c++ na serwerze SUSE Linux Enterprise Server (SLES). Jest to używane w programie Rcpp, który jest instalowany później.

sudo zypper install gcc-c++

Niestandardowa instalacja języka R

Uwaga / Notatka

Jeśli zainstalowano język R w domyślnej lokalizacji /usr/lib/R, możesz pominąć tę sekcję i przejść do sekcji Instalowanie pakietu Rcpp .

Aktualizowanie zmiennych środowiskowych

Najpierw zmodyfikuj usługę mssql-launchpadd , aby dodać R_HOME zmiennej środowiskowej do pliku /etc/systemd/system/mssql-launchpadd.service.d/override.conf

  1. Otwieranie pliku za pomocą biblioteki systemctl

    sudo systemctl edit mssql-launchpadd
    
  2. Wstaw następujący tekst w /etc/systemd/system/mssql-launchpadd.service.d/override.conf pliku, który zostanie otwarty. Ustaw wartość R_HOME na niestandardową ścieżkę instalacji języka R.

    [Service]
    Environment="R_HOME=<path to R>"
    
  3. Zapisz i zamknij.

Następnie upewnij się, że libR.so można załadować.

  1. Utwórz plik custom-r.conf w pliku /etc/ld.so.conf.d.

    sudo vi /etc/ld.so.conf.d/custom-r.conf
    
  2. W wyświetlonym pliku dodaj ścieżkę do libR.so z niestandardowej instalacji języka R.

    <path to the R lib>
    
  3. Zapisz nowy plik i zamknij edytor.

  4. Uruchom ldconfig i sprawdź, czy libR.so można załadować, uruchamiając następujące polecenie i sprawdzając, czy można znaleźć wszystkie biblioteki zależne.

    sudo ldconfig
    ldd <path to the R lib>/libR.so
    

Udzielanie dostępu do niestandardowego folderu instalacyjnego języka R

Ustaw opcję datadirectories w sekcji rozszerzalności pliku /var/opt/mssql/mssql.conf na niestandardową instalację R.

sudo /opt/mssql/bin/mssql-conf set extensibility.datadirectories <path to R>

Uruchom ponownie usługę mssql-launchpadd

Uruchom następujące polecenie, aby ponownie uruchomić narzędzie mssql-launchpadd.

sudo systemctl restart mssql-launchpadd

Instalowanie pakietu Rcpp

Wykonaj następujące kroki, aby zainstalować pakiet Rcpp .

  1. Uruchom język R z poziomu powłoki:

    sudo ${R_HOME}/bin/R
    
  2. Uruchom następujący skrypt, aby zainstalować pakiet Rcpp w folderze ${R_HOME}\library.

install.packages("Rcpp", lib = "${R_HOME}/library");

Rejestrowanie rozszerzenia języka

Wykonaj następujące kroki, aby pobrać i zarejestrować rozszerzenie języka R, które jest używane dla niestandardowego środowiska uruchomieniowego języka R.

  1. Pobierz plik R-lang-extension-linux-release.zip z repozytorium GitHub rozszerzeń języka programu SQL Server.

    Alternatywnie możesz użyć wersji debugowania (R-lang-extension-linux-debug.zip) w środowisku deweloperistycznym lub testowym. Wersja debug zawiera szczegółowe informacje logowania w celu zbadania błędów i nie jest zalecana w środowiskach produkcyjnych.

  2. Użyj narzędzia Azure Data Studio, aby nawiązać połączenie z instancją SQL Server i uruchomić następujące polecenie T-SQL, aby zarejestrować rozszerzenie języka R przy użyciu CREATE EXTERNAL LANGUAGE.

    Zmodyfikuj ścieżkę w tej instrukcji, aby odzwierciedlić lokalizację pobranego pliku zip rozszerzenia języka (R-lang-extension-linux-release.zip).

    CREATE EXTERNAL LANGUAGE [myR]
    FROM (CONTENT = N'/path/to/R-lang-extension-linux-release.zip', FILE_NAME = 'libRExtension.so.1.1');
    GO
    

    Wykonaj instrukcję dla każdej bazy danych, w której chcesz użyć rozszerzenia języka R.

    Uwaga / Notatka

    R jest słowem zastrzeżonym i nie można go użyć jako nazwy nowej nazwy języka zewnętrznego. Zamiast tego użyj innej nazwy. Na przykład w powyższej instrukcji użyto myR.

Włączanie skryptu zewnętrznego

Skrypt zewnętrzny R można wykonać za pomocą procedury składowanej sp_execute_external script.

Aby włączyć skrypty zewnętrzne, użyj narzędzia Azure Data Studio , aby wykonać poniższą instrukcję.

sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE;  

Weryfikowanie instalacji

Użyj poniższego skryptu SQL, aby zweryfikować instalację i funkcjonalność niestandardowego środowiska uruchomieniowego języka R. W poniższym przykładowym skrypcie myR jest używany jako nazwa języka, ponieważ nie można podać domyślnej nazwy języka R dla niestandardowego środowiska uruchomieniowego.

EXEC sp_execute_external_script
    @language =N'myR',
    @script=N'
print(R.home());
print(file.path(R.home("bin"), "R"));
print(R.version);
print("Hello RExtension!");'

Znane problemy

Jeśli używasz środowiska uruchomieniowego języka R udostępnionego w ramach usług SQL Server Machine Learning Services , ustawiając wartość R_HOME na C:\Program Files\Microsoft SQL Server\MSSQL15.<INSTANCE_NAME>\R_SERVICES podczas rejestrowania rozszerzenia języka, może wystąpić następujący błąd podczas wykonywania dowolnego zewnętrznego niestandardowego skryptu języka R za pomocą skryptu sp_execute_external.

Błąd: wyczerpana pamięć alokacyjna (osiągnięto limit kons?)

Aby rozwiązać ten problem:

  1. Ustaw zmienną środowiskową R_NSIZE wskazującą liczbę obiektów o stałym rozmiarze (cons cells) na rozsądną wartość, na przykład 200000.
  2. Uruchom ponownie usługę Launchpad i ponów próbę wykonania skryptu.

Znane problemy

Jeśli libstdc++.so.6 nie jest poprawną wersją, zostanie wyświetlony następujący błąd:

Exthost: Nie udało się załadować rozszerzenia /lib64/libstdc++.so.6: wersja `GLIBCXX_3.4.20' nie znaleziona (wymagana przez /home/mssql_satellite/externallanguagessandboxpath/libRExtension.so.1.1)

Dalsze kroki