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

:Serverless Spark SQL ノード

最終更新日:Nov 14, 2025

Serverless Spark SQL ノードを作成して、構造化データを処理できます。このノードは、EMR サーバーレス Spark 計算リソースに基づく分散 SQL クエリエンジンを使用して、ジョブをより効率的に実行します。

範囲

  • 計算リソースの制限: EMR サーバーレス Spark 計算リソースをアタッチすることのみ可能です。リソースグループと計算リソースの間にネットワーク接続が利用可能であることを確認してください。

  • リソースグループ: このタイプのノードを実行するには、サーバーレスリソースグループのみを使用できます。

  • (オプション) Resource Access Management (RAM) ユーザーの場合は、タスク開発のためにワークスペースに追加され、[開発者] または [ワークスペース管理者] ロールが割り当てられていることを確認してください。ワークスペース管理者ロールには広範な権限があります。このロールは注意して付与してください。メンバーの追加に関する詳細については、「ワークスペースにメンバーを追加する」をご参照ください。

    Alibaba Cloud アカウントを使用している場合は、このステップをスキップできます。

ノードの作成

ノードの作成方法の詳細については、「ノードを作成する」をご参照ください。

ノードの開発

SQL 編集エリアでタスクコードを開発できます。構文は catalog.database.tablename をサポートしています。catalog が省略された場合、タスクはクラスターのデフォルトカタログにデフォルト設定されます。catalog.database が省略された場合、タスクはクラスターのデフォルトカタログ内のデフォルトデータベースにデフォルト設定されます。

データカタログの詳細については、「EMR Serverless Spark でデータカタログを管理する」をご参照ください。
-- <catalog.database.tablename> を実際の情報に置き換えます。
SELECT * FROM <catalog.database.tablename> 

コード内で変数を定義するには、${変数名} フォーマットを使用します。その後、ノード編集ページの右側にある [スケジュール設定] セクションの [スケジューリングパラメーター] で、変数に値を割り当てることができます。これにより、スケジューリングシナリオでコードにパラメーターを動的に渡すことができます。スケジューリングパラメーターでサポートされているフォーマットの詳細については、「スケジューリングパラメーターでサポートされているフォーマット」をご参照ください。以下に例を示します。

SHOW TABLES; 
-- ${var} を使用して var という名前の変数を定義します。この変数に値 ${yyyymmdd} を割り当てると、スケジュールされたタスクを使用して、データタイムスタンプをサフィックスとして持つテーブルを作成できます。
CREATE TABLE IF NOT EXISTS userinfo_new_${var} (
  ip STRING COMMENT'IP アドレス',
  uid STRING COMMENT'ユーザー ID'
)PARTITIONED BY(
  dt STRING
); --これはスケジューリングパラメーターと共に使用できます。
説明

SQL 文の最大サイズは 130 KB です。

ノードのテスト

  1. [デバッグ設定] セクションで、[計算リソース][リソースグループ] を選択します。

    設定項目

    説明

    計算リソース

    アタッチされている EMR サーバーレス Spark 計算リソースを選択します。利用可能な計算リソースがない場合は、ドロップダウンリストから [計算リソースの作成] を選択します。

    リソースグループ

    ワークスペースにアタッチされているリソースグループを選択します。

    スクリプトパラメーター

    ノードコンテンツを構成する際、${パラメーター名} フォーマットを使用して変数を定義できます。[スクリプトパラメーター] セクションで [パラメーター名][パラメーター値] を構成する必要があります。タスクが実行されると、変数はその実際の値に動的に置き換えられます。詳細については、「スケジューリングパラメーターでサポートされているフォーマット」をご参照ください。

    Serverless Spark ノードパラメーター

    Spark プログラムの実行時パラメーター。以下のパラメーターがサポートされています:

  2. ノード編集ページの上部にあるツールバーで、[実行] をクリックして SQL タスクを実行します。

    重要

    ノードを公開する前に、[デバッグ設定] の下の [ServerlessSpark ノードパラメーター][スケジュール設定] の下の [ServerlessSpark ノードパラメーター] と同期させる必要があります。

次のステップ

  • ノードをスケジュールする: プロジェクトフォルダー内のノードを定期的に実行するには、右側の [スケジューリング] ペインで [スケジュールポリシー] と関連するスケジューリングプロパティを構成します。

  • ノードを公開する: ノードを本番環境で実行する必要がある場合は、image アイコンをクリックして公開プロセスを開始します。プロジェクトフォルダー内のノードの定期的なスケジューリングは、本番環境に公開された後にのみ有効になります。

  • ノード O&M: ノードを公開した後、オペレーションセンターで定期タスクのステータスを表示できます。詳細については、「オペレーションセンター入門」をご参照ください。

付録: DataWorks パラメーター

詳細パラメーター

説明

FLOW_SKIP_SQL_ANALYZE

SQL 文の実行モード。有効な値:

  • true: 一度に複数の SQL 文を実行します。

  • false (デフォルト): 一度に 1 つの SQL 文を実行します。

説明

このパラメーターは、開発環境でのテスト実行でのみサポートされます。

DATAWORKS_SESSION_DISABLE

ジョブの送信メソッド。Data Studio でタスクを実行すると、タスクはデフォルトで SQL コンピュートに送信されて実行されます。このパラメーターを使用して、タスクを SQL コンピュートに送信するか、キューに送信するかを指定できます。

  • true: タスクは実行のためにキューに送信されます。デフォルトでは、計算リソースを関連付けるときに指定されたデフォルトのキューが使用されます。DATAWORKS_SESSION_DISABLE パラメーターが true に設定されている場合、SERVERLESS_QUEUE_NAME パラメーターを構成して、Data Studio でタスクが実行のために送信されるキューを指定できます。

  • false (デフォルト): タスクは実行のために SQL コンピュートに送信されます。

    説明

    このパラメーターは、Data Studio での実行中にのみ有効になります。スケジュールされた実行中には有効になりません。

SERVERLESS_RELEASE_VERSION

Spark エンジンのバージョン。デフォルトでは、[管理センター][計算リソース] でクラスターに構成されている [デフォルトエンジンバージョン] が使用されます。このパラメーターを構成して、タスクごとに異なるエンジンバージョンを指定できます。

説明

詳細設定の SERVERLESS_RELEASE_VERSION パラメーターは、登録済みクラスターに指定された SQL コンピュート (セッション) が EMR Serverless Spark コンソールで未開始状態の場合にのみ有効になります。

SERVERLESS_QUEUE_NAME

タスクを送信するリソースキュー。デフォルトでは、タスクは [管理センター][クラスター管理] でクラスターに構成されている [デフォルトリソースキュー] に送信されます。キューを追加して、リソースの隔離と管理の要件を満たすことができます。詳細については、「リソースキューを管理する」をご参照ください。

構成方法:

説明
  • 詳細設定の SERVERLESS_QUEUE_NAME パラメーターは、登録済みクラスターによって指定された SQL コンピュート (セッション) が EMR Serverless Spark コンソールで開始されていない場合にのみ有効になります。

  • Data Studio でタスクを実行する場合: まず DATAWORKS_SESSION_DISABLEtrue に設定する必要があります。これにより、タスクが実行のためにキューに送信されることが保証されます。その後、SERVERLESS_QUEUE_NAME パラメーターが有効になり、これを使用してタスクキューを指定できます。

  • オペレーションセンターでのスケジュール実行: タスクは強制的にキューに送信されて実行され、SQL コンピュートには送信できません。

SERVERLESS_SQL_COMPUTE

SQL コンピュート (SQL セッション) を指定します。デフォルトでは、[管理センター][計算リソース] でクラスターに構成されている [デフォルト SQL コンピュート] が使用されます。このパラメーターを構成して、タスクごとに異なる SQL セッションを設定できます。SQL セッションの作成と管理の詳細については、「SQL セッションを管理する」をご参照ください。

その他

Spark 構成パラメーターをカスタマイズし、Spark 固有のプロパティを追加します。

構成フォーマットは次のとおりです: spark.eventLog.enabled : false 。DataWorks は、このパラメーターを --conf key=value フォーマットで EMR クラスターに送信されるコードに自動的に追加します。

説明

DataWorks サービスに対してワークスペースレベルでグローバル Spark パラメーターを構成できます。ワークスペースレベルで構成されたグローバル Spark パラメーターが、特定の DataWorks サービスで単一のタスクを実行するために構成された Spark パラメーターよりも高い優先度を持つかどうかを指定できます。詳細については、「グローバル Spark パラメーターを構成する」をご参照ください。