Udostępnij za pomocą


Instalowanie usług SQL Server 2019 Machine Learning Services (Python i R) w systemie Linux

Dotyczy: SQL Server 2019 (15.x) w systemie Linux

Ten artykuł zawiera instrukcje dotyczące instalacji usług SQL Server Machine Learning Services w systemie Linux. Skrypty języka Python i języka R można wykonywać w bazie danych przy użyciu usług Machine Learning Services.

Usługi Machine Learning Services można zainstalować w systemach Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server (SLES) i Ubuntu. Aby uzyskać więcej informacji, zobacz sekcję Obsługiwane platformy w temacie Wskazówki dotyczące instalacji programu SQL Server w systemie Linux.

Ważne

Te instrukcje są specyficzne dla programu SQL Server 2019 (15.x). W przypadku programu SQL Server 2022 (16.x), gdzie kroki instalacji różnią się, zobacz Instalowanie usług SQL Server 2022 Machine Learning Services (Python i R) w systemie Linux.

Lista kontrolna preinstalacji

  • Wskazówki dotyczące instalacji programu SQL Server w systemie Linux i weryfikowania instalacji.

  • Sprawdź repozytoria systemu Linux programu SQL Server dla rozszerzeń języka Python i R. Jeśli skonfigurowano już repozytoria źródłowe na potrzeby instalacji aparatu bazy danych, możesz uruchomić polecenia instalacji pakietu mssql-mlservices przy użyciu tej samej rejestracji repozytorium.

  • (Tylko język R) Program Microsoft R Open (MRO) udostępnia podstawową dystrybucję języka R dla funkcji języka R w programie SQL Server i jest wymaganiem wstępnym dla korzystania z programu RevoScaleR, MicrosoftML i innych pakietów języka R zainstalowanych z usługami Machine Learning Services.

    • Wymagana wersja to MRO 3.5.2.
    • Zarejestruj repozytorium packages.microsoft.com zgodnie z opisem w dalszej części tego artykułu, aby zainstalować dystrybucję MRO: microsoft-r-open-mro i microsoft-r-open-mkl.
    • Zapoznaj się z sekcjami instalacji w dalszej części tego artykułu, aby dowiedzieć się, jak zainstalować środowisko MRO.
  • Powinno być narzędzie do uruchamiania poleceń języka T-SQL.

Lista pakietów

Na urządzeniu połączonym z Internetem pakiety są pobierane i instalowane niezależnie od aparatu bazy danych przy użyciu instalatora pakietów dla każdego systemu operacyjnego. W poniższej tabeli opisano wszystkie dostępne pakiety, ale w przypadku języków R i Python należy określić pakiety, które zapewniają pełną instalację funkcji lub minimalną instalację funkcji.

Dostępne pakiety instalacyjne:

Nazwa pakietu Dotyczy Description
mssql-server-extensibility Wszystko Struktura rozszerzalności używana do uruchamiania języków Python i R.
microsoft-openmpi Python, R Interfejs przekazywania komunikatów używany przez biblioteki Rev* do przetwarzania równoległego w systemie Linux.
mssql-mlservices-python Python Dystrybucja typu open source oprogramowania Anaconda i języka Python.
mssql-mlservices-mlm-py Python Pełna instalacja. Udostępnia revoscalepy, microsoftml oraz wstępnie wytrenowane modele do ekstrakcji cech z obrazów i analizy sentymentu tekstu.
mssql-mlservices-packages-py Python Minimalna instalacja. Udostępnia biblioteki revoscalepy i microsoftml.

Wyklucza wstępnie wytrenowane modele.
microsoft-r-open* R Dystrybucja typu open source języka R składająca się z trzech pakietów.
mssql-mlservices-mlm-r R Pełna instalacja. Zapewnia: RevoScaleR, MicrosoftML, sqlRUtils, olapR, wstępnie wytrenowane modele do cechowania obrazu i analizy tonacji tekstu.
mssql-mlservices-packages-r R Minimalna instalacja. Zapewnia revoScaleR, sqlRUtils, MicrosoftML, olapR.

Wyklucza wstępnie wytrenowane modele.

Instalowanie w systemie RHEL

Wykonaj następujące kroki, aby zainstalować usługi SQL Server Machine Learning Services w systemie Red Hat Enterprise Linux (RHEL).

Instalowanie funkcji MRO w systemie RHEL

Następujące polecenia rejestrują repozytorium dostarczające MRO. Po rejestracji polecenia do instalowania innych pakietów R, takich jak mssql-mlservices-mml-r, automatycznie uwzględniają MRO jako zależność pakietu.

# Import the Microsoft repository key

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc

# Set the location of the package repo at the "prod" directory
# The following command is for version 8.x
# To get the version for 6.x or 7.x, replace 8 with 6 or 7, respectively.
rpm -Uvh https://packages.microsoft.com/config/rhel/8/packages-microsoft-prod.rpm

# Update packages on your system (optional)
yum update

Opcje instalacji dla języków Python i R:

  • Zainstaluj obsługę języka na podstawie wymagań (pojedynczych lub wielu języków).
  • Pełna instalacja udostępnia wszystkie dostępne funkcje, w tym wstępnie wytrenowane modele uczenia maszynowego.
  • Minimalna instalacja wyklucza modele, ale nadal ma wszystkie funkcje.

Wskazówka

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

Pełna instalacja

Zawiera:

  • Język Python typu open source
  • Język R typu open source
  • Struktura rozszerzalności
  • Microsoft-openmpi
  • Rozszerzenia (Python, R)
  • Biblioteki uczenia maszynowego
  • Wstępnie wytrenowane modele dla języków Python i R
# Install as root or sudo
# Add everything (all R, Python)
# Be sure to include -9.4.7* in mlservices package names
sudo yum install mssql-mlservices-mlm-py-9.4.7*
sudo yum install mssql-mlservices-mlm-r-9.4.7*

Minimalna instalacja

Zawiera:

  • Język Python typu open source
  • Język R typu open source
  • Struktura rozszerzalności
  • Microsoft-openmpi
  • Biblioteki Core Revo*
  • Biblioteki uczenia maszynowego
# Install as root or sudo
# Minimum install of R, Python extensions
# Be sure to include -9.4.6* in mlservices package names
sudo yum install mssql-mlservices-packages-py-9.4.7*
sudo yum install mssql-mlservices-packages-r-9.4.7*

Instalowanie w systemie Ubuntu

Wykonaj następujące kroki, aby zainstalować usługi SQL Server Machine Learning Services w systemie Ubuntu.

Instalowanie funkcji MRO w systemie Ubuntu

Następujące polecenia rejestrują repozytorium dostarczające MRO. Po rejestracji, polecenia do instalowania innych pakietów R, takich jak mssql-mlservices-mml-r, automatycznie zawierają MRO jako zależność pakietu.

# Install as root
sudo su

# Optionally, if your system does not have the https apt transport option
apt-get install apt-transport-https

# If you are on Ubuntu 20.04, install the following package (MRO 3.5 has a dependency on libtinfo.so.5 in Ubuntu 20.04)
apt-get install libncurses5

# Set the location of the package repo the "prod" directory containing the distribution.
# This example specifies 20.04. Replace with 16.04 or 14.04 if you want those versions.
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb

# Register the repo
dpkg -i packages-microsoft-prod.deb

# Update packages on your system (required), including MRO installation
sudo apt-get update

Opcje instalacji dla języków Python i R:

  • Zainstaluj obsługę języka na podstawie wymagań (pojedynczych lub wielu języków).
  • Pełna instalacja udostępnia wszystkie dostępne funkcje, w tym wstępnie wytrenowane modele uczenia maszynowego.
  • Minimalna instalacja wyklucza modele, ale nadal ma wszystkie funkcje.

Wskazówka

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

Pełna instalacja

Zawiera:

  • Język Python typu open source
  • Język R typu open source
  • Struktura rozszerzalności
  • Microsoft-openmpi
  • Rozszerzenia języka Python
  • Rozszerzenia języka R
  • Biblioteki uczenia maszynowego
  • Wstępnie wytrenowane modele dla języków Python i R
# Install as root or sudo
# Add everything (all R, Python)
# There is no asterisk in this full install
sudo apt-get install mssql-mlservices-mlm-py
sudo apt-get install mssql-mlservices-mlm-r

Minimalna instalacja

Zawiera:

  • Język Python typu open source
  • Język R typu open source
  • Struktura rozszerzalności
  • Microsoft-openmpi
  • Biblioteki Core Revo*
  • Biblioteki uczenia maszynowego
# Install as root or sudo
# Minimum install of R, Python
# No asterisk
sudo apt-get install mssql-mlservices-packages-py
sudo apt-get install mssql-mlservices-packages-r

Instalowanie w systemie SLES

Wykonaj następujące kroki, aby zainstalować usługi SQL Server Machine Learning Services na serwerze SUSE Linux Enterprise Server (SLES).

Instalowanie funkcji MRO w systemie SLES

Następujące polecenia rejestrują repozytorium dostarczające MRO. Po rejestracji, polecenia do instalowania innych pakietów R, takich jak mssql-mlservices-mml-r, automatycznie uwzględniają MRO jako zależność pakietu.

# Install as root
sudo su

# Set the location of the package repo at the "prod" directory containing the distribution
# This example is for SLES12
zypper ar -f https://packages.microsoft.com/sles/12/prod packages-microsoft-com

# Update packages on your system (optional)
zypper update

Opcje instalacji dla języków Python i R:

  • Zainstaluj obsługę języka na podstawie wymagań (pojedynczych lub wielu języków).
  • Pełna instalacja udostępnia wszystkie dostępne funkcje, w tym wstępnie wytrenowane modele uczenia maszynowego.
  • Minimalna instalacja wyklucza modele, ale nadal ma wszystkie funkcje.

Pełna instalacja

Zawiera:

  • Język Python typu open source
  • Język R typu open source
  • Struktura rozszerzalności
  • Microsoft-openmpi
  • Rozszerzenia dla języków Python i R
  • Biblioteki uczenia maszynowego
  • Wstępnie wytrenowane modele dla języków Python i R
# Install as root or sudo
# Add everything (all R, Python)
sudo zypper install mssql-mlservices-mlm-py
sudo zypper install mssql-mlservices-mlm-r

Minimalna instalacja

Zawiera:

  • Język Python typu open source
  • Język R typu open source
  • Struktura rozszerzalności
  • Microsoft-openmpi
  • Biblioteki Core Revo*
  • Biblioteki uczenia maszynowego
# Install as root or sudo
# Minimum install of R, Python extensions
sudo zypper install mssql-mlservices-packages-py
sudo zypper install mssql-mlservices-packages-r

Konfiguracja po instalacji (wymagana)

Dodatkowa konfiguracja odbywa się głównie za pomocą narzędzia mssql-conf.

  1. Po zakończeniu instalacji pakietu uruchom instalatora mssql-conf i postępuj zgodnie z monitami, aby ustawić sa hasło i wybrać wersję. Wykonaj ten krok tylko wtedy, gdy program SQL Server w systemie Linux nie jest jeszcze skonfigurowany.

    sudo /opt/mssql/bin/mssql-conf setup
    
  2. Zaakceptuj umowy licencyjne dotyczące rozszerzeń języka Python i języka R typu open source. Użyj następującego polecenia:

    # Run as SUDO or root
    # Use set + EULA
    sudo /opt/mssql/bin/mssql-conf set EULA accepteulaml Y
    

    Konfiguracja wykrywa pakiety mssql-mlservices i monituje o akceptację umowy EULA (jeśli nie została wcześniej zaakceptowana) po uruchomieniu mssql-conf setup. Aby uzyskać więcej informacji na temat parametrów umowy EULA, zobacz Konfigurowanie programu SQL Server za pomocą narzędzia mssql-conf.

  3. Włącz wychodzący dostęp sieciowy. Dostęp sieciowy wychodzący jest domyślnie wyłączony. Aby włączyć żądania wychodzące, ustaw właściwość logiczną "outboundnetworkaccess" przy użyciu narzędzia mssql-conf. Aby uzyskać więcej informacji, zobacz Configure SQL Server on Linux with mssql-conf (Konfigurowanie programu SQL Server w systemie Linux przy użyciu programu mssql-conf).

    # Run as SUDO or root
    # Enable outbound requests over the network
    sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1
    
  4. W przypadku integracji funkcji języka R ustaw zmienną MKL_CBWR środowiskową, aby zapewnić spójne dane wyjściowe z obliczeń biblioteki MKL (Intel Math Kernel Library).

    • Edytuj lub utwórz plik .bash_profile w katalogu głównym użytkownika, dodając wiersz export MKL_CBWR="AUTO" do pliku.

    • Wykonaj ten plik, wpisując polecenie source .bash_profile w wierszu polecenia powłoki bash.

  5. Uruchom ponownie usługę Launchpad programu SQL Server i instancję aparatu bazy danych, aby odczytać zaktualizowane wartości z pliku INI. Po zmodyfikowaniu ustawienia związanego z rozszerzalnością zostanie wyświetlony komunikat powiadomienia.

    systemctl restart mssql-launchpadd
    
    systemctl restart mssql-server.service
    
  6. Włącz wykonywanie skryptów zewnętrznych. Możesz nawiązać połączenie z wystąpieniem programu SQL Server przy użyciu dowolnego znanego narzędzia klienckiego programu SQL Server, takiego jak sqlcmd, SQL Server Management Studio (SSMS) lub rozszerzenie MSSQL dla programu Visual Studio Code.

    EXECUTE sp_configure 'external scripts enabled', 1;
    
    RECONFIGURE WITH OVERRIDE;
    
  7. Uruchom ponownie usługę Launchpad.

Sprawdzanie instalacji

Biblioteki języka R (MicrosoftML, RevoScaleR i inne) można znaleźć na stronie /opt/mssql/mlservices/libraries/RServer.

Biblioteki języka Python (microsoftml i revoscalepy) można znaleźć na stronie /opt/mssql/mlservices/libraries/PythonServer.

Aby zweryfikować instalację:

  • Uruchom skrypt języka T-SQL, który wykonuje systemową procedurę składowaną wywołującą język Python lub R przy użyciu narzędzia do wykonywania zapytań.

  • Wykonaj następujące polecenie języka T-SQL, aby przetestować wykonywanie języka R w programie SQL Server. Błędy? Spróbuj ponownie uruchomić usługę. sudo systemctl restart mssql-server.service

    EXECUTE sp_execute_external_script
        @language = N'R',
        @script = N'
            OutputDataSet <- InputDataSet', @input_data_1 = N'SELECT 1 AS hello'
        WITH RESULT SETS
    (
            ([hello] INT NOT NULL)
    );
    GO
    
  • Wykonaj następujące polecenie języka T-SQL, aby przetestować wykonywanie języka Python w programie SQL Server.

    EXECUTE sp_execute_external_script
        @language = N'Python',
        @script = N'
            OutputDataSet = InputDataSet;', @input_data_1 = N'SELECT 1 AS hello'
        WITH RESULT SETS
    (
            ([hello] INT NOT NULL)
    );
    GO
    

Instalacja nienadzorowana

Korzystając z instalacji nienadzorowanej dla mechanizmu bazy danych, dodaj pakiety dla mssql-mlservices i EULAs.

Użyj jednego z parametrów umowy EULA specyficznych dla mlservices dla dystrybucji języka R i Python typu open source:

sudo /opt/mssql/bin/mssql-conf setup accept-eula-ml

Pełna umowa EULA została udokumentowana w temacie Konfigurowanie programu SQL Server w systemie Linux przy użyciu narzędzia mssql-conf.

Instalacja w trybie offline

Postępuj zgodnie z instrukcjami instalacji w trybie offline , aby uzyskać instrukcje dotyczące instalowania pakietów. Znajdź witrynę pobierania, a następnie pobierz określone pakiety przy użyciu poniższej listy pakietów.

Wskazówka

Kilka narzędzi do zarządzania pakietami udostępnia polecenia, które mogą ułatwić określenie zależności pakietów. W przypadku yum użyj sudo yum deplist [package]. W przypadku systemu Ubuntu użyj polecenia sudo apt-get install --reinstall --download-only [package name] , a następnie dpkg -I [package name].deb.

Pobierz witrynę

Pobierz pakiety z witryny https://packages.microsoft.com/. mlservices Wszystkie pakiety dla języków Python i R są umieszczone w tym samym miejscu co pakiet silnika bazy danych. Podstawowa mlservices wersja pakietów to 9.4.6. Pamiętaj, że pakiety microsoft-r-open znajdują się w innym repozytorium.

Ścieżki RHEL/8

Package Lokalizacja pobierania
mssql / mlservices pakiety https://packages.microsoft.com/rhel/8/mssql-server-2019/
microsoft-r-open Pakiety https://packages.microsoft.com/rhel/8/prod/

Ścieżki Ubuntu/20.04

Package Lokalizacja pobierania
mssql / mlservices Pakiety https://packages.microsoft.com/ubuntu/20.04/mssql-server-2019/pool/main/m/
microsoft-r-open Pakiety https://packages.microsoft.com/ubuntu/20.04/prod/pool/main/m/

Ścieżki SLES/12

Package Lokalizacja pobierania
mssql / mlservices Pakiety https://packages.microsoft.com/sles/12/mssql-server-2019/
microsoft-r-open Pakiety https://packages.microsoft.com/sles/12/prod/

Wybierz rozszerzenia, których chcesz użyć, i pobierz pakiety niezbędne dla określonego języka. Nazwy plików zawierają informacje o platformie w sufiksie.

Lista pakietów

W zależności od rozszerzeń, których chcesz użyć, pobierz pakiety niezbędne dla określonego języka. Dokładne nazwy plików zawierają informacje o platformie w sufiksie, ale następujące nazwy plików powinny być wystarczające, aby zidentyfikować, które pliki pobrać.

# Core packages
mssql-server-15.0.1000
mssql-server-extensibility-15.0.1000

# R
microsoft-openmpi-3.0.0
microsoft-r-open-mkl-3.5.2
microsoft-r-open-mro-3.5.2
mssql-mlservices-packages-r-9.4.7.64
mssql-mlservices-mlm-r-9.4.7.64

# Python
microsoft-openmpi-3.0.0
mssql-mlservices-python-9.4.7.64
mssql-mlservices-packages-py-9.4.7.64
mssql-mlservices-mlm-py-9.4.7.64