Spark mapPartitions正确使用了DataFrames

时间:2018-07-24 11:27:11

标签: apache-spark apache-spark-sql

我正在为正确使用mapPartitions而苦苦挣扎。

我已经成功地使用map运行了代码,但是由于我不想为每一行都加载资源,所以我想切换到mapPartitions

下面是一些简单的示例代码:

import spark.implicits._
val dataDF = spark.read.format("json").load("basefile")
val newDF = dataDF.mapPartitions( iterator  => {
  iterator.map(p => Seq(1,"1")))
}).toDF("id", "newContent")
newDF.write.json("newfile")

这会导致异常

Exception in thread "main" java.lang.ClassNotFoundException: scala.Any

我猜这与打字有关。可能是什么问题?

1 个答案:

答案 0 :(得分:2)

问题是Seq(1,"1")的类型为Seq[Any],无法从mapPartitions返回,请尝试Seq(1,2) intsead