spark与scala版本问题

异常信息:

java.lang.NoSuchMethodError: scala.Product.$init$

事情的经过是这样的:

1. 使用spark最新版本2.2.0测试SparkSql的DataFrame及Dataset的时候抛出这个异常。

2. 开始怀疑是scala版本问题,于是没多想安装了scala最新版本2.1.2.4,然而依然报这个错。

3. 郁闷好久,甚至去研究cass class原理(因为cass class是自动实现scala.Product接口的,报错信息也在这里),但是问题还是没解决。

4. 但是直觉上感觉还是scala版本问题,最后抱着破罐子破摔再失败一次也无妨的态度将scala的版本换为2.1.1.8,问题居然解决了!!!<此处是脏话>,没想到scala版本过高也不行。


然后再次打开官网,看到这样的文字:

Spark runs on both Windows and UNIX-like systems (e.g. Linux, Mac OS). It’s easy to run locally on one machine — all you need is to have java installed on your system PATH, or the JAVA_HOME environment variable pointing to a Java installation.

Spark runs on Java 8+, Python 2.7+/3.4+ and R 3.1+. For the Scala API, Spark 2.2.0 uses Scala 2.11. You will need to use a compatible Scala version (2.11.x).

Note that support for Java 7, Python 2.6 and old Hadoop versions before 2.6.5 were removed as of Spark 2.2.0.

Note that support for Scala 2.10 is deprecated as of Spark 2.1.0, and may be removed in Spark 2.3.0.

-----点击打开链接


教训啊,如果一开始怀疑是版本问题就去官网看看多好。

希望能给同仁带来帮助。


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值