すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:Spark SQL の実行モード

最終更新日:Aug 25, 2026

AnalyticDB for MySQL は、Spark SQL をバッチとインタラクティブの 2 つのモードで実行することをサポートしています。どちらのモードも AnalyticDB for MySQL メタデータサービスに直接接続し、AnalyticDB for MySQL のデータベースやテーブルの読み書きが可能です。このトピックでは、両実行モードの使用上の注意、ユースケース、特徴、および起動手順について説明します。

バッチ実行

使用上の注意

  • バッチモードで SQL を実行する場合、USE <database_name>; ステートメントでデータベースを選択してから開始してください。

  • SQL ステートメントでテーブルを指定する場合は、database_name.table_name の形式を使用する必要があります。

  • バッチモードで DML ステートメント、DDL ステートメント、または DQL ステートメントを実行すると、システムは成功または失敗のステータスのみを返し、データは返しません。実行が成功すると、結果のサンプルがログに出力されます。SQL ステートメントによって返されるデータを表示するには、Spark アプリケーション情報の表示をご参照ください。

ユースケース

  • 相互に依存する複数の SQL ステートメントを実行する場合。

  • SQL ステートメントに対して厳格なリソース分離を適用する場合。

  • 大規模なデータを処理する場合。例えば、SQL を使用した 1 回限りの ETL ジョブの実行など。

  • 複雑なサードパーティの依存関係パッケージをアップロードして繰り返し実行する場合。

特徴

  • バッチモードで送信された SQL は専用の Spark アプリケーションで実行されるため、安定性が確保されます。

  • SQL ステートメント内で独立した構成設定を定義できます。例えば、SET spark.sql.adaptive.coalescePartitions.minPartitionSize = 2MB; などです。

  • バッチ SQL ステートメントに SELECT ステートメントが含まれている場合、システムは結果のサンプルをログに出力します。

起動方法

SQL コンソール で、ジョブリソースグループと Spark エンジンを選択し、SQL ステートメントを入力して 実行 をクリックします。

インタラクティブ実行

使用上の注意

  • インタラクティブモードでは、DQL ステートメントは最大 1,000 行を返します。

  • インタラクティブモードで実行される DDL ステートメント (CREATE TABLE など) は、成功または失敗のステータスのみを返し、テーブルのデータは返しません。この動作はオープンソースの慣例に準拠しています。

  • Spark インタラクティブリソースグループの起動には時間がかかります。起動に失敗した場合は、しばらく待ってから再試行してください。

ユースケース

  • 完全な結果セットが不要なアドホッククエリを実行する場合。

  • 大量の DDL ステートメントを実行する場合。

  • リソース分離や時折の失敗が許容される環境で、DQL ステートメントを即座に実行する場合。

特徴

  • リソース分離はスレッドレベルです。同じ Spark アプリケーションで SQL を実行する複数のユーザーは、相互に干渉する可能性があります。

  • SQL ステートメントを使用して、スレッドレベルの構成設定を適用できます。

  • アプリケーションレベルの構成設定は、Spark インタラクティブリソースグループを再起動して初めて有効になります。アプリケーションレベルの設定を変更するには、まず Spark インタラクティブリソースグループを停止し、パラメータを設定してから、Spark インタラクティブリソースグループを再起動する必要があります。

起動方法

SQL コンソール で、Spark インタラクティブリソースグループと Spark エンジンを選択し、SQL ステートメントを入力して 実行 をクリックします。