我在Java中有ArrayList
,它包含Row类型的对象,如下面的
List<Row> Table = new ArrayList<Row>();
我需要将此表格转换为Scala Seq
,以便稍后将其转换为数据框架。我试了以下没有成功
var TableScala:Seq[Row] =
Table.asScalaJavaConverters.asScalaBufferConverter(getTable).asScala
val newList = TableScala.map(row => new Tuple5(row(0), row(1), row(2), row(3), row(4)))
spark.createDataFrame(newList).toDF("userID")
答案 0 :(得分:1)
从Scala 2.8.1开始,使用“scala.collection.JavaConverters._”api显式转换这些转换。以下代码显示了使用此API的相同转换。
首次导入
import scala.collection.JavaConverters._
Java列表
List<Row> javaList = new ArrayList<Row>();
使用“asScala”将Java列表转换为Scala列表
val scalaList = javaList.asScala
val squareList = scalaList.map(value => value*value)
println("square list is" + squareList)
参考:http://blog.madhukaraphatak.com/converting-java-collections-to-scala/