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

DataWorks:Serverless Spark SQL ノード

最終更新日:Feb 26, 2026

Serverless Spark SQL ノードは、EMR Serverless Spark 計算リソース上で動作する分散 SQL クエリエンジンを提供します。このノードを使用して、構造化データを処理し、ジョブ実行効率を向上させることができます。

前提条件

  • 計算リソース要件: EMR Serverless Spark 計算リソースのみを使用できます。リソースグループと計算リソース間のネットワーク接続が確保されていることを確認してください。

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

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

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

ノードの作成

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

ノードの開発

エディターで SQL コードを記述します。catalog.database.tablename の構文がサポートされています。catalog を省略すると、クラスターのデフォルトカタログが使用されます。catalog.database を省略すると、デフォルトカタログのデフォルトデータベースが使用されます。

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

コード内で変数を${variable_name}フォーマットで定義し、[スケジュール設定パラメーター]セクションの[スケジュール設定]ペインでその値を割り当てます。これにより、定期タスクに動的にパラメーターを渡すことができます。スケジュール設定パラメーターの使用方法について詳しくは、「スケジュール設定パラメーターのソースと式」をご参照ください。以下のコードはその例です。

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. Run Configuration」ペインで、[コンピューティングリソース] および [リソースグループ] を選択します。

    パラメーター

    説明

    計算リソース

    バインドされた EMR Serverless Spark 計算リソースを選択します。利用可能な計算リソースがない場合は、ドロップダウンリストから [Create Compute Resource] を選択します。

    リソースグループ

    ワークスペースにバインドされているリソースグループを選択します。

    スクリプトパラメーター

    ノードのコンテンツで ${parameter_name} 形式を使用して変数を定義する場合、[パラメーター名] および [パラメーター値][スクリプトパラメーター] セクションで指定する必要があります。これらの変数は、実行時に実際の値に動的に置き換えられます。詳細については、「スケジューリングパラメーターのソースと式」をご参照ください。

    Serverless Spark ノードパラメーター

    Spark アプリケーションの実行時パラメーター。以下のタイプがサポートされています。

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

    重要

    ノードをデプロイする前に、Run Configuration[ランタイム設定] ペインから [サーバーレス Spark ノードパラメーター] セクション([スケジューリング設定] ペイン内)にコピーする必要があります。

次のステップ

  • ノードのスケジュール設定: プロジェクトフォルダ内のノードを定期的に実行する必要がある場合、[スケジューリングポリシー] を設定し、ノードページの右側にある [スケジューリング] セクションでスケジューリングプロパティを設定できます。

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

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

付録: DataWorks パラメーター

パラメーター

説明

FLOW_SKIP_SQL_ANALYZE

SQL ステートメント実行方法。有効な値:

  • true: 複数の SQL ステートメントを一度に実行します。

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

説明

このパラメーターは、Data Studio 環境でのテスト実行のみを対象としています。

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 コンソールで [Running] ステータスでない場合にのみ有効です。

SERVERLESS_QUEUE_NAME

ジョブの送信先リソースキューを指定します。ジョブをキューに送信すると、デフォルトでは、[管理センター][クラスター管理] でクラスターに対して設定された [デフォルト リソースキュー] を使用します。リソースの隔離と管理を実装するために、キューを追加できます。詳細については、「リソースキューの管理」をご参照ください。

構成方法:

説明
  • 詳細設定の SERVERLESS_QUEUE_NAME パラメーターは、登録済みクラスターの SQL コンピュート (セッション) が EMR Serverless Spark コンソールで [Running] ステータスでない場合にのみ有効です。

  • Data Studio での実行の場合: タスクをキューに送信するには、まず DATAWORKS_SESSION_DISABLEtrue に設定する必要があります。その後、SERVERLESS_QUEUE_NAME パラメーターが有効になります。

  • オペレーションセンターでのスケジュールされた実行の場合: タスクは常にキューに送信され、SQL コンピュートに送信することはできません。

SERVERLESS_SQL_COMPUTE

SQL Compute(SQL セッション)を指定します。デフォルトでは、タスクは、[デフォルトの SQL Compute] を使用します。これは、[コンピューティングリソース] でクラスターに設定された [管理センター] のものです。このパラメーターを設定することで、特定のタスクに対して異なる SQL セッションを指定できます。SQL セッションの作成および管理については、「SQL セッションの管理」をご参照ください。

その他

カスタム Spark 構成パラメーター。Spark 固有のプロパティを追加できます。

形式: spark.eventLog.enabled : false 。DataWorks は、--conf key=value 形式でコマンドを自動的に完了します。

説明

DataWorks では、異なる DataWorks モジュールに対してワークスペースレベルでグローバル Spark パラメーターを設定できます。これらのグローバルパラメーターが特定のモジュール内のパラメーターをオーバーライドするかどうかを指定できます。グローバル Spark パラメーターの設定方法の詳細については、「グローバル Spark パラメーターを設定」をご参照ください。