DolphinScheduler+Spark 任务

1、Java Spark 程序准备

假设你的 WordCount 程序如下:

public static void main(String[] args) {
SparkConf conf = new SparkConf().setAppName("SparkWordCount");

// 本地运行用,提交到 DS 会自动覆盖
if (!conf.contains("spark.master")) {
conf.setMaster("local[*]");
}

JavaSparkContext sc = new JavaSparkContext(conf);

List<String> data = Arrays.asList(
"hello spark",
"hello dolphin",
"spark dolphin"
);

JavaRDD<String> lines = sc.parallelize(data);

JavaRDD<String> words = lines.flatMap(line -> Arrays.asList(line.split(" ")).iterator());

JavaPairRDD<String,Integer> counts = words.mapToPair(word -> new Tuple2<>(word,1))
.reduceByKey(Integer::sum);

counts.collect().forEach(System.out::println);

sc.close();
}

2、打包 Jar

使用 Maven 打包:

mvn clean package

生成的 jar 在 target/ 下,例如 spark-wordcount-1.0.jar

3、DolphinScheduler 上传资源

  • 登录 DS Web UI → 资源管理

  • 上传打好的 jar 文件

4、创建 Spark 任务

  • 工作流新建任务 → 选择 Spark 组件

  • 基本配置

    • 程序类型:Java 

    • Main class:Java main 类全路径,

    • 例如:com.example.SparkWordCount

    • 选择spark环境 
    • 部署类型,单机版选择local

5、运行与验证

  • 点击 立即运行 → 查看日志

  • 日志里应该能看到程序输出,例如:

(hello,2)
(spark,2)
(dolphin,2)

6、spark 环境配置:

安全中心-环境管理-创建环境
如:

export SPARK_HOME=/opt/dolphinscheduler/soft/spark
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PYTHON_LAUNCHER=/usr/bin/python3
export PATH=$FLINK_HOME/bin:$SPARK_HOME/bin:$PYTHON_LAUNCHER:$JAVA_HOME/bin:$DATAX_LAUNCHER:$PATH

 

 

posted on 2026-03-17 14:11  @atn  阅读(1)  评论(0)    收藏  举报

导航