我有一个数据帧,看起来像这样:如何从数据集中获取值并将其存储在Scala值中?
scala> avgsessiontime.show()
+-----------------+
| avg|
+-----------------+
|2.073455735838315|
+-----------------+
我需要的价值2.073455735838315存储在一个变量。我试着用
avgsessiontime.collect
而是开始给我任务不能序列异常。所以为了避免我开始使用foreachPitition。但我不知道如何提取数组变量中的值2.073455735838315。
scala> avgsessiontime.foreachPartition(x => x.foreach(println))
[2.073455735838315]
但是,当我这样做:
avgsessiontime.foreachPartition(x => for (name <- x) name.get(0))
我得到一个空白/空的结果。即使长度也是空的。
avgsessiontime.foreachPartition(x => for (name <- x) name.length)
我知道name的类型为org.apache.spark.sql.Row,那么它应该返回这两个结果。
_“但开始给我任务不可序列化的异常。”_ < - 解决真正的问题不会引入新的(!)你可以粘贴异常+代码?什么是Spark版本? –