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

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

중요

Microsoft SQL Server 2019 빅 데이터 클러스터 추가 기능이 사용 중지됩니다. SQL Server 2019 빅 데이터 클러스터에 대한 지원은 2025년 2월 28일에 종료됩니다. 자세한 내용은 Microsoft SQL Server 플랫폼의 빅 데이터 옵션을 참조하세요.

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

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

이 문서에서는 SQL Server 빅 데이터 클러스터 내의 명령줄에서 앱을 배포하는 방법에 대한 예제를 제공합니다. Visual Studio Code에서 이를 사용하는 방법에 대해 알아보려면 Visual Studio Code 확장을 참조하세요.

사전 요구 사항

기능

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

명령 Description
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 명령은 앱을 배포하는 데 필요한 관련 아티팩트와 함께 스캐폴드를 제공합니다. 아래 예제에서는 다음 명령을 실행하여 이 작업을 수행할 수 있는 add-app을 만듭니다.

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

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

azdata app list

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

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

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

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

앱 나열

app list 명령을 사용하여 성공적으로 생성된 앱을 모두 나열할 수 있습니다.

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

azdata app list

이름 및 버전을 지정하면 특정 앱과 해당 상태(Creating 또는 Ready)가 나열됩니다.

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 빅 데이터 클러스터 소개를 참조하세요.