Spark一路火花带闪电——Spark踩坑记
文章目录
- 坑有哪些?
- 踩坑记:版本号一定要正确!!!JDK一定要匹配。
- 使用idea打包maven项目
坑有哪些?
- ClassNotFoundException:表明maven依赖和服务器中的版本不匹配。
- Unsupported class file major version 55:表明jdk版本不适配spark(过高,出现minor则过低)
- 数组越界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踩坑记相关推荐
- Spark一路火花带闪电——Spark底层原理介绍
文章目录 Spark计算引擎原理 1.1 术语 1.1.1 Application:Spark应用程序 1.1.2 Driver:驱动程序 1.1.3 Cluster Manager:资源管理器 1. ...
- Spark一路火花带闪电——Spark常用算子(参数及其返回值)探究
文章目录 转化算子 行动算子 转化算子 以数据Seq(1,2,3,3)为例子 map(f:T => U):RDD[U] 映射:将函数应用于RDD内的每个元素,将其返回值构成新的RDD rdd.m ...
- 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 ...
- Spark一路火花带闪电——Accumulator Broadcast
文章目录 Accumulator累加器 Accumulator简介 陷阱及解决办法 Broadcast广播变量 Accumulator累加器 Accumulator简介 Accumulator是spa ...
- Spark一路火花带闪电——Pair RDD常用算子(参数及其返回值)探究
文章目录 转化算子 行动算子 转化算子 以键值对集合{(1,2),(3,4),(3,6)}为例 RDD[U,T]注意下面的函数,对应U和T reduceByKey(f:(T,T) => T):R ...
- 手拿菜刀砍电线,一路火花带闪电,神经病人思维广,弱智孩子欢乐多!
150条经典装逼语录,签名专用 ~~~手拿菜刀砍电线,一路火花带闪电~~~(转) 2009年07月26日 星期日 12:10 1.<卖火柴的小女孩>这篇文章主要写得是:一个小女孩五次擦火柴 ...
- 程序猿菜鸟打怪升级—一路火花带闪电
文章目录 一. 昨夜西风凋碧树,独上高楼,望尽天涯路 二. 衣带渐宽终不悔,为伊消得人憔悴 三.众里寻他千百度,蓦然回首,那人却在,灯火阑珊处 [告别平庸的9个方法] 各位小伙伴,大家好!我是猿人谷, ...
- Spark踩坑记——数据库(Hbase+Mysql)转
转自:http://www.cnblogs.com/xlturing/p/spark.html 前言 在使用Spark Streaming的过程中对于计算产生结果的进行持久化时,我们往往需要操作数据库 ...
- android小程序_小程序踩坑记
小程序踩坑记 希望这个文章能尽量记录下小程序的那些坑,避免开发者们浪费自己的生命来定位到底是自己代码导致的还是啥神秘的字节跳变原因. 前记 小程序大多数坑是同一套代码在不同平台上表现不一致导致的,微信 ...
最新文章
- 结构光测距相位差_ROHM确立新型VCSEL模块技术 有助于提高测距精度
- Ubuntu下安装为知笔记Linux版本
- 嵌入式系统开发入门二:C语言的几个注意事项
- 枚举所有进程及其ID
- 8月12号=》391页-395页
- Spark 中 File,Block,Split,Task,Partition,RDD概念的理解
- 新手如何从零开始入门前端开发,分享我的学习方法!
- lucene索引并搜索mysql数据库[转]
- Oracle 集群sysbackup用户登陆随机报错ORA-01017
- 《计算机操作系统》思维导图
- if...elseif....else 语句 2020年周易起名系统开发,生辰八字,周易
- cer证书的命令导入
- Web前端和后端的异同
- [CB]2018年中国智能手机市场出货量
- 数据结构:项目三、算术表达式求解
- 我的世界服务器显示文字,我的世界服务器悬浮字体教程 | 手游网游页游攻略大全...
- 基于python的Poisson-Gumbel 泊松耿贝尔复合极值分布实现
- JAVA日期格式化常用格式对照表
- day1——SpringBoot介绍
- 数据挖掘比赛常用数据处理函数