idea搭建maven spark环境(解决java.lang.ClassNotFoundException异常)

1 篇文章 0 订阅
1 篇文章 0 订阅

1、创建项目:
打开idea,file->new->project->maven输入自己的项目名,并将main下的java文件夹改成scala。
图1
2、在项目上新增scala支持
在这里插入图片描述
在这里使用的是scala2.11.8(没下载scala的点击create。没有scala插件的先下载scala插件)在这里插入图片描述
3、pom文件中添加spark所需要的jar包

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <spark.version>2.3.3</spark.version>
    <scala.version>2.11</scala.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.apache.spark</groupId>
      <artifactId>spark-core_${scala.version}</artifactId>
      <version>${spark.version}</version>
    </dependency>
  </dependencies>

  <repositories>
    <repository>
      <id>central</id>
      <name>Maven Repository Switchboard</name>
      <layout>default</layout>
      <url>http://repo2.maven.org/maven2</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>

  <build>
    <sourceDirectory>src/main/scala</sourceDirectory>
    <testSourceDirectory>src/test/scala</testSourceDirectory>
  </build>

下载jar包比较慢 最后查看下jar是否都下载正常。
在这里插入图片描述
先创建个测试类 测试下scala是否正常,注意kind选择object(可自行百度scala和object的区别)
在这里插入图片描述
右键运行 console出现hello world 表示scala安装没问题。
在这里插入图片描述
4、核心代码

创建一个测试文件 hello.txt
内容为
1 3 5 6 8 9 1 3 9 9 9

在这里插入图片描述

源码copy

package com.liu.spark.test

import org.apache.spark.SparkContext

object WordCount {

  def main(args: Array[String]): Unit = {
    val file = "hello.txt"
    val sc = new SparkContext("local", "wordCount")
    val data = sc.textFile(file)
    data.flatMap(_.split(" "))
      .map((_, 1))
      .reduceByKey(_ + _)
      .collect()
      .foreach(println)
  }
}

右键运行
在这里插入图片描述
到目前为止在idea中执行spark已经完成

接下来要进行打包成jar通过spark-submit提交到spark去运行
在这里插入图片描述
— 解决异常图
解决异常图
build->build Artifacts->build
在这里插入图片描述
找到 {projectName}/out/artifacts/wordCount_jar/wordCount.jar

class后面一定要带着包名 jar包选择一定要全路径

spark-submit --class com.liu.spark.test.WordCount {projectName}/out/artifacts/wordCount_jar/wordCount.jar

执行成功

注意
很多童鞋在idea中执行成功 但是在spark submit提交会出现ClassNotFoundException异常,可以看下解决异常图,要选择copy to the output
将所有的jar分开 ,这样的好处是提交多个工程不需要每个jar都打的特别大,简单实用

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值