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

DataWorks:CDH Sparkノードの作成

最終更新日:Jun 10, 2025

Sparkは汎用ビッグデータ分析エンジンです。 Sparkは高性能、使いやすさ、幅広い用途を特徴としています。 Sparkを使用して複雑なメモリ分析を実行し、大規模で低レイテンシのデータ分析アプリケーションを構築できます。 DataWorksは、DataWorksでSparkタスクを開発し、定期的にスケジュールするために使用できるCloudera's Distribution Including Apache Hadoop(CDH)Sparkノードを提供します。 このトピックでは、CDH Sparkノードを作成および使用する方法について説明します。

前提条件

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

    DataStudioのワークフローに基づいて、さまざまなタイプの計算エンジンの開発操作が実行されます。 したがって、ノードを作成する前に、ワークフローを作成する必要があります。 詳細については、「ワークフローの作成」をご参照ください。

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

    CDHノードを作成し、CDHノードを使用してDataWorksでCDHタスクを開発する前に、CDHクラスターをDataWorksワークスペースに登録する必要があります。 詳細については、「CDH または CDP クラスタを DataWorks に登録する」をご参照ください。

  • (RAMユーザーを使用してタスクを開発する場合に必要)RAMユーザーがメンバーとしてDataWorksワークスペースに追加され、[開発] ロールまたは [ワークスペース管理者] ロールが割り当てられていること。 ワークスペース管理者ロールには、必要以上の権限があります。 ワークスペース管理者ロールを割り当てる場合は注意してください。 メンバーの追加方法の詳細については、「ワークスペースメンバーを追加し、ロールを割り当てる」をご参照ください。

  • サーバーレスリソースグループが購入され、構成されていること。 構成には、ワークスペースとの関連付けとネットワーク構成が含まれます。 詳細については、「サーバーレスリソースグループの作成と使用」をご参照ください。

制限

このタイプのノードのタスクは、スケジュール用にサーバーレスリソースグループまたは旧バージョンの専用リソースグループで実行できます。 タスクはサーバーレスリソースグループで実行することをお勧めします。

準備:Sparkタスクコードを準備し、JARパッケージを取得する

DataWorksを使用してCDH Sparkタスクをスケジュールする前に、CDHでSparkタスクコードを準備し、タスクコードをコンパイルしてJARパッケージを生成する必要があります。 Sparkタスクコードの準備の詳細については、「Spark」をご参照ください。

説明

取得したJARパッケージをDataWorksコンソールにアップロードする必要があります。 これにより、DataWorksはCDH Sparkタスクを定期的にスケジュールできます。

ステップ 1:CDH Sparkノードを作成する

  1. DataStudioページに移動します。

    DataWorksコンソールにログインします。 上部のナビゲーションバーで、目的のリージョンを選択します。 左側のナビゲーションペインで、[データ開発とガバナンス] > [データ開発] を選択します。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[データ開発に移動] をクリックします。

  2. DataStudioページで、目的のワークフローを見つけ、ワークフロー名を右クリックし、[ノードの作成] > [CDH] > [CDH Spark] を選択します。

  3. [ノードの作成] ダイアログボックスで、エンジンインスタンス、パス、および名前パラメーターを構成します。

  4. [確認] をクリックします。 次に、作成したノードを使用して、タスクを開発および構成できます。

ステップ 2:CDH JARリソースを作成して参照する

作成したCDH SparkノードでJARパッケージリソースを参照し、ノードのコードを記述し、spark-submitコマンドを使用してノードでタスクをコミットできます。 CDH JARリソースを作成して参照するには、次の操作を実行します。

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

    目的のワークフローを見つけ、[CDH] をクリックします。 [リソース] を右クリックし、[リソースの作成] > [CDH JAR] を選択します。 [リソースの作成] ダイアログボックスで、[アップロード] をクリックして必要なファイルをアップロードします。

    image.png

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

    1. 作成したノードの構成タブに移動します。

    2. [CDH] フォルダーの [リソース] にある参照するリソースを見つけ、リソース名を右クリックし、[リソースパスの挿入] を選択します。 この例では、spark-examples_2.11_2.4.0.jar という名前のリソースを使用します。

      image.png

      ##@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コマンドを追加します。 次のコードは例を示しています。

      重要

      CDH Sparkノードのコードを記述するときは、コメントを追加しないでください。 コメントを追加すると、CDH Sparkノードでタスクを実行したときにエラーが報告されます。 CDH Sparkノードのコードを編集するには、次のサンプルコードを参照する必要があります。

      ##@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: アップロードしたJARパッケージの名前。

ステップ 3:タスクスケジューリングプロパティを構成する

システムにノードのタスクを定期的に実行させる場合は、ノードの構成タブの右側のナビゲーションペインにある [プロパティ] をクリックして、ビジネス要件に基づいてタスクスケジューリングプロパティを構成できます。

  • タスクの基本プロパティを構成します。 詳細については、「基本プロパティの構成」をご参照ください。

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

    説明

    タスクをコミットする前に、[プロパティ] タブで [再実行] パラメーターと [親ノード] パラメーターを構成する必要があります。

  • ノードのリソースプロパティを構成します。 詳細については、「リソースプロパティの構成」をご参照ください。 作成したノードが自動トリガーノードであり、ノードがインターネットまたは仮想プライベートクラウド(VPC)にアクセスするようにするには、ノードに接続されているスケジュール用のリソースグループを選択する必要があります。 詳細については、「ネットワーク接続ソリューション」をご参照ください。

ステップ 4:タスクコードをデバッグする

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

  2. SQLステートメントを保存して実行します。

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

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

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

次の手順

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

    1. ツールバーの [保存] アイコンをクリックして、タスクを保存します。

    2. 上部ツールバーの [送信] アイコンをクリックして、タスクをコミットします。

    3. [送信] ダイアログボックスで、[変更の説明] パラメーターを構成します。

    4. [確認] をクリックします。

    標準モードのワークスペースを使用する場合は、タスクをコミットした後に、本番環境にタスクをデプロイする必要があります。 ノードにタスクをデプロイするには、DataStudioページの上部ナビゲーションバーにある [デプロイ] をクリックします。 詳細については、「タスクのデプロイ」をご参照ください。

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

    1. 対応するノードの構成タブの右上隅にある [オペレーションセンター] をクリックして、本番環境のオペレーションセンターに移動します。

    2. スケジュールされたタスクを表示します。 詳細については、「自動トリガータスクの表示と管理」をご参照ください。

    タスクの詳細を表示するには、DataStudioページの上部ナビゲーションバーにある [オペレーションセンター] をクリックします。 詳細については、「オペレーションセンター」をご参照ください。

シナリオ

DataWorksは、SparkジョブをCDHクラスターに正常に送信して実行できるように、包括的なジョブスケジューリングおよび監視機能を提供します。 これにより、ジョブのO&Mプロセスが簡素化され、効率的なリソース管理が保証されます。 以下は、Sparkタスクの具体的な使用シナリオです。

  • データ分析:Spark SQL、Dataset、DataFrame APIを使用して、複雑なデータを集計、フィルタリング、変換し、データへの迅速な洞察を得ます。

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

  • 機械学習:Spark MLlibを使用してデータを前処理し、特徴を抽出し、モデルのトレーニングと評価を実行します。

  • 大規模データの抽出、変換、ロード(ETL):大規模データセットでETL操作を実行して、データウェアハウスまたは他のストレージシステムのデータを準備します。