SQL Server 2019 빅 데이터 클러스터에서 Machine Learning Services를 사용하여 Python 및 R 스크립트 실행

적용 대상: SQL Server 2019(15.x)

중요

Microsoft SQL Server 2019 빅 데이터 클러스터 추가 기능이 사용 중지됩니다. SQL Server 2019 빅 데이터 클러스터에 대한 지원은 2025년 2월 28일에 종료됩니다. Software Assurance를 사용하는 SQL Server 2019의 모든 기존 사용자는 플랫폼에서 완전히 지원되며, 소프트웨어는 지원 종료 시점까지 SQL Server 누적 업데이트를 통해 계속 유지 관리됩니다. 자세한 내용은 공지 블로그 게시물Microsoft SQL Server 플랫폼의 빅 데이터 옵션을 참조하세요.

SQL Server 빅 데이터 클러스터의 마스터 인스턴스에서 Machine Learning Services를 사용하여 Python 및 R 스크립트를 실행할 수 있습니다.

참고 항목

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 스크립트를 실행할 준비가 되었습니다. 다음 단계의 빠른 시작을 참고하여 첫 번째 스크립트를 실행하세요.

참고 항목

가용성 그룹 수신기 연결에는 구성 설정을 설정할 수 없습니다. 빅 데이터 클러스터가 고가용성으로 배포되는 경우 각 복제본(replica)의 집합 external scripts enabled입니다. 고가용성 클러스터에서 사용하도록 설정을 참조하세요.

고가용성 클러스터에서 사용하도록 설정하세요.

SQL Server 빅 데이터 클러스터를 고가용성으로 배포하면 배포가 마스터 인스턴스에 대해 가용성 그룹을 만듭니다. Machine Learning Services를 사용하도록 설정하려면 가용성 그룹의 각 인스턴스에 external scripts enabled를 설정합니다. 빅 데이터 클러스터의 경우 SQL Server 마스터 인스턴스의 각 복제본(replica)에 sp_configure를 실행해야 합니다.

다음 섹션에서는 각 인스턴스에서 외부 스크립트를 사용하도록 설정하는 방법을 설명합니다.

각 인스턴스에 대해 외부 부하 분산 장치 만들기

가용성 그룹의 각 복제본(replica)에 대해 인스턴스에 연결할 수 있도록 부하 분산 장치를 만듭니다.

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

각 부하 분산 장치는 마스터 복제본(replica) 엔드포인트입니다.

각 복제본(replica) 스크립트 실행 사용 설정

  1. 마스터 복제본(replica) 엔드포인트의 IP 주소를 가져옵니다.

    다음 명령은 복제본(replica) 엔드포인트에 대한 외부 IP 주소를 반환합니다.

    kubectl get services <load-balancer-name> -n <kubernetes namespace>

    이 시나리오에서 각 복제본(replica) 대한 외부 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
    

    참고 항목

    외부 IP 주소를 확인할 수 있을 때까지 시간이 걸릴 수 있습니다. 각 엔드포인트가 외부 IP 주소를 반환할 때까지 위의 스크립트를 주기적으로 실행합니다.

  2. 마스터 복제본(replica) 엔드포인트로 연결하고 스크립트 실행을 사용하도록 설정합니다.

    다음 문을 실행합니다.

    EXEC sp_configure 'external scripts enabled', 1
    RECONFIGURE WITH OVERRIDE
    GO
    

    예를 들어, 앞에 나온 명령을 sqlcmd로 실행할 수 있습니다. 다음 예제에서는 마스터 복제본(replica) 엔드포인트에 연결하고 스크립트 실행을 사용하도록 설정합니다. 사용자 환경에 대한 스크립트 값을 업데이트합니다.

    sqlcmd -S <IP address>,1533 -U <user name> -P <password> -Q "EXEC sp_configure 'external scripts enabled', 1; RECONFIGURE WITH OVERRIDE;"
    

    각 복제본(replica)에 대해 단계를 반복합니다.

데모

다음 이미지에서는 이 구문 분석 프로세스를 보여줍니다.

A screenshot of the command prompt providing a demo of the steps necessary to enable external scripts.

이제 빅 데이터 클러스터의 마스터 인스턴스에서 Python 및 R 스크립트를 실행할 준비가 되었습니다. 다음 단계의 빠른 시작을 참고하여 첫 번째 스크립트를 실행하세요.

마스터 복제본(replica) 엔드포인트 삭제

Kubernetes 클러스터에서 각 복제본(replica)에 대한 엔드포인트를 삭제합니다. 엔드포인트는 부하 분산 서비스로 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 빠른 시작

R 빠른 시작

SQL Server 빅 데이터 클러스터 기계 학습 자습서

Python 자습서

스키 대여(선형 회귀)

고객 분류(K-Means 클러스터링)

NYC 택시 팁(분류)

R 자습서

스키 대여(의사 결정 트리)

고객 분류(K-Means 클러스터링)

NYC 택시 팁(분류)

SQL Server 빅 데이터 클러스터 기계 학습 방법 가이드

데이터 탐색 및 모델링

데이터 형식 변환

배포

예측

패키지 관리

새 Python 패키지 설치

새 R 패키지 설치

Monitor

보안

Spark Machine Learning

다음 단계