적용 대상: SQL Server 2019(15.x)
Important
Microsoft SQL Server 2019 빅 데이터 클러스터는 사용 중지되었습니다. SQL Server 2019 빅 데이터 클러스터에 대한 지원은 2025년 2월 28일부터 종료되었습니다. 자세한 내용은 Microsoft SQL Server 플랫폼의 공지 블로그 게시물 및 빅 데이터 옵션을 참조하세요.
Machine Learning Services를 사용하여 SQL Server 빅 데이터 클러스터의 마스터 인스턴스에서 Python 및 R 스크립트를 실행할 수 있습니다.
Note
Java 언어 확장을 사용하여 SQL Server 빅 데이터 클러스터의 마스터 인스턴스에서 Java 코드를 실행할 수도 있습니다. 아래 단계에 따라 SQL Server 언어 확장도 사용하도록 설정합니다.
Machine Learning Services 사용 설정
Machine Learning Services는 SQL Server 2019 빅 데이터 클러스터에 기본적으로 설치되며 별도의 설치가 필요하지 않습니다.
Machine Learning Services를 사용하도록 설정하려면 마스터 인스턴스에서 다음 문을 실행합니다.
EXEC sp_configure 'external scripts enabled', 1
RECONFIGURE WITH OVERRIDE
GO
이제 빅 데이터 클러스터의 마스터 인스턴스에서 Python 및 R 스크립트를 실행할 준비가 되었습니다. 첫 번째 스크립트를 실행하려면 다음 단계에서 빠른 시작을 참조하세요.
Note
가용성 그룹 수신기 연결에서는 구성 설정을 설정할 수 없습니다. 빅 데이터 클러스터가 고가용성으로 배포되는 경우 각 복제본에 external scripts enabled
집합이 설정됩니다.
고가용성을 사용하는 클러스터에서 사용을 참조하세요.
고가용성 클러스터에서 사용
고가 용성을 사용하여 SQL Server 빅 데이터 클러스터를 배포하는 경우 배포는 마스터 인스턴스에 대한 가용성 그룹을 만듭니다. Machine Learning Services를 사용하도록 설정하려면 가용성 그룹의 각 인스턴스에 설정합니다 external scripts enabled
. 빅 데이터 클러스터의 경우 SQL Server 마스터 인스턴스의 각 복제본에서 실행 sp_configure
해야 합니다.
다음 섹션에서는 각 인스턴스에서 외부 스크립트를 사용하도록 설정하는 방법을 설명합니다.
각 인스턴스에 대한 외부 부하 분산 장치 만들기
가용성 그룹의 각 복제본에 대해 인스턴스에 연결할 수 있도록 부하 분산 장치를 만듭니다.
kubectl expose pod <pod-name> --port=<connection port number> --name=<load-balancer-name> --type=LoadBalancer -n <kubernetes namespace>
이 문서의 예제에서는 다음 값을 사용합니다.
-
<pod-name>
:master-#
-
<connection port number>
:1533
-
<load-balancer-name>
:mymaster-#
-
<kubernetes namespace>
:mssql-cluster
사용자 환경에 대해 다음 스크립트를 업데이트하고 명령을 실행합니다.
kubectl expose pod master-0 --port=1533 --name=mymaster-0 --type=LoadBalancer -n mssql-cluster
kubectl expose pod master-1 --port=1533 --name=mymaster-1 --type=LoadBalancer -n mssql-cluster
kubectl expose pod master-2 --port=1533 --name=mymaster-2 --type=LoadBalancer -n mssql-cluster
kubectl
는 다음 출력을 반환합니다.
service/mymaster-0 exposed
service/mymaster-1 exposed
service/mymaster-2 exposed
각 부하 분산 장치는 마스터 복제본 엔드포인트입니다.
각 복제본에서 스크립트 실행 기능 허용
마스터 복제본 엔드포인트의 IP 주소를 가져옵니다.
다음 명령은 복제본 엔드포인트에 대한 외부 IP 주소를 반환합니다.
kubectl get services <load-balancer-name> -n <kubernetes namespace>
이 시나리오에서 각 복제본에 대한 외부 IP 주소를 얻으려면 다음 명령을 실행합니다.
kubectl get services mymaster-0 -n mssql-cluster kubectl get services mymaster-1 -n mssql-cluster kubectl get services mymaster-2 -n mssql-cluster
Note
외부 IP 주소를 사용할 수 있기까지 약간의 시간이 걸릴 수 있습니다. 각 엔드포인트가 외부 IP 주소를 반환할 때까지 이전 스크립트를 주기적으로 실행합니다.
마스터 복제본 엔드포인트에 연결하고 스크립트 실행을 사용하도록 설정합니다.
다음 문을 실행합니다.
EXEC sp_configure 'external scripts enabled', 1 RECONFIGURE WITH OVERRIDE GO
이전 명령을
sqlcmd
와 함께 실행할 수 있습니다. 다음 예제에서는 마스터 복제본 엔드포인트에 연결하고 스크립트 실행을 사용하도록 설정합니다. 스크립트의 값을 사용자 환경에 맞게 업데이트합니다.sqlcmd -S <IP address>,1533 -U <user name> -P <password> -Q "EXEC sp_configure 'external scripts enabled', 1; RECONFIGURE WITH OVERRIDE;"
각 복제본에 대해 단계를 반복합니다.
Demonstration
다음 이미지는 이 프로세스를 보여 줍니다.
이제 빅 데이터 클러스터의 마스터 인스턴스에서 Python 및 R 스크립트를 실행할 준비가 되었습니다. 첫 번째 스크립트를 실행하려면 다음 단계에서 빠른 시작을 참조하세요.
마스터 복제본 엔드포인트 삭제
Kubernetes 클러스터에서 각 복제본에 대한 엔드포인트를 삭제합니다. 엔드포인트는 부하 분산 서비스로 Kubernetes에 노출됩니다.
다음 명령은 부하 분산 서비스를 삭제합니다.
kubectl delete svc <load-balancer-name> -n mssql-cluster
이 문서의 예제를 보려면 다음 명령을 실행합니다.
kubectl delete svc mymaster-0 -n mssql-cluster
kubectl delete svc mymaster-1 -n mssql-cluster
kubectl delete svc mymaster-2 -n mssql-cluster
SQL Server 빅 데이터 클러스터 기계 학습 빠른 시작
Python quickstarts
R quickstarts
SQL Server 빅 데이터 클러스터 기계 학습 자습서
Python tutorial
스키 대여(선형 회귀)
고객 분류(K-Means 클러스터링)
NYC 택시 팁(분류)
R tutorials
스키 대여 (의사 결정 트리)
고객 분류(K-Means 클러스터링)
NYC 택시 팁(분류)
SQL Server 빅 데이터 클러스터 기계 학습 방법 가이드
데이터 탐색 및 모델링
데이터 형식 변환
Deploy
Predictions
Package management
새 Python 패키지 설치
새 R 패키지 설치
- R 패키지 정보 가져오기
- sqlmlutils를 사용하여 설치
- miniCRAN 리포지토리 만들기
- R 패키지 사용 팁