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

:EMR Spark Streaming ノード

最終更新日:Nov 09, 2025

E-MapReduce (EMR) Spark Streaming ノードは、高スループットのリアルタイムストリーミングデータを処理します。これらには、失敗したデータストリームを迅速に回復するためのフォールトトレランスメカニズムが含まれています。このトピックでは、データ開発のために EMR Spark Streaming ノードを作成して使用する方法について説明します。

前提条件

  • Alibaba Cloud EMR クラスターを作成し、DataWorks にバインドしていること。詳細については、「Data Studio (新バージョン): EMR 計算リソースをバインドする」をご参照ください。

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

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

制限事項

  • このタイプのタスクは、サーバーレスリソースグループ (推奨) またはスケジューリング用の専用リソースグループでのみ実行できます。

  • EMR on ACK Spark クラスター上でデータ開発のために EMR Spark Streaming ノードを作成して使用することはできません。

手順

  1. EMR Spark Streaming ノードの編集ページで、次の手順を実行します。

    EMR JAR リソースの作成と参照

    DataLake クラスターを使用している場合は、次の手順に従って EMR JAR リソースを参照します。

    説明

    EMR Spark Streaming ノードで必要なリソースが大きすぎる場合、DataWorks ページからアップロードすることはできません。代わりに、リソースを Hadoop 分散ファイルシステム (HDFS) に保存し、コードで参照する必要があります。次のコードに例を示します。

    spark-submit --master yarn
    --deploy-mode cluster
    --name SparkPi
    --driver-memory 4G
    --driver-cores 1
    --num-executors 5
    --executor-memory 4G
    --executor-cores 1
    --class org.apache.spark.examples.JavaSparkPi
    hdfs:///tmp/jars/spark-examples_2.11-2.4.8.jar 100
    1. EMR JAR リソースを作成します。

      1. 詳細については、「Resource Management」をご参照ください。生成された JAR パッケージは emr/jars ディレクトリに保存されます。[アップロードするにはクリック] ボタンをクリックして JAR パッケージをアップロードします。

      2. [ストレージパス][データソース]、および [リソースグループ] を設定します。

      3. [保存] をクリックします。

    2. EMR JAR リソースを参照します。

      1. 作成した [EMR Spark Streaming] ノードを開きます。これにより、コードエディタが開きます。

      2. 左側のナビゲーションウィンドウで、[Resource Management] の下にある参照したいリソースを見つけます。リソースを右クリックし、[リソースの参照] を選択します。

      3. 参照を選択すると、[EMR Spark Streaming] ノードのコードエディタに成功メッセージが表示されます。次に、次のコマンドを実行します。リソースパッケージ、バケット名、パスの例を実際の情報に置き換えてください。

        ##@resource_reference{"examples-1.2.0-shaded.jar"}
        --master yarn-cluster --executor-cores 2 --executor-memory 2g --driver-memory 1g --num-executors 2 --class com.aliyun.emr.example.spark.streaming.JavaLoghubWordCount examples-1.2.0-shaded.jar <logService-project> <logService-store> <group> <endpoint> <access-key-id> <access-key-secret>

    SQL コードの開発

    EMR Spark Streaming ノードのコードエディタに、ジョブのコードを入力します。次のコードに例を示します。

    spark-submit --master yarn-cluster --executor-cores 2 --executor-memory 2g --driver-memory 1g --num-executors 2 --class com.aliyun.emr.example.spark.streaming.JavaLoghubWordCount examples-1.2.0-shaded.jar <logService-project> <logService-store> <group> <endpoint> <access-key-id> <access-key-secret>
    説明
    • この例では、DataWorks にアップロードされたリソースは examples-1.2.0-shaded.jar です。

    • access-key-idaccess-key-secret を Alibaba Cloud アカウントの AccessKey ID と AccessKey Secret に置き換えてください。AccessKey ID と AccessKey Secret を取得するには、DataWorks コンソールにログインし、右上隅のプロファイル画像にマウスを合わせ、[AccessKey 管理] を選択します。

    • EMR Spark Streaming ノードのコードエディタではコメントはサポートされていません。

    (オプション) 詳細設定の構成

    ノードページの右側にある [スケジューリング設定] セクションで、[EMR ノードパラメーター] > [DataWorks パラメーター] の下にある次の表で説明されているパラメーターを設定できます。

    説明
    • 利用可能な詳細パラメーターは、次の表に示すように、EMR クラスターのタイプによって異なります。

    • オープンソースの Spark プロパティの詳細については、「Spark の設定」をご参照ください。これらのパラメーターは、ページの右側にある [スケジューリング設定] セクションの [EMR ノードパラメーター] > [Spark パラメーター] で設定できます。

    DataLake クラスター: EMR on ECS

    詳細パラメーター

    設定の説明

    FLOW_SKIP_SQL_ANALYZE

    SQL 文を実行するメソッド。有効値:

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

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

    説明

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

    queue

    ジョブが送信されるスケジューリングキュー。デフォルト値は default です。EMR YARN の詳細については、「基本キュー設定」をご参照ください。

    priority

    優先度。デフォルト値は 1 です。

    その他

    詳細設定セクションにカスタム SparkConf パラメーターを追加できます。コードを送信すると、DataWorks はこれらのパラメーターをコマンドに自動的に追加します。例: "spark.driver.memory" : "2g"

    説明

    Ranger アクセス制御を有効にするには、グローバル Spark パラメーターの設定spark.hadoop.fs.oss.authorization.method=ranger 設定を追加します。これにより、Ranger アクセス制御が有効になります。

    パラメーター設定の詳細については、「グローバル Spark パラメーターの設定」をご参照ください。

    SQL タスクの実行

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

      説明
      • タスクのリソース要件に基づいて [スケジュール CU] を設定することもできます。デフォルト値は 0.25 です。

      • パブリックネットワークまたは VPC 経由でデータソースにアクセスするには、データソースとの接続性テストに合格したスケジューリングリソースグループを使用する必要があります。詳細については、「ネットワーク接続ソリューション」をご参照ください。

    2. ツールバーのパラメーターダイアログボックスで、作成したデータソースを選択し、[実行] をクリックして SQL タスクを実行します。

  2. ノードタスクをスケジュールで実行するには、そのスケジューリングプロパティを設定できます。詳細については、「ノードスケジューリング」をご参照ください。

  3. ノードを設定した後、それを公開する必要があります。詳細については、「ノードまたはワークフローを公開する」をご参照ください。

  4. タスクが公開された後、オペレーションセンターで定期タスクのステータスを表示できます。詳細については、「オペレーションセンターの概要」をご参照ください。