【发布时间】:2016-09-19 08:38:22
【问题描述】:
我已经下载了 apache spark 1.6.0/1.6.1 的预编译版本,当我尝试这样做时
scala> val data = sqlContext.read.format("libsvm").load("data/mllib/sample_libsvm_data.txt")
在我的 spark shell 中,我得到了
java.lang.ClassNotFoundException: 加载数据类失败 来源:libsvm
.
我进行了 stackover 流搜索,我看到这个链接 failed-to-load class libsvm 表明它应该适用于 1.6,但不知何故它对我不起作用,我需要做什么才能让它工作?
【问题讨论】:
-
类似其他栈溢出链接,使用MLUtils是可以的,例如"val examples: RDD[LabeledPoint] = MLUtils.loadLibSVMFile(sc, "data/mllib/sample_libsvm_data.txt")" 有效
-
可能是类路径问题吗?你是如何启动 spark shell 的?您是否安装了任何其他版本的 Spark 或 Scala?环境 SPARK_HOME 是否设置为某个值(在这种情况下清除它并重试)?您使用的是类 Unix 操作系统吗?
-
我首先将预编译版本解压缩到一个文件夹中,例如 spark-1.6.1-bin-hadoop2.6,然后我 cd 进入该文件夹,然后通过执行 bin/spark- 启动 spark-shell贝壳。我也用 1.6.0 试试这个,我遇到了同样的问题。问题也发生在 MacOS 和 Linux 上。 (RHEL 6.x)
标签: scala apache-spark apache-spark-sql apache-spark-mllib