1

我正在尝试在我的 HashMap 中创建一个通用值类型,如下所示:

val aMap = ArrayBuffer[HashMap[String, Any]]()
aMap += HashMap()
aMap(0)("aKey") = "aStringVal"
aMap(0)("aKey2") = true        // a bool value
aMap(0)("aKey3") = 23          // an int value

这在我的 spark-shell 中有效,但它在我的 IntelliJ 项目中的 scala.Any 上给了我这个 ClassNotFoundException:

org.apache.spark.streaming.scheduler.JobScheduler logError - Error running job streaming job 1521859195000 ms.0
java.lang.ClassNotFoundException: scala.Any
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)

我正在使用 Scala 2.11。有什么想法可能导致这种情况吗?

4

1 回答 1

2

这最终对我来说是DataFrame使用混合数据创建一个.toDF

我有:

val baseDataFrame = Seq(
    ("value1", "one"),
    ("value2", 2),
    ("value3", 3)
  ).toDF("column1", "column2")

这个改变解决了这个问题:

val baseDataFrame = Seq(
    ("value1", "one"),
    ("value2", "2"),
    ("value3", "3")
  ).toDF("column1", "column2")
于 2018-10-17T14:28:52.343 回答