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

E-MapReduce:SparkSQL 開発の開始

最終更新日:Nov 09, 2025

EMR Serverless Spark では、SQL コードを使用してジョブを編集および実行できます。このトピックでは、SQL ジョブの作成、開始、および保守の方法について説明します。

前提条件

ステップ 1: 開発ジョブの作成と公開

重要

ジョブをワークフローで使用するには、事前に公開する必要があります。

  1. データ開発ページに移動します。

    1. EMR コンソールにログインします。

    2. 左側のナビゲーションウィンドウで、[EMR Serverless] > [Spark] を選択します。

    3. [Spark] ページで、対象のワークスペース名をクリックします。

    4. EMR Serverless Spark ページの左側のナビゲーションウィンドウで、[データ開発] をクリックします。

  2. users_task ジョブを作成します。

    1. [開発] タブで、image アイコンをクリックします。

    2. [作成] ダイアログボックスで、users_task などの名前を入力し、タイプはデフォルトの [SparkSQL] のままにして、[OK] をクリックします。

    3. 次のコードを新しい Spark SQL タブ (users_task) にコピーします。

      CREATE TABLE IF NOT EXISTS students (
        name VARCHAR(64),          
        address VARCHAR(64)       
      )
      USING PARQUET  
      PARTITIONED BY (data_date STRING)              
      OPTIONS (
        'path'='oss://<bucketname>/path/'
      );
      
      
      INSERT OVERWRITE TABLE students PARTITION (data_date = '${ds}') VALUES
        ('Ashua Hill', '456 Erica Ct, Cupertino'),
        ('Brian Reed', '723 Kern Ave, Palo Alto');

      次の表に、サポートされている日付変数を示します。デフォルト値は前日です。

      変数

      データ型

      説明

      {data_date}

      str

      日付を示す変数。フォーマットは YYYY-MM-DD です。

      例: 2023-09-18。

      {ds}

      str

      {dt}

      str

      {data_date_nodash}

      str

      日付を示す変数。フォーマットは YYYYMMDD です。

      例: 20230918。

      {ds_nodash}

      str

      {dt_nodash}

      str

      {ts}

      str

      タイムスタンプを示す変数。フォーマットは YYYY-MM-DDTHH:MM:SS です。

      例: 2023-09-18T16:07:43。

      {ts_nodash}

      str

      タイムスタンプを示す変数。フォーマットは YYYYMMDDHHMMSS です。

      例: 20230918160743。

    4. データベースとセッションのドロップダウンリストから、データベースと実行中のセッションインスタンスを選択します。

      ドロップダウンリストから [SQL セッションの作成] を選択して、新しいセッションを作成することもできます。詳細については、「SQL セッションの管理」をご参照ください。

    5. [実行] をクリックしてジョブを実行します。

      結果は [実行結果] タブに表示されます。例外が発生した場合は、[実行に関する問題] タブで詳細を確認できます。

  3. users_task ジョブを公開します。

    説明

    ジョブに指定されたパラメーターはジョブとともに公開され、ジョブがパイプラインで実行されるときに使用されます。セッションパラメーターは、ジョブが SQL エディターで実行されるときに使用されます。

    1. 新しい Spark SQL タブで、[公開] をクリックします。

    2. ダイアログボックスで、公開の説明を入力し、[OK] をクリックします。

  4. users_count ジョブを作成します。

    1. [開発] タブで、image アイコンをクリックします。

    2. [作成] ダイアログボックスで、users_count などの名前を入力し、デフォルトのタイプである SparkSQL を受け入れて、[OK] をクリックします。

    3. 次のコードを新しい Spark SQL ジョブタブ (users_count) にコピーします。

      SELECT COUNT(1) FROM students;
    4. データベースとセッションのドロップダウンリストから、データベースと実行中のセッションインスタンスを選択します。

      ドロップダウンリストから [SQL セッションの作成] を選択して、新しいセッションを作成することもできます。セッション管理の詳細については、「SQL セッションの管理」をご参照ください。

    5. [実行] をクリックしてジョブを実行します。

      [実行結果] タブに結果が表示されます。例外が発生した場合は、[実行に関する問題] タブで確認できます。

  5. users_count ジョブを公開します。

    説明

    ジョブに指定されたパラメーターはジョブとともに公開され、ジョブがパイプラインで実行されるときに使用されます。セッションパラメーターは、ジョブが SQL エディターで実行されるときに使用されます。

    1. 新しい Spark SQL ジョブタブで、[公開] をクリックします。

    2. 表示されるダイアログボックスで、公開の説明を入力し、[OK] をクリックします。

ステップ 2: ワークフローとそのノードの作成

  1. 左側のナビゲーションウィンドウで、[ワークフロー] をクリックします。

  2. [ワークフロー] ページで、[ワークフローの作成] をクリックします。

  3. [ワークフローの作成] パネルで、spark_workflow_task などの [ワークフロー名] を入力し、[次へ] をクリックします。

    必要に応じて、[その他の設定] セクションのパラメーターを設定できます。パラメーターの詳細については、「ワークフローの管理」をご参照ください。

  4. users_task ノードを追加します。

    1. 新しいノードキャンバスで、[ノードの追加] をクリックします。

    2. [ノードの追加] パネルで、[ソースファイルパス] ドロップダウンリストから公開済みの users_task ジョブを選択し、[保存] をクリックします。

  5. users_count ノードを追加します。

    1. [ノードの追加] をクリックします。

    2. [ノードの追加] パネルで、[ソースファイルパス] ドロップダウンリストから公開済みの users_count ジョブを、[アップストリームノード] ドロップダウンリストから users_task を選択し、[保存] をクリックします。

  6. 新しいノードキャンバスで、[ワークフローの公開] をクリックします。

    image

  7. [公開] ダイアログボックスで、公開の説明を入力し、[OK] をクリックします。

ステップ 3: ワークフローの実行

  1. [ワークフロー] ページの [ワークフロー名] 列で、新しいワークフローの名前 (例: spark_workflow_task) をクリックします。

  2. [ワークフローインスタンス] ページで、[実行] をクリックします。

    説明

    スケジューリングサイクルを設定した後、[ワークフロー] ページの左側にあるスイッチをオンにしてスケジュールを開始することもできます。

  3. [ワークフローの実行] ダイアログボックスで、[OK] をクリックします。

ステップ 4: インスタンスのステータスの表示

  1. [ワークフロー] ページで、対象のワークフロー (spark_workflow_task など) をクリックします。

  2. [ワークフローインスタンス] ページでは、すべてのワークフローインスタンスとそれぞれの実行時間およびステータスを表示できます。

    image.png

  3. [ワークフローインスタンス] セクションの [ワークフロー実行 ID] または [ワークフローインスタンスグラフ] タブをクリックして、ワークフローインスタンスグラフを表示します。

  4. 対象のノードインスタンスをクリックします。表示されるノード情報ダイアログボックスで、必要に応じて操作を実行したり、情報を表示したりできます。

    関連する操作と詳細については、「ノードインスタンスの表示」をご参照ください。

    image.png

    たとえば、[Spark UI] をクリックして Spark ジョブページを開き、Spark タスクに関するリアルタイム情報を表示できます。

    image

  5. [ジョブ実行 ID] をクリックして [ジョブ履歴] ページを開きます。このページでは、メトリック、診断、およびログを表示できます。

    image

ステップ 5: ワークフローの運用保守

[ワークフロー] ページで、対象のワークフローの名前をクリックして [ワークフローインスタンス] ページを開きます。次の操作が可能です:

  • [ワークフロー情報] セクションで、一部のパラメーターを編集できます。

  • [ワークフローインスタンス] セクションには、すべてのワークフローインスタンスがリストされます。[ワークフロー実行 ID] をクリックして、対応するワークフローインスタンスグラフを開きます。

    image.png

ステップ 6: データの表示

  1. 左側のナビゲーションウィンドウで、[データ開発] をクリックします。

  2. SparkSQL 開発ジョブを作成します。次に、次のコマンドを入力して実行し、テーブルの詳細を表示します:

    SELECT * FROM students;

    次の情報が返されます:

    image.png

関連ドキュメント