文章目录

  • 坑有哪些?
  • 踩坑记:版本号一定要正确!!!JDK一定要匹配。
    • 使用idea打包maven项目

坑有哪些?

  1. ClassNotFoundException:表明maven依赖和服务器中的版本不匹配。
  2. Unsupported class file major version 55:表明jdk版本不适配spark(过高,出现minor则过低)
  3. 数组越界IndexOutOfBoundsException:表明jdk版本不适合spark

踩坑记:版本号一定要正确!!!JDK一定要匹配。

我这里使用的是scala 2.11.12 和spark 2.4.1(不知道自己版本号的同学可以使用spark-shell,查看自己的版本号)

该版本号下,一定要使用jdk1.8,如果使用jdk1.7会出现低版本错误,使用jdk11或者jdk12会有高版本错误。

出现的错误如下:
Unsupported major.minor version 52.0 (低版本错误)
Unsupported class file major version 55 (高版本错误)

另外还会出现数组越界的错误。都是jdk版本不匹配的问题。
注意这里的jdk8对应的是scala 2.11.12 - spark 2.4.1
其他版本可能不通用。

使用idea打包maven项目

使用maven创建spark项目,如下图所示,然后点击下一步,输入groupId和artifactId即可创建完毕。
注意:这里project SDK一定要改成jdk8

创建完毕后,修改pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.leesangHyuk</groupId><artifactId>recommend</artifactId><version>1.0-SNAPSHOT</version><inceptionYear>2008</inceptionYear><properties><scala.version>2.11.12</scala.version><spark.version>2.4.0</spark.version></properties><repositories><repository><id>scala-tools.org</id><name>Scala-Tools Maven2 Repository</name><url>http://scala-tools.org/repo-releases</url></repository></repositories><pluginRepositories><pluginRepository><id>scala-tools.org</id><name>Scala-Tools Maven2 Repository</name><url>http://scala-tools.org/repo-releases</url></pluginRepository></pluginRepositories><dependencies><dependency><groupId>org.apache.spark</groupId><artifactId>spark-core_2.11</artifactId><version>${spark.version}</version></dependency><dependency><groupId>org.apache.spark</groupId><artifactId>spark-mllib_2.11</artifactId><version>${spark.version}</version></dependency><dependency><groupId>org.apache.spark</groupId><artifactId>spark-sql_2.11</artifactId><version>${spark.version}</version></dependency><dependency><groupId>org.scala-lang</groupId><artifactId>scala-library</artifactId><version>${scala.version}</version></dependency></dependencies><build><sourceDirectory>src/main/scala</sourceDirectory><plugins><plugin><groupId>org.scala-tools</groupId><artifactId>maven-scala-plugin</artifactId><executions><execution><goals><goal>compile</goal><goal>testCompile</goal></goals></execution></executions><configuration><scalaVersion>${scala.version}</scalaVersion><args><arg>-target:jvm-1.5</arg></args></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-eclipse-plugin</artifactId><configuration><downloadSources>true</downloadSources><buildcommands><buildcommand>ch.epfl.lamp.sdt.core.scalabuilder</buildcommand></buildcommands><additionalProjectnatures><projectnature>ch.epfl.lamp.sdt.core.scalanature</projectnature></additionalProjectnatures><classpathContainers><classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer><classpathContainer>ch.epfl.lamp.sdt.launching.SCALA_CONTAINER</classpathContainer></classpathContainers></configuration></plugin></plugins></build><reporting><plugins><plugin><groupId>org.scala-tools</groupId><artifactId>maven-scala-plugin</artifactId><configuration><scalaVersion>${scala.version}</scalaVersion></configuration></plugin></plugins></reporting>
</project>

注意这里的maven的依赖一定要和服务器里的scala 和spark版本一致,否则会出现ClassNotFoundException错误。

然后在 project structure里,加入scala 2.11.12的jdk

加入完成后,在Artifacts里面,加入jar包。

初次创建的时候,一定要指明Main Class。之后创建的不需要。

然后把extracted xxx.jar 全部删掉,不删可能spark-submit的时候会报错。

删到这个程度即可。

然后应用。打包。

打包完成后,传到spark服务器。
运行./start-all.sh后,通过spark-submit提交任务。
spark-submit --class com.leesangHyuk.Recommend --master spark://slave:7077 recommend.jar

–class后面一定是包+类名。

Spark一路火花带闪电——Spark踩坑记相关推荐

  1. Spark一路火花带闪电——Spark底层原理介绍

    文章目录 Spark计算引擎原理 1.1 术语 1.1.1 Application:Spark应用程序 1.1.2 Driver:驱动程序 1.1.3 Cluster Manager:资源管理器 1. ...

  2. Spark一路火花带闪电——Spark常用算子(参数及其返回值)探究

    文章目录 转化算子 行动算子 转化算子 以数据Seq(1,2,3,3)为例子 map(f:T => U):RDD[U] 映射:将函数应用于RDD内的每个元素,将其返回值构成新的RDD rdd.m ...

  3. Spark一路火花带闪电——认识Spark

    文章目录 认识Apache Spark 1.1 Spark是一个软件栈 1.1.1 Spark Core 1.1.2 Spark SQL 1.1.3 Spark Streaming 1.1.4 MLl ...

  4. Spark一路火花带闪电——Accumulator Broadcast

    文章目录 Accumulator累加器 Accumulator简介 陷阱及解决办法 Broadcast广播变量 Accumulator累加器 Accumulator简介 Accumulator是spa ...

  5. Spark一路火花带闪电——Pair RDD常用算子(参数及其返回值)探究

    文章目录 转化算子 行动算子 转化算子 以键值对集合{(1,2),(3,4),(3,6)}为例 RDD[U,T]注意下面的函数,对应U和T reduceByKey(f:(T,T) => T):R ...

  6. 手拿菜刀砍电线,一路火花带闪电,神经病人思维广,弱智孩子欢乐多!

    150条经典装逼语录,签名专用 ~~~手拿菜刀砍电线,一路火花带闪电~~~(转) 2009年07月26日 星期日 12:10 1.<卖火柴的小女孩>这篇文章主要写得是:一个小女孩五次擦火柴 ...

  7. 程序猿菜鸟打怪升级—一路火花带闪电

    文章目录 一. 昨夜西风凋碧树,独上高楼,望尽天涯路 二. 衣带渐宽终不悔,为伊消得人憔悴 三.众里寻他千百度,蓦然回首,那人却在,灯火阑珊处 [告别平庸的9个方法] 各位小伙伴,大家好!我是猿人谷, ...

  8. Spark踩坑记——数据库(Hbase+Mysql)转

    转自:http://www.cnblogs.com/xlturing/p/spark.html 前言 在使用Spark Streaming的过程中对于计算产生结果的进行持久化时,我们往往需要操作数据库 ...

  9. android小程序_小程序踩坑记

    小程序踩坑记 希望这个文章能尽量记录下小程序的那些坑,避免开发者们浪费自己的生命来定位到底是自己代码导致的还是啥神秘的字节跳变原因. 前记 小程序大多数坑是同一套代码在不同平台上表现不一致导致的,微信 ...

最新文章

  1. 结构光测距相位差_ROHM确立新型VCSEL模块技术 有助于提高测距精度
  2. Ubuntu下安装为知笔记Linux版本
  3. 嵌入式系统开发入门二:C语言的几个注意事项
  4. 枚举所有进程及其ID
  5. 8月12号=》391页-395页
  6. Spark 中 File,Block,Split,Task,Partition,RDD概念的理解
  7. 新手如何从零开始入门前端开发,分享我的学习方法!
  8. lucene索引并搜索mysql数据库[转]
  9. Oracle 集群sysbackup用户登陆随机报错ORA-01017
  10. 《计算机操作系统》思维导图
  11. if...elseif....else 语句 2020年周易起名系统开发,生辰八字,周易
  12. cer证书的命令导入
  13. Web前端和后端的异同
  14. [CB]2018年中国智能手机市场出货量
  15. 数据结构:项目三、算术表达式求解
  16. 我的世界服务器显示文字,我的世界服务器悬浮字体教程 | 手游网游页游攻略大全...
  17. 基于python的Poisson-Gumbel 泊松耿贝尔复合极值分布实现
  18. JAVA日期格式化常用格式对照表
  19. day1——SpringBoot介绍
  20. 数据挖掘比赛常用数据处理函数

热门文章

  1. windows配置多个NTP服务器地址
  2. 兄弟Brother DCP-7190DW 驱动
  3. TCP/IP协议简介(三) 之 网络层
  4. 智云通CRM:产品和人脉是销售的“终极武器”?
  5. 岁月温柔-25 妈妈转到省医院第5天 专家组会诊表示已经没有希望了
  6. 使用Bootstrap构建琮元科技宣传网站
  7. android检查悬浮窗权限,Android 悬浮窗权限校验
  8. system函数调用失败
  9. MATLAB一元函数与二元函数求极小值
  10. Webbench 原理及其优缺点