注意事項
2021年9月22日時点における情報であるため、最新の情報についてはMicrosoft社のドキュメントをご確認ください。
概要
Azure Synapse Analytics Spark Poolにおける課金対象時間を調査しましたので共有します。
調査のきっかけとしては、Spark Poolでは割り当てコア数に利用時間(分単位)を乗じた金額が課金されるという記載があるのですが、セッションの停止とアイドル状態の時間の設定がどのように影響するかが不明確であったことです。
引用元:価格 - Azure Synapse Analytics | Microsoft Azure
調査の結果、課金対象時間は、ノートブック実行等によりSparkプールが開始されてから、ノートブックのセッションを停止後にアイドル状態の時間を経過するまでの時間でした。
この記事では、その詳細を説明します。
課金対象時間
課金対象時間を整理すると下記図のようになります。
課金対象期間はノートブックの下記の2つに分けることができ、①については停止する方法と自動で停止する方法があります。
①ノートブックのセッションの時間(処理中の時間+タイムアウト時間)
②Sparkプールのアイドル時間
①を自動で停止する方法としては、下記のようにセッションのタイムアウト時間を設定する方法です。デフォルト値として、30分が設定されています。
②のアイドル時間については、下記のように設定が可能です。デフォルト値が15分であり、最低5分の設定が可能です。ノートブックのセッションとは異なり、Sparkプールを手動で停止することができないようです。
また、パイプラインでSparkプールを利用する場合には、ノートブック処理完了後にセッションが終了されますが、Sparkプールはアイドル状態の時間を経過するまで停止されません。
Azure Synapse Analytics Spark Poolにおける課金対象時間について説明しましたが、ドキュメントにも記載されているように、Sparkのコードを実行していない時間にも課金が発生することに注意が必要です。
引用元:クイックスタート: Azure portal を使用してサーバーレス Apache Spark プールを作成する - Azure Synapse Analytics | Microsoft Docs