Azure Synapse Analytics でのコンピューティング リソースをスケーリングする

完了

Azure Synapse Analytics 内で利用できる主要な管理機能の 1 つに、SQL または Spark プールのコンピューティング リソースを拡張して、データの処理要求に対応できるようにする機能があります。 SQL プールでのスケール単位は、データ ウェアハウス ユニットと呼ばれるコンピューティング能力の抽象化です。 コンピューティングをストレージから切り離すことで、システム内のデータとは無関係に、コンピューティングをスケーリングできるようになります。 これは、ニーズに合わせてコンピューティング能力をスケールアップおよびスケールダウンできることを意味します。

Synapse SQL プールは、Azure portal、Azure Synapse Studio、または TSQL または PowerShell を使用してプログラムでスケールできます。

Azure portal で、[スケール] アイコンをクリックします。

Azure portal でコンピューティングをスケーリングします。

その後、スライダーを調整して SQL プールをスケーリングできます

Azure portal でコンピューティングのスケーリング スライダーを使用します。

スケールを設定するもう 1 つのオプションでは、Azure Synapse Studio 内で、[スケール] アイコンをクリックします。

Azure Synapse studio でコンピューティングをスケーリングします。

その後、次のようにスライダーを移動します。

Azure Synapse Studio でコンピューティングのスケーリング スライダーを使用します。

Transact-SQL を使用して変更を加えることもできます

ALTER DATABASE mySampleDataWarehouse
MODIFY (SERVICE_OBJECTIVE = 'DW300c');

または PowerShell を使用します

Set-AzSqlDatabase -ResourceGroupName "resourcegroupname" -DatabaseName "mySampleDataWarehouse" -ServerName "sqlpoolservername" -RequestedServiceObjectiveName "DW300c"

Azure Synapse Analytics での Apache Spark プールのスケーリング

Azure Synapse Analytics の Apache Spark プールでは、自動スケーリング機能を使用してクラスター インスタンス内のノード数を自動的に増減します。 新しい Spark プールを作成する際には、自動スケーリングが選択されている場合の、ノードの最小数と最大数を設定できます。 その後、自動スケーリングによって負荷のリソース要件が監視され、ノードの数がスケールアップまたはスケールダウンされます。 自動スケーリング機能を有効にするには、通常のプールの作成プロセスの一部として、次の手順を行います。

  1. [基本] タブで、 [自動スケーリングの有効化] チェック ボックスをオンにします。
  2. 次のプロパティに希望する値を入力します。
    • ノードの最小数。
    • ノードの最大数。

ノードの初期数は最小値になります。 この値によって、インスタンスが作成されるときのその初期サイズが定義されます。 ノードの最小数を 3 より小さくすることはできません。

また、Azure portal で変更することもできます。[自動スケーリング設定] アイコンをクリックします

Azure portal の Spark 自動スケーリング。

ノードのサイズとノードの数を選択します

Azure portal で Spark ノードを構成します。

Azure Synapse Studio の場合は、次のようになります

Azure Synapse Studio での Spark 自動スケーリング。

そして、ノードのサイズとノードの数を選択します

Azure Synapse Studio で Spark ノードを構成します。

自動スケーリングは Spark インスタンスを継続的に監視し、次のメトリックを収集します。

メトリック 説明
保留中の CPU の合計 すべての保留中のノードの実行を開始するために必要なコアの総数。
保留中のメモリの合計 すべての保留中のノードの実行を開始するために必要なメモリの合計 (MB 単位)。
空き CPU の合計 アクティブなノード上のすべての未使用のコアの合計。
空きメモリの合計 アクティブなノード上の未使用のメモリの合計 (MB 単位)。
ノードごとの使用済みメモリ ノードに対する負荷。 10 GB のメモリが使用されているノードは、使用済みメモリが 2 GB のワーカーより多くの負荷がかかっていると見なされます。

次の状況で、メモリまたは CPU が自動スケーリングされます

スケールアップ スケールダウン
保留中の CPU の合計が空き CPU の合計を超えて 1 分以上が経過した。 保留中の CPU の合計が空き CPU の合計を下回って 2 分以上が経過した。
保留中のメモリの合計が空きメモリの合計を超えて 1 分以上が経過した。 保留中のメモリの合計が空きメモリの合計を下回って 2 分以上が経過した。

スケーリング操作には、1 から 5 分かかることがあります。 スケールダウン プロセスがあるインスタンスでは、自動スケーリングによってノードが使用停止状態になり、そのノードでは新しい実行プログラムが起動されなくなります。

実行中のジョブは引き続き実行されて終了します。 保留中のジョブは、少ない数の使用可能ノードで通常どおりにスケジュールされるのを待ちます。