我试图像这样在我的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中工作,但它在scala上给了我这个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。任何想法可能是什么原因造成的?
最佳答案
最终对我来说是使用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")