All Products
Search
Document Center

DataWorks:Create a CDH Spark node

Last Updated:Mar 13, 2024

Spark is a general-purpose big data analytics engine. Spark features high performance, ease of use, and widespread use. You can use Spark to perform complex memory analysis and build large, low-latency data analysis applications. DataWorks provides Cloudera's Distribution Including Apache Hadoop (CDH) Spark nodes that you can use to develop and periodically schedule Spark tasks in DataWorks. This topic describes how to create and use a CDH Spark node.

Prerequisites

Preparations: Prepare Spark task code and obtain a JAR package

Before you use DataWorks to schedule a CDH Spark task, you must prepare Spark task code in CDH and compile the task code to generate a JAR package. For more information about the preparation of Spark task code, see Overview.

Note

You must upload the obtained JAR package to the DataWorks console. This way, DataWorks can periodically schedule CDH Spark tasks.

Step 1: Create a CDH Spark node

  1. Go to the DataStudio page.

    Log on to the DataWorks console. In the left-side navigation pane, choose Data Modeling and Development > DataStudio. On the page that appears, select the desired workspace from the drop-down list and click Go to DataStudio.

  2. On the DataStudio page, find the desired workflow, right-click the workflow name, and then choose Create Node > CDH > CDH Spark.

  3. In the Create Node dialog box, configure the Engine Instance, Path, and Name parameters.

  4. Click Confirm. Then, you can use the created node to develop and configure tasks.

Step 2: Create and reference a CDH JAR resource

You can reference a JAR package resource in the created CDH Spark node, write code for the node, and then use the spark-submit command to commit a task on the node. Perform the following operations to create and reference a CDH JAR resource:

  1. Create a CDH JAR resource.

    Find the desired workflow and click CDH. Right-click Resource and choose Create Resource > CDH JAR. In the Create Resource dialog box, click Upload to upload a required file.

    image.png

  2. Reference the CDH JAR resource.

    1. Go to the configuration tab of the created node.

    2. Find the resource that you want to reference under Resource in the CDH folder, right-click the resource name, and then select Insert Resource Path. In this example, a resource named spark-examples_2.11_2.4.0.jar is used.

      image.png

      If the clause that is in the ##@resource_reference{""} format appears on the configuration tab of the node, the resource is successfully referenced. Sample code:

      ##@resource_reference{"spark_examples_2.11_2.4.0.jar"}
      spark_examples_2.11_2.4.0.jar
    3. Modify the code of the CDH Spark node and add the spark-submit command. The following code shows an example.

      Important

      Do not add comments when you write code for a CDH Spark node. If you add comments, an error is reported when you run a task on the CDH Spark node. You must refer to the following sample code to edit the code of a CDH Spark node.

      ##@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

      Parameter description:

      • org.apache.spark.examples.SparkPi: the main class of the task in the compiled JAR package.

      • spark-examples_2.11-2.4.0.jar: the name of the JAR package that you uploaded

What to do next

  1. Commit and deploy the node.

    1. Click the Save icon in the top toolbar to save the node.

    2. Click the Submit icon in the top toolbar to commit the node.

    3. In the Commit Node dialog box, configure the Change description parameter.

    4. Click OK.

    If you use a workspace in standard mode, you must deploy the node in the production environment after you commit the node. On the left side of the top navigation bar, click Deploy. For more information, see Deploy nodes.

  2. View the node.

    1. Click Operation Center in the upper-right corner of the configuration tab of the node to go to Operation Center in the production environment.

    2. View the scheduled node. For more information, see View and manage auto triggered nodes.

    To view more information about the node, click Operation Center in the top navigation bar of the DataStudio page. For more information, see Overview.

Scenarios

DataWorks provides comprehensive job scheduling and monitoring features to ensure that your Spark jobs can be successfully submitted to CDH clusters for running. This simplifies the O&M process of jobs and ensures efficient resource management. The following information shows specific use scenarios of Spark tasks:

  • Data analysis: Use Spark SQL, Dataset, and DataFrame APIs to aggregate, filter, and convert complex data and quickly gain insight into data.

  • Stream processing: Use Spark Streaming to process real-time data streams and perform instant analysis and decision making.

  • Machine learning: Use Spark MLlib to preprocess data, extract features, and perform model training and evaluation.

  • Large-scale data extract, transform, and load (ETL): Perform ETL operations on large datasets to prepare data for data warehouses or other storage systems.