- 建工程
- Maven,选择org.scala那一项
pom文件scala版本
官网上找配置文档
- 添加scala依赖 和spark依赖 hadoop依赖
变量
如果看不到导入的jar包,需要pom文件重新reimport
红色波浪线报错,原因默认cdh仓库访问不到
解决:加cdh 仓库地址
https://repository.cloudera.com/artifactory/cloudera-repos
总结:
3个依赖:
scala-2.11.8
spark-core
hadoop-client
注意点:添加cdh的repository
题外话:在写spark程序的时候,打包没问题,但是运行报错
Exception in thread “main” java.lang.NoSuchMethodError: scala.Predef
.
r
e
f
A
r
r
a
y
O
p
s
(
[
L
j
a
v
a
/
l
a
n
g
/
O
b
j
e
c
t
;
)
L
s
c
a
l
a
/
c
o
l
l
e
c
t
i
o
n
/
m
u
t
a
b
l
e
/
A
r
r
a
y
O
p
s
;
a
t
o
r
g
.
a
p
a
c
h
e
.
s
p
a
r
k
.
u
t
i
l
.
U
t
i
l
s
.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps; at org.apache.spark.util.Utils
.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps;atorg.apache.spark.util.Utils.getCallSite(Utils.scala:1440)
at org.apache.spark.SparkContext.(SparkContext.scala:76)
at com.ruozedata.bigdata.core02.LogApp$.main(LogApp.scala:9)
at com.ruozedata.bigdata.core02.LogApp.main(LogApp.scala)
网上找了很多资料,都说pom文件和scala版本和idea的scala sdk版本不一致,
之前学scala的时候,下的最新版2.12.8,学spark的时候,在pom文件写的2.11.8,
于是立即下载了2.11.8,idea设置成用2.11.8,但是问题依然报错,没解决。
折腾了好久,会不会是jar包冲突了,因为我环境安了2个scala版本,于是把2.12.8卸载一个,只保留和pom文件一致的scala2.11.8版本,完美解决