Spark 2.0 Scala 导入语句
Spark 2.0 Scala import statements
在 Spark 1.6.2 (Scala 2.10.5) 上,以下代码在 shell:
中运行良好
import org.apache.spark.mllib.linalg.Vector
case class DataPoint(vid: String, label: Double, features: Vector)
mllib Vector 正确地掩盖了 Scala Vector。
但是,在 Spark 2.0 (Scala 2.11.8) 上,相同的代码会在 shell 中抛出以下错误:
<console>:11: error: type Vector takes type parameters
case class DataPoint(vid: String, label: Double, features: Vector)
为了让它工作,我现在必须明确命名 class:
case class DataPoint(vid: String, label: Double,
features: org.apache.spark.mllib.linalg.Vector)
有人可以告诉我发生了什么变化吗?Spark 或 Scala 有问题吗?谢谢!
这个问题最简单的解决方案是一个简单的 paste
:
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 2.1.0-SNAPSHOT
/_/
Using Scala version 2.11.8 (OpenJDK 64-Bit Server VM, Java 1.8.0_102)
Type in expressions to have them evaluated.
Type :help for more information.
scala> import org.apache.spark.mllib.linalg.Vector
import org.apache.spark.mllib.linalg.Vector
scala> case class DataPoint(vid: String, label: Double, features: Vector)
<console>:11: error: type Vector takes type parameters
case class DataPoint(vid: String, label: Double, features: Vector)
^
scala> :paste
// Entering paste mode (ctrl-D to finish)
import org.apache.spark.mllib.linalg.Vector
case class DataPoint(vid: String, label: Double, features: Vector)
// Exiting paste mode, now interpreting.
import org.apache.spark.mllib.linalg.Vector
defined class DataPoint
在 Spark 1.6.2 (Scala 2.10.5) 上,以下代码在 shell:
中运行良好import org.apache.spark.mllib.linalg.Vector
case class DataPoint(vid: String, label: Double, features: Vector)
mllib Vector 正确地掩盖了 Scala Vector。
但是,在 Spark 2.0 (Scala 2.11.8) 上,相同的代码会在 shell 中抛出以下错误:
<console>:11: error: type Vector takes type parameters
case class DataPoint(vid: String, label: Double, features: Vector)
为了让它工作,我现在必须明确命名 class:
case class DataPoint(vid: String, label: Double,
features: org.apache.spark.mllib.linalg.Vector)
有人可以告诉我发生了什么变化吗?Spark 或 Scala 有问题吗?谢谢!
这个问题最简单的解决方案是一个简单的 paste
:
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 2.1.0-SNAPSHOT
/_/
Using Scala version 2.11.8 (OpenJDK 64-Bit Server VM, Java 1.8.0_102)
Type in expressions to have them evaluated.
Type :help for more information.
scala> import org.apache.spark.mllib.linalg.Vector
import org.apache.spark.mllib.linalg.Vector
scala> case class DataPoint(vid: String, label: Double, features: Vector)
<console>:11: error: type Vector takes type parameters
case class DataPoint(vid: String, label: Double, features: Vector)
^
scala> :paste
// Entering paste mode (ctrl-D to finish)
import org.apache.spark.mllib.linalg.Vector
case class DataPoint(vid: String, label: Double, features: Vector)
// Exiting paste mode, now interpreting.
import org.apache.spark.mllib.linalg.Vector
defined class DataPoint