欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

如何从IDEA提交任务到Spark,并查看任务执行结果

程序员文章站 2022-04-01 22:56:48
...

1.创建程序
打开IDEA——选择Maven项目——在下面找到scala22
2.IDEA程序如下
package com.demo

import org.apache.spark.SparkContext
import org.apache.spark.SparkConf
import org.apache.log4j.{Level,Logger}

object HelloWorld {
def main(args:Array[String]): Unit = {
//屏蔽日志
// Logger.getLogger(“org.apache.spark”).setLevel(Level.WARN)
// Logger.getLogger(“org.eclipse.jetty.server”).setLevel(Level.OFF)

//test.txt文件里包含了hello world行,读者可自己修改测试
val inputfile="file:///home/wangyang/helloSpark.txt"

val conf = new SparkConf().setAppName("HelloWorld").setMaster("spark://192.168.124.59:7077")

val sc = new SparkContext(conf)

val textfile = sc.textFile(inputfile)

//查询包含hello world的行
val lines = textfile.filter(line => line.contains("helloworld"))

lines.foreach(println)

}

bulid.sbt依赖(视情况自己修改)

name := “FirstSpark”

version := “0.1”

scalaVersion := “2.11.0”

libraryDependencies += “org.apache.spark” %% “spark-core” % “2.4.0”

3.打成jar包
如何从IDEA提交任务到Spark,并查看任务执行结果
如何从IDEA提交任务到Spark,并查看任务执行结果
如何从IDEA提交任务到Spark,并查看任务执行结果
如何从IDEA提交任务到Spark,并查看任务执行结果
4.使用rz命令将jar包以及要读的文件其上传到服务器上

5.提交运行

spark-submit --master spark://localhost:7077
/home/wangyang/FirstSpark.jar

其中最后一项是你的jar包位置
6.查看运行日志
192.168.124.59:8080 sdout不一定在三台服务器哪一台上有显示

如何从IDEA提交任务到Spark,并查看任务执行结果
7.若运行报文件未找到的错

关于在Spark集群中读取本地文件抛出找不到文件异常的问题

一般情况下,我们在本地ide里写好程序,打成jar包上传到集群取运行,有时候需要读取数据文件,这个时候需要注意,如果程序中读取的是本地文件,那么,要在所有的节点都有这个数据文件,只在master中有这个数据文件时执行程序时一直报找不到文件

解决方式1:让每个Worker节点的相应位置都有要读取的数据文件。

解决方式2:直接将数据文件上传到hdfs,达到数据共享。(强烈推荐,比格更高更专业)