このトピックでは、MaxCompute StudioでSQLスクリプトを開発して送信する方法について説明します。 SQLスクリプトの開発には、SQLスクリプトの作成と実行が含まれます。
前提条件
MaxComputeプロジェクトが接続されています。 詳細については、「プロジェクト接続の管理」をご参照ください。
MaxComputeスクリプトモジュールが作成されます。 詳細については、「MaxComputeスクリプトモジュールの作成」をご参照ください。
SQLスクリプトを書く
プロジェクトツールウィンドウで、プロジェクト名をクリック、スクリプトを右クリックして、 を選択します。
新しいMaxCompute SQLスクリプトダイアログボックスで、必要なパラメーターを設定し、OK をクリックします。
スクリプト名: スクリプトの名前。
MaxComputeプロジェクト: SQLスクリプトを記述するMaxComputeプロジェクト。 [+] をクリックすると、別のMaxComputeプロジェクトへの接続を確立できます。 詳細については、「プロジェクト接続の管理」をご参照ください。
エディターでSQLスクリプトを記述します。 SQL構文の詳細については、「MaxCompute SQLの概要」をご参照ください。
サンプルスクリプト:
create table table_5( col1 bigint, col2 bigint, col3 bigint, ds datetime ); insert into table table_5 values(1,2,3,DATETIME'2017-11-11 00:00:00'); select * from table_5 where ds='${bizdate}';
説明プロジェクト間のリソース共有を設定できます。 たとえば、Project aにバインドされているスクリプトを使用して、Project Bのtable1にアクセスできます。
MaxCompute Studioでは、SQLスクリプトエディターを設定できます。 詳細については、
概要をご参照ください。
SQLスクリプトの送信
SQLスクリプトを送信する前に、ビジネス要件に基づいてコンパイルパラメーターを設定する必要があります。 MaxCompute Studioは、さまざまなコンパイルパラメーターを提供します。 エディタの上のツールバーでパラメータを設定できます。 次のコンパイルパラメータを設定できます。
エディタモード
ステートメントモード: このモードでは、エディターはスクリプト内のSQLステートメントをセミコロン (
;
) で区切り、ステートメントを1つずつMaxComputeサーバーに送信して実行します。スクリプトモード: 最新の開発モードです。 このモードでは、エディタは、全体的な最適化のためにスクリプト全体を一度にMaxComputeサーバーに送信します。 実行効率を向上させるために、このモードを使用することを推奨します。
タイプSystem: このパラメーターを設定して、SQL文を実行するときの互換性の問題を防ぐことができます。 有効な値:
Legacy TypeSystem: MaxCompute V1.0データ型エディションを示します。
MaxCompute TypeSystem: MaxCompute V2.0データ型エディションを示します。
Hive Compatible TypeSystem: Hive互換データ型エディションを示します。
実行モード
デフォルトバージョン: 安定バージョンが使用されていることを示します。
MaxComputeクエリアクセラレーション: MaxComputeクエリアクセラレーション (MCQA) 機能を有効にしてジョブを実行することを示します。
アクセラレーションが失敗した場合の再実行: クエリのアクセラレーションが失敗した場合、システムがジョブを再実行することを示します。
ツールバーまたはサイドバーで、アイコンをクリックして、SQLスクリプトをMaxComputeサーバーに送信して実行します。
説明上記のコードの ${bizdate} などの変数がSQLスクリプトに存在する場合、ダイアログボックスが表示され、変数の値を入力するように求められます。 この例では、
2017-11-11 00:00:00
と入力して、現在のパーティションのデータを照会できます。MaxComputeがSQLスクリプトを実行する前に、IntelliJ IDEAはSQLスクリプトの推定コストを表示します。 推定コストを確認し、[確認] メッセージの [OK] をクリックします。
説明ツールバーで、アイコンをクリックして、テーブルやユーザー定義関数 (UDF) など、SQLスクリプトで使用されるメタデータを更新できます。 MaxCompute StudioがMaxComputeのテーブルと関数を検出できない場合は、この機能を使用できます。
SQLスクリプトは、[Project Explorer] ウィンドウに追加したメタデータに基づいてコンパイルされます。 エラーが検出されない場合、SQLスクリプトはMaxComputeサーバーに送信されます。 その後、MaxComputeサーバーはSQLスクリプトを実行します。
SQLスクリプトの実行時に実行ログが生成されます。 MaxComputeでSQLスクリプトを実行すると、[ジョブの詳細] タブが表示されます。 実行の詳細を表示できます。
SQLジョブのコスト見積もりを表示する場合は、MaxCompute sql設定項目から [SQLコスト確認ダイアログを表示する] を選択します。
結果タブで、実行結果を表示します。
複数のステートメントが1つずつ実行された場合、各ステートメントの実行結果が表示されます。