Linux에 SQL Server 2022 Machine Learning Services(Python 및 R) 설치
적용 대상: SQL Server 2022(16.x) - Linux
이 문서에서는 Linux에 SQL Server Machine Learning Services를 설치하는 과정을 안내합니다. Machine Learning Services를 사용하여 데이터베이스 내에서 Python 및 R 스크립트를 실행할 수 있습니다.
Machine Learning Services는 Ubuntu 및 RHEL(Red Hat Enterprise Linux)에 설치할 수 있습니다. 현재, SLES(SUSE Linux Enterprise Server)는 지원되지 않습니다.
Linux 배포를 실행하는 Docker 컨테이너에 ML 서비스를 설치할 수 있습니다. Docker 컨테이너 내에서 단계는 아래와 같습니다.
자세한 내용은 SQL Server on Linux 설치 지침의 지원되는 플랫폼 섹션을 참조하세요.
중요
이 문서에서는 SQL Server 2022(16.x)를 참조합니다. SQL Server 2019 on Linux의 경우 Linux에 SQL Server 2019 Machine Learning Services(Python 및 R) 설치를 참조하세요. Windows의 SQL Server의 경우 Windows에서 SQL Server 2022 Machine Learning Services(Python 및 R) 설치를 참조하세요.
설치 전 검사 목록
SQL Server on Linux를 설치한 다음, 설치를 확인합니다.
Python 및 R 확장의 SQL Server Linux 리포지토리를 확인합니다. 데이터베이스 엔진 설치에 대한 원본 리포지토리를 이미 구성한 경우 동일한 리포지토리 등록을 사용하여 mssql-server-extensibility 패키지 설치 명령을 실행할 수 있습니다.
T-SQL 명령을 실행하기 위한 도구가 있어야 합니다.
- Linux, Windows 및 macOS에서 실행되는 무료 데이터베이스 도구인 Azure Data Studio를 사용할 수 있습니다.
이 설치 프로세스 중에 SQL Server 인스턴스를 다시 시작해야 합니다.
패키지 목록
인터넷에 연결된 디바이스에서 패키지는 각 운영 체제의 패키지 설치 프로그램을 사용하여 데이터베이스 엔진과 독립적으로 다운로드 및 설치됩니다.
SQL Server 2022(16.x) on Linux에 사용 가능한 설치 패키지:
패키지 이름 | 적용 대상 | 설명 |
---|---|---|
mssql-server-extensibility |
모두 | Python 및 R을 실행하는 데 사용되는 확장성 프레임워크입니다. |
mssql-server-extensibility 패키지 설치
Linux 배포에 해당하는 SQL Server on Linux 를 설치하고 업그레이드하기 위한 리포지토리를 구성합니다. 패키지
mssql-server-extensibility
및 관련 종속성libssl-dev
를 사용하여 SQL Server 확장성 기능을 설치합니다.Ubuntu
sudo apt-get install mssql-server-extensibility libssl-dev
RHEL
yum install mssql-server-extensibility
SQL Server ML 서비스에 대한 EULA(최종 사용자 사용권 계약)를 검토하고 동의합니다.
sudo /opt/mssql/bin/mssql-conf set EULA accepteulaml Y
EULA의 동의를 완료하려면 SQL Server 인스턴스를 다시 시작해야 합니다.
sudo systemctl restart mssql-server
런타임 및 패키지 설치
R 지원 설정
R 런타임 설치
원하는 R 버전을 다운로드하여 설치합니다. cran.r-project.org에서 바로 다운로드할 수 있는 R 4.2 이상 버전을 선택합니다. 원하는 런타임에 대한 지침을 따릅니다.
관리자 R 터미널 열기:
sudo R
다음을 실행하여
CompatibilityAPI
및RevoScaleR
에 대한 종속 요소를 설치합니다.# R Terminal install.packages("iterators", lib="/usr/lib/R/library") install.packages("foreach", lib="/usr/lib/R/library") install.packages("R6", lib="/usr/lib/R/library") install.packages("jsonlite", lib="/usr/lib/R/library")
Linux용
CompatibilityAPI
및RevoScaleR
을 다운로드하여 설치합니다.install.packages("https://aka.ms/sqlml/r4.2/linux/CompatibilityAPI_1.1.0_R_x86_64-pc-linux-gnu.tar.gz", repos=NULL, lib="/usr/lib/R/library") install.packages("https://aka.ms/sqlml/r4.2/linux/RevoScaleR_10.0.1_R_x86_64-pc-linux-gnu.tar.gz", repos=NULL, lib="/usr/lib/R/library")
R 터미널에서
RevoScaleR
설치를 확인합니다.library("RevoScaleR")
SQL Server를 사용하여 R 런타임 구성
설치된 R 런타임을 Linux용 SQL Server를 사용하여 구성합니다. 여기서
path/to/
는 R 이진에 대한 파일 경로이고RFolderVersion
은 R 런타임 설치에 대한 버전별 폴더 이름(예:R4.2
)입니다.sudo /opt/mssql/bin/mssql-conf set extensibility rbinpath /usr/lib/R/bin/R sudo /opt/mssql/bin/mssql-conf set extensibility datadirectories /usr/lib/R
Launchpadd
서비스를 다시 시작합니다.systemctl restart mssql-launchpadd.service
sp_configure
시스템 저장 프로시저를 사용하여 외부 스크립트를 허용하도록 Linux용 SQL Server를 구성합니다.EXECUTE sp_configure 'external scripts enabled', 1; GO RECONFIGURE; GO
R 버전을 반환하는 간단한 T-SQL 명령을 실행하여 설치를 확인합니다.
EXECUTE sp_execute_external_script @script = N'print(R.version)', @language = N'R'; GO
Python 지원 설정
Python 런타임 설치
Python 다운로드하고 설치합니다. python.org에서 바로 다운로드할 수 있는 Python 3.10 버전을 선택합니다. 제공된 지침을 따르세요. 또한 런타임 버전에 대한 공유 Python 런타임 라이브러리를 설치합니다. 예를 들어 Ubuntu용
libpython3.10
을 설치하려면sudo apt-get install libpython3.10
을 선택합니다.루트 사용자에 대해
revoscalepy
를 다운로드하고 설치합니다.sudo pip install dill numpy==1.22.0 pandas patsy python-dateutil sudo pip install https://aka.ms/sqlml/python3.10/linux/revoscalepy-10.0.1-py3-none-any.whl --target=/usr/lib/python3.10/dist-packages
Python 터미널에서
revoscalepy
설치를 확인합니다. 라이브러리를 가져올 수 있는지 확인합니다.import revoscalepy
SQL Server를 사용하여 Python 런타임 구성
SQL Server에서 설치된 Python 런타임을 구성합니다. 여기서
pythonbinbath
는 설치된 python 이진 파일의 경로로 설정되며datadirectories
에는 패키지가 원하는 python 버전에 대해 설치되는 경로(예:/usr/lib/python3.10/dist-packages
)를 포함합니다. 다음 스크립트를 실제 설치 경로와 함께 사용합니다.sudo /opt/mssql/bin/mssql-conf set extensibility pythonbinpath /usr/bin/python3.10 sudo /opt/mssql/bin/mssql-conf set extensibility datadirectories /usr/lib:/usr/lib/python3.10/dist-packages
Launchpadd
서비스를 다시 시작합니다.systemctl restart mssql-launchpadd.service
sp_configure
시스템 저장 프로시저를 사용하여 외부 스크립트를 허용하도록 Linux용 SQL Server를 구성합니다.EXECUTE sp_configure 'external scripts enabled', 1; GO RECONFIGURE; GO
Python 버전을 반환하는 간단한 T-SQL 명령을 실행하여 설치를 확인합니다.
EXECUTE sp_execute_external_script @script = N'import sys;print(sys.version)', @language = N'Python'; GO
Java 설치
Java 언어 확장을 설치하려면 Linux에서 SQL Server Java 언어 확장 설치를 참조하세요.
설치 확인
설치의 유효성을 검사하려면 다음 방법 중 하나를 사용합니다.
쿼리 도구를 사용하여 Python 또는 R 호출 시스템 저장 프로시저를 실행하는 T-SQL 스크립트를 실행합니다.
다음 SQL 명령을 실행하여 SQL Server에서 R 실행을 테스트합니다. 오류가 발생하는 경우 서비스를 다시 시작해 보세요(
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
다음 SQL 명령을 실행하여 SQL Server에서 Python 실행을 테스트합니다.
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
오프라인 설치
패키지 설치 단계의 오프라인 설치 지침을 따릅니다. 다운로드 사이트를 찾은 후 아래 패키지 목록을 사용하여 특정 패키지를 다운로드합니다.
팁
여러 패키지 관리 도구에서 패키지 종속성을 확인하는 데 도움이 되는 명령을 제공합니다. Yum의 경우 sudo yum deplist [package]
를 사용합니다. Ubuntu의 경우 dpkg -I [package name].deb
와 sudo apt-get install --reinstall --download-only [package name]
을 차례로 사용합니다.
Python 및 R 런타임용 독립 실행형 RevoScale 패키지
RevoScale 패키지는 Python 및 R 런타임을 사용하는 독립 실행형 패키지로도 지원됩니다. 독립 실행형 시나리오에 대해 Python 또는 R 런타임을 설정하려면 각각 Python 런타임 설치 및 R 런타임 설치 섹션의 지침을 따릅니다.