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

DataWorks:CDH Spark ノードの作成

最終更新日:Aug 26, 2026

CDH Spark ノードは、CDH でコンパイルした Spark タスクを実行し、そのタスクを DataWorks でスケジューリングします。CDH Spark ノードを作成して、ワークスペースに登録されている CDH クラスターに Spark ジョブを送信し、それらのジョブを定期的に実行します。

ユースケース

DataWorks は、CDH クラスターに送信した Spark ジョブのスケジューリングと監視を行い、ジョブの運用保守を簡素化し、リソース管理をより効率的にします。Spark は、複雑なインメモリ分析や、大規模で低レイテンシーのデータ分析アプリケーションをサポートします。CDH Spark ノードは、一般的に次のシナリオで使用されます。

  • データ分析 — Spark SQL、Dataset、および DataFrame API を使用して、複雑なデータ集計、フィルタリング、変換を実行し、データから迅速にインサイトを得ます。

  • ストリーム処理 — Spark Streaming を使用してリアルタイムデータストリームを処理し、即時の分析と意思決定を実行します。

  • 機械学習 — Spark MLlib を使用して、データの前処理、特徴量エンジニアリング、モデルのトレーニング、評価を行います。

  • 大規模な ETL — 大規模なデータセットを抽出し、変換し、ロードして、データウェアハウスや他のストレージシステム用のデータを準備します。

仕組み

CDH Spark タスクは 2 つのシステムにまたがります。CDH では、Spark タスクのコードを開発およびコンパイルして、タスクの JAR ファイルを生成します。DataWorks では、JAR ファイルを CDH JAR リソースとしてアップロードし、CDH Spark ノードからリソースを参照し、spark-submit コマンドを使用してタスクを CDH クラスターに送信します。その後、DataWorks は設定されたスケジューリングプロパティに基づいてノードを実行します。

プロセスの最後のアクションは、ワークスペースのモードによって異なります。ワークスペースが標準モードの場合、タスクのコミットは最後のアクションではありません。タスクを本番環境にデプロイする必要もあります。

前提条件

  • DataStudio でワークフローが作成されていること。

    DataStudio では、開発タスクはワークフローに整理されます。ノードを作成する前に、ワークフローを作成する必要があります。詳細については、「ワークフローの作成」をご参照ください。

  • CDH クラスターが作成され、DataWorks ワークスペースに登録されていること。

    CDH ノードとタスクを作成する前に、CDH クラスターを DataWorks ワークスペースに登録する必要があります。詳細については、「旧バージョンの DataStudio での CDH コンピューティングリソースのバインド」をご参照ください。

  • コンパイル済みのタスク JAR ファイルが用意されていること。

    DataWorks を使用して CDH Spark タスクをスケジューリングする前に、CDH で Spark タスクのコードを開発およびコンパイルして、コンパイル済みのタスク JAR ファイルを生成しておく必要があります。CDH Spark タスクの開発に関するガイダンスについては、「Spark の概要」をご参照ください。

  • (オプション) RAM ユーザーを使用している場合、そのユーザーをワークスペースに追加し、開発者 または ストレージ管理者 ロールを割り当てる必要があります。ワークスペース管理者ロールには広範な権限があるため、割り当ては慎重に行ってください。メンバーの追加に関する詳細については、「ワークスペースにメンバーを追加する」をご参照ください。

  • (推奨) サーバーレスリソースグループが購入され、設定されていること。

    設定には、リソースグループのワークスペースへのバインドとネットワークのセットアップが含まれます。詳細については、「サーバーレスリソースグループの使用」をご参照ください。CDH Spark タスクがサポートする他のリソースグループタイプについては、「制限」をご参照ください。

制限

CDH Spark ノードを作成する前に、以下の制限を確認してください。

  • リソースグループ — CDH Spark タスクは、サーバーレスリソースグループ (推奨) または旧バージョンの専用スケジューリングリソースグループで実行されます。

  • ネットワーク接続 — タスクがパブリックインターネットまたは VPC にアクセスする必要がある場合は、必要なネットワーク接続を備えたスケジューリングリソースグループを選択する必要があります。詳細については、「ネットワーク接続ソリューション」をご参照ください。

  • リソースファイルのサイズ — CDH JAR リソースとしてアップロードする JAR ファイルは 50 MB を超えることはできません。

  • Kerberos 認証 — Kerberos 認証が有効になっている場合、リソースをアップロードする前に、現在のユーザーにストレージパスディレクトリへの書き込み権限を付与してください。

  • コメント — CDH Spark ノードエディターはコメントをサポートしていません。ノードコードにコメントが含まれている場合、ノードを実行するとエラーが発生します。

手順1:CDH Spark ノードの作成

  1. DataWorks コンソールにログインします。対象のリージョンで、左側のナビゲーションペインからデータ開発と О&М > データ開発の順にクリックします。ドロップダウンリストからワークスペースを選択し、移動データ開発をクリックします。

  2. ワークフローを右クリックし、ノードの作成 > cdh > CDH Spark を選択します。

  3. ノードの作成 ダイアログボックスで、ノードのエンジンインスタンス、パス、名前、およびその他の情報を設定します。

  4. 確認 をクリックしてノードを作成します。 その後、作成したノードで対応するタスクを開発および設定できます。

手順2:CDH JAR リソースの作成とノードコードの記述

作成した CDH Spark ノードで、JAR リソースを参照し、ノードコードを記述し、spark-submit コマンドを使用してタスクを送信します。

  1. CDH JAR リソースを作成します。

    対応するワークフローで、cdh > リソース を右クリックし、リソースの作成 > [CDH JAR] を選択し、リソースの作成 ダイアログボックスで クリックしてアップロード をクリックして、アップロードするファイルを選択します。

    [ストレージパス] (デフォルトは /user/admin/lib) を設定し、リソースの [名前] を入力します。リソースタイプが JAR の場合、ファイル名には .jar 拡張子を含める必要があります。リソースファイルのサイズ制限と Kerberos 認証で必要な権限については、「制限」をご参照ください。

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

    1. 作成した CDH ノードを開き、編集ページを表示したままにします。

    2. cdh > リソースで、参照したいリソース (spark-examples_2.11-2.4.0.jar など) を見つけ、リソース名を右クリックしてリソースのリファレンスを選択します。

      リソースのリファレンス を選択すると、CDH ノードのコード編集ページに ##@resource_reference{""} 形式のステートメントが表示され、コードリソースが参照されます。 次の例では、挿入されたステートメントと参照されるリソースの名前を示します。

    ##@resource_reference{"spark-examples_2.11-2.4.0.jar"}
    spark-examples_2.11-2.4.0.jar
  3. CDH Spark ノードのコードを変更して、spark-submit コマンドを追加します。

    重要

    次の例に基づいてタスクコードを書き換え、コメントは追加しないでください。詳細については、「制限」をご参照ください。

    次の例は、変更されたコードを示しています。

    ##@resource_reference{"spark-examples_2.11-2.4.0.jar"}
    spark-submit --class org.apache.spark.examples.SparkPi --master yarn  spark-examples_2.11-2.4.0.jar 100
    • org.apache.spark.examples.SparkPi:コンパイルした JAR ファイル内のタスクのメインクラス。

    • spark-examples_2.11-2.4.0.jar:アップロードした CDH JAR リソースの名前。

手順3:タスクスケジューリングの設定

タスクを定期的に実行する必要がある場合は、右側のペインでスケジューリング設定をクリックして、そのスケジューリングプロパティを設定します:

  • 基本的なスケジューリングプロパティを設定します。詳細については、「基本プロパティの設定」をご参照ください。

  • スケジューリングサイクル、再実行プロパティ、依存関係を設定します。詳細については、「時間プロパティの設定」および「同一サイクル内のスケジューリング依存関係の設定」をご参照ください。

    説明

    ノードをコミットする前に、再実行プロパティ プロパティを設定し、依存する先祖ノード を指定する必要があります。

  • リソースプロパティを設定します。詳細については、「リソースプロパティの設定」をご参照ください。タスクが必要とするネットワーク接続を提供するスケジューリングリソースグループを選択してください。詳細については、「制限」をご参照ください。

手順4:コードのデバッグ

  1. (オプション) 実行リソースグループを選択し、カスタムパラメーターに値を割り当てます。

    • ツールバーで、Advanced Run アイコンをクリックします。パラメーター ダイアログボックスで、デバッグに使用するリソースグループを選択します。CDH Spark タスクがサポートするリソースグループタイプについては、制限事項をご参照ください。

    • タスクコードでスケジューリングパラメーターを使用する場合は、ここでデバッグ用の値を割り当てます。値の割り当てロジックの詳細については、「実行、詳細実行、開発環境のスモークテストにおける値の割り当てロジックの違い」をご参照ください。

  2. SQL 文を保存して実行します。

    ツールバーで、保存 アイコンをクリックして SQL 文を保存し、运行 アイコンをクリックしてタスクを実行します。

  3. SQL 文を保存して実行します。

    ツールバーで、保存 アイコンをクリックして SQL 文を保存し、次に 运行 アイコンをクリックしてタスクを実行します。

    SQL 文を保存して実行します。

    ツールバーで、保存 アイコンをクリックして SQL 文を保存し、次に 运行 アイコンをクリックしてタスクを実行します。

    SQL 文を保存し、実行します。

    ツールバーで、保存 アイコンをクリックして SQL 文を保存し、次に 运行 アイコンをクリックしてタスクを実行します。

  4. (オプション) スモークテストを実行します。

    開発環境でスモークテストを実行するには、コミットプロセス中またはノードのコミット後に実行できます。詳細については、「スモークテストの実行」をご参照ください。

次のステップ

  1. ノードタスクをコミットしてデプロイします。

    1. ツールバーのアイコンをクリックしてノードを保存します。

    2. ツールバーのアイコンをクリックしてノードタスクをコミットします。

    3. 新しいバージョンのコミット ダイアログボックスで、変更内容 を入力します。

    4. OK をクリックします。

      標準モードのワークスペースを使用している場合は、タスクのコミット後、上部メニューの左側にある [デプロイ] をクリックして、タスクを本番環境にデプロイします。詳細については、「タスクのデプロイ」をご参照ください。

  2. 定期タスクを表示します。

    1. 編集ページの右上隅にある 運用保守 をクリックすると、本番環境の運用センターに移動します。

    2. 実行中の定期タスクを表示します。詳細については、「定期タスクの管理」をご参照ください。

      定期タスクに関する詳細を表示するには、トップメニューバーの オペレーションセンター をクリックします。 詳細については、「オペレーションセンターの概要」をご参照ください。