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

AnalyticDB:Spark SQL 実行モード

最終更新日:May 14, 2025

AnalyticDB for MySQL は、バッチと対話型の 2 つの Spark SQL 実行モードを提供します。各モードでは、AnalyticDB for MySQL のメタデータ機能を使用して、AnalyticDB for MySQL のデータベースとテーブルを読み書きできます。このトピックでは、2 つの Spark SQL 実行モードの使用方法、シナリオ、機能、および起動方法について説明します。

バッチ実行モード

使用方法

  • バッチモードで SQL 文を実行する場合は、最初に USE <database_name>; 文を実行してデータベースを選択する必要があります。

  • SQL 文でテーブルを指定する場合は、database_name.table_name 形式でテーブルを指定する必要があります。

  • バッチモードで DML、DDL、または DQL 文を実行すると、システムは実行の成功または失敗のメッセージを返しますが、データは返しません。成功した SQL 文のサンプル結果はログに表示されます。SQL 文の戻り値を表示する方法については、Spark エディタートピックの「Spark アプリケーションに関する情報を表示する」セクションをご参照ください。

シナリオ

  • 相互に依存する SQL 文が実行されます。

  • SQL 文ではリソースの隔離が強く求められます。

  • 大量のデータが関係しています。たとえば、SQL 文を実行して、一度に ETL (抽出、変換、ロード) 操作を実行します。

  • 複雑なサードパーティの依存関係パッケージをアップロードする必要があり、繰り返しテストおよび置換される可能性があります。

機能

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

  • SET spark.sql.adaptive.coalescePartitions.minPartitionSize = 2MB; などの独立した構成を記述する SQL 文を実行できます。

  • バッチモードで実行される SQL 文に SELECT 文が含まれている場合、SELECT 文のサンプル実行結果がログに表示されます。

起動方法

[SQLConsole] タブで、Spark エンジンとジョブリソースグループを選択します。SQL 文を入力した後、[実行] をクリックします。

対話型実行モード

使用方法

  • 対話モードで DDL または DML 文を実行すると、システムは最大 1,000 行の結果データを返します。

  • 対話モードで DDL 文を実行すると、システムは実行の成功または失敗のメッセージを返しますが、データは返しません。たとえば、CREATE TABLE 文を実行すると、システムは実行の成功または失敗のメッセージを返しますが、テーブルデータは返しません。これはオープンソース SQL と一致します。

  • Spark 対話型リソースグループを起動するには、一定の時間がかかります。Spark 対話型リソースグループを起動できない場合は、しばらく待ってからもう一度お試しください。

シナリオ

  • すべてのデータを返す必要のないデータ計算操作が実行されます。

  • 多数の DDL 文を実行する必要があります。

  • DQL 文は、送信直後に実行する必要があります。DQL 文の実行は、リソースの隔離に高い要件を課さず、リソースの隔離が失敗することを許容します。

機能

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

  • SQL 文を構成した後、スレッドレベルの構成が有効になります。

  • アプリケーションレベルの構成は、Spark 対話型リソースグループを再起動した後にのみ有効になります。アプリケーションレベルの構成を変更するには、Spark 対話型リソースグループを停止し、パラメータを再構成してから、Spark 対話型リソースグループを再起動します。

起動方法

[SQLConsole] タブで、Spark エンジンと Spark 対話型リソースグループを選択します。SQL 文を入力した後、[実行] をクリックします。