如何在 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 延伸模組

Prerequisites

功能

在 SQL Server 2019 中,您可以建立、刪除、描述、初始化、列出執行及更新您的應用程式。 下表描述您可以搭配 azdata 使用的應用程式部署命令。

Command 描述
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>

Azure Kubernetes Service (AKS)

如果您使用 AKS,則需要執行下列命令來取得 controller-svc-external 服務的 IP 位址,方法是在 bash 或 cmd 視窗中執行此命令:

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 命令會提供 Scaffold,其中包含部署應用程式所需的相關成品。 下列範例會建立 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

建立應用程式

若要建立應用程式,您可以使用 Azure Data CLI (azdata 搭配 命令) app create 。 這些檔案位於您用來建立應用程式的本機電腦上。

使用下列語法,在巨量資料叢集中建立新的應用程式:

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

如果部署未完成,您應該會看到 state 顯示 WaitingforCreate,如下列範例所示:

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

部署成功之後,您應該會看到 state 變更為 Ready 狀態:

[
  {
    "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 巨量資料叢集簡介