AnalyticDB for MySQL Data Lakehouse Edition (V3.0) には、バッチとインタラクティブの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 (extract-transform-load) 操作を実行します。
複雑なサードパーティの依存関係パッケージをアップロードする必要があり、テストと交換を繰り返し行うことができます。
特徴
バッチモードで送信されるSQL文は、安定性を確保するために個々のSparkアプリケーションで実行されます。
SET spark. SQL. adaptive. coalecePartitions. minPartitionSize = 2MB;
などの独立した構成を記述するsql文を実行できます。バッチモードで実行されるSQL文にSELECT文が含まれている場合、SELECT文の実行結果のサンプルがログに表示されます。
起動方法
[SQLConsole] タブで、Sparkエンジンとジョブリソースグループを選択します。 SQL文を実行するときに、表示されるメッセージで [続行] をクリックします。
インタラクティブ実行モード
使用上の注意
対話モードでDDLまたはDMLステートメントを実行すると、最大1,000行の結果データが返されます。
対話モードでDDLステートメントを実行すると、システムは実行の成功または失敗のメッセージを返しますが、データは返しません。 たとえば、
CREATE TABLE
ステートメントを実行すると、実行の成功または失敗のメッセージが返されますが、テーブルデータは返されません。 これは、オープンソースSQLと一致しています。セミコロン (;) で終わる複数のSQL文を入力した場合、Sparkエンジンは最後のSQL文のみを実行します。
Thriftサーバーを起動するには時間が必要です。 Thriftサーバーの起動に失敗した場合は、しばらく待ってからもう一度お試しください。
シナリオ
すべてのデータを返す必要のないデータ計算操作が実行されます。
多数のDDL文を実行する必要があります。
DQLステートメントは、送信された直後に実行する必要があります。 DQLステートメントの実行は、リソースの分離に高い要件を課さず、リソースの分離が失敗する可能性があります。
特徴
同じリソースグループ内のSQL文は共有Thriftサーバーによって実行され、最大1,000行の結果データがAnalyticDB for MySQLコンソールに表示されます。
リソースはスレッドレベルで分離されます。 複数のユーザーが同じSparkアプリケーションでSQL文を実行すると、SQL文が相互に介入する可能性があります。
SQL文を設定すると、スレッドレベルの設定が有効になります。
アプリケーションレベルの設定は、Thriftサーバーを再起動した後にのみ有効になります。 アプリケーションレベルの設定を変更するには、Thriftサーバーを停止し、パラメーターを再設定してから、Thriftサーバーを再起動します。 詳細については、「Thriftサーバーの開始と停止」をご参照ください。
起動方法
ジョブリソースグループを使用して対話モードでSQL文を実行する場合は、Thriftサーバーを起動する必要があります。 Thriftサーバーを起動するには、次のいずれかの方法を使用します。
[SQLConsole] タブで、Sparkエンジンとジョブリソースグループを選択します。 SQL文を実行したら、表示されるメッセージの [Thrift Serverの開始] をクリックします。
[リソースグループ] タブで、Thriftサーバーを起動するジョブリソースグループを見つけ、[操作] 列の [Thriftサーバーの設定] をクリックします。 パラメーターを設定し、[開始] をクリックします。 詳細については、「Thriftサーバーの開始と停止」トピックの「Thriftサーバーの開始」セクションを参照してください。
ジョブリソースグループのThriftサーバーを起動すると、SQL文は対話モードで実行されます。