SQL Server 빅 데이터 클러스터에 앱을 배포하는 방법

적용 대상: 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 빅 데이터 클러스터에 배포된 애플리케이션은 클러스터의 계산 기능과 같은 많은 이점을 얻을 수 있을 뿐만 아니라 클러스터에서 사용할 수 있는 대규모 데이터에도 액세스할 수 있습니다. 앱이 데이터와 동일한 클러스터에 상주하므로 성능이 크게 향상됩니다.

애플리케이션은 Azure Data CLI(azdata)를 사용하여 배포 및 관리됩니다.

이 문서에는 SQL Server 빅 데이터 클러스터 내의 명령줄에서 앱을 배포하는 방법에 대한 예제가 나와 있습니다. Visual Studio Code에서 사용하는 방법에 대한 자세한 내용은 Visual Studio Code 확장을 참조하세요.

필수 조건

기능

SQL Server 2019에서는 애플리케이션을 만들고, 삭제, 설명, 초기화, 나열, 실행, 업데이트할 수 있습니다. 다음 표에서는 azdata와 함께 사용할 수 있는 애플리케이션 배포 명령에 대해 설명합니다.

명령 설명
azdata login SQL Server 빅 데이터 클러스터에 로그인
azdata app create 애플리케이션 만들기.
azdata app delete 애플리케이션 삭제.
azdata app describe 애플리케이션 설명.
azdata app init 새 애플리케이션 기본 구조 시작.
azdata app list 애플리케이션 나열.
azdata app run 응용 프로그램 실행.
azdata app update 애플리케이션 업데이트.

다음 예제에서와 같이 --help 매개 변수에 대한 도움을 받을 수 있습니다.

azdata app create --help

이어지는 섹션에서는 이러한 명령에 대해 상세히 설명합니다.

로그인

애플리케이션을 배포하거나 상호 작용하기 전에 먼저 azdata login 명령을 사용하여 SQL Server 빅 데이터 클러스터에 로그인합니다. 클러스터에 대한 사용자 이름 및 암호와 함께 controller-svc-external 서비스의 외부 IP 주소(예: https://ip-address:30080)를 지정합니다.

azdata login --controller-endpoint https://<ip-address-of-controller-svc-external>:30080 --controller-username <user-name>

AKS(Azure Kubernetes Service)

AKS를 사용하는 경우 bash 또는 cmd 창에서 다음 명령을 실행하여 controller-svc-external 서비스의 IP 주소를 가져와야 합니다.

kubectl get svc controller-svc-external -n <name of your big data cluster>

kubeadm을 사용하여 만든 Kubernetes 클러스터

다음 명령을 실행하여 클러스터에 로그인할 IP 주소를 가져옵니다.

kubectl get node --selector='node-role.kubernetes.io/master'

앱 기본 구조 만들기

azdata app init 명령은 앱을 배포하는 데 필요한 관련 아티팩트가 포함된 스캐폴드를 제공합니다. 아래 예제에서는 다음 명령을 실행하여 이 작업을 수행할 수 있는 추가 앱을 만듭니다.

azdata app init --name add-app --version v1 --template python

이렇게 하면 hello라는 폴더가 만들어집니다. cd 명령을 사용하여 디렉터리를 전환하고 폴더에 생성된 파일을 검사할 수 있습니다. spec.yaml은 이름, 버전, 소스 코드 등으로 앱을 정의합니다. 사양을 편집하여 이름, 버전, 입력 및 출력을 변경할 수 있습니다.

다음은 폴더에 표시되는 init 명령의 샘플 출력입니다.

add-app.py
run-spec.yaml
spec.yaml

앱 만들기

애플리케이션을 만들려면 app create 명령과 함께 Azure Data CLI(azdata)를 사용합니다. 이 파일은 앱을 만들 때 사용한 머신에 로컬로 상주합니다.

다음 구문을 사용하여 빅 데이터 클러스터에서 새 앱을 만듭니다.

azdata app create --spec <directory containing spec file>

다음 명령에서는 명령의 예제를 보여줍니다.

azdata app create --spec ./addpy

이 명령은 애플리케이션이 addpy 폴더에 저장되어 있다고 가정합니다. 이 폴더에는 spec.yaml이라는 애플리케이션에 대한 사양 파일도 포함되어야 합니다. 자세한 내용은 spec.yaml 파일에서 애플리케이션 배포 페이지를 참조하세요.

이 샘플 앱을 배포하려면 addpy라는 디렉터리에 다음 파일을 만듭니다.

  • add.py. 다음 Python 코드를 파일
    #add.py
    def add(x, y):
      result = x+y
      return result
    result=add(x,y)
    
  • spec.yaml에 복사합니다. 다음 코드를 이 파일에 복사합니다.
    #spec.yaml
    name: add-app #name of your python script
    version: v1  #version of the app
    runtime: Python #the language this app uses (R or Python)
    src: ./add.py #full path to the location of the app
    entrypoint: add #the function that will be called upon execution
    replicas: 1  #number of replicas needed
    poolsize: 1  #the pool size that you need your app to scale
    inputs:  #input parameters that the app expects and the type
       x: int
       y: int
    output: #output parameter the app expects and the type
       result: int
    

그다음 아래 명령을 실행합니다.

azdata app create --spec ./addpy

목록 명령을 사용하여 앱이 배포되었는지 확인할 수 있습니다.

azdata app list

배포가 완료되지 않은 경우 다음 예제와 같이 stateWaitingforCreate로 표시됩니다.

[
  {
    "name": "add-app",
    "state": "WaitingforCreate",
    "version": "v1"
  }
]

배포가 성공적으로 완료되면 stateReady 상태로 바뀝니다.

[
  {
    "name": "add-app",
    "state": "Ready",
    "version": "v1"
  }
]

앱 나열

app list 명령을 사용하여 성공적으로 만들어진 앱을 나열할 수 있습니다.

다음 명령은 빅 데이터 클러스터에서 사용 가능한 애플리케이션을 모두 나열합니다.

azdata app list

이름과 버전을 지정하는 경우 특정 앱과 해당하는 상태(만들기 또는 준비)를 나열합니다.

azdata app list --name <app_name> --version <app_version>

다음 예제에서는 이 명령을 보여 줍니다.

azdata app list --name add-app --version v1

다음 예제와 비슷한 내용이 출력됩니다.

[
  {
    "name": "add-app",
    "state": "Ready",
    "version": "v1"
  }
]

앱 삭제

빅 데이터 클러스터에서 앱을 삭제하려면 다음 구문을 사용합니다.

azdata app delete --name add-app --version v1

SQL Server 빅 데이터 클러스터에 배포된 앱을 자체 애플리케이션에 통합하는 방법을 빅 데이터 클러스터의 애플리케이션 실행빅 데이터 클러스터의 애플리케이션 사용에서 알아봅니다. 앱 배포 샘플에서 추가 샘플을 확인할 수도 있습니다.

SQL Server 빅 데이터 클러스터에 대한 자세한 내용은 SQL Server 2019 빅 데이터 클러스터 소개를 참조하세요.