SQL Server ビッグ データ クラスターにアプリを展開する方法

適用対象: SQL Server 2019 (15.x)

重要

Microsoft SQL Server 2019 ビッグ データ クラスターのアドオンは廃止されます。 SQL Server 2019 ビッグ データ クラスターのサポートは、2025 年 2 月 28 日に終了します。 ソフトウェア アシュアランス付きの 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>

Azure Kubernetes Service (AKS)

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

アプリを作成する

アプリケーションを作成するには、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

展開が完了していない場合は、次の例のように 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 ビッグ データ クラスターとは」を参照してください。