[英]Convert Java ArrayList of objects to scala seq
I have ArrayList
in Java which holds objects of type Row such as following 我在Java中有
ArrayList
,其中包含Row类型的对象,如下所示
List<Row> Table = new ArrayList<Row>();
I need to convert this Table to Scala Seq
in order to later convert it to data-frame. 我需要将此表转换为Scala
Seq
,以便稍后将其转换为数据帧。 I tried the following without success 我尝试了以下但没有成功
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")
From Scala 2.8.1, these conversions are made explicit using “scala.collection.JavaConverters._” api. 从Scala 2.8.1开始,使用“ scala.collection.JavaConverters ._” API明确显示了这些转换。 The following code shows same conversion using this api.
以下代码显示了使用此api进行的相同转换。
First import 首次导入
import scala.collection.JavaConverters._
Java list Java列表
List<Row> javaList = new ArrayList<Row>();
Use “asScala “ to convert Java list to Scala list 使用“ asScala”将Java列表转换为Scala列表
val scalaList = javaList.asScala
val squareList = scalaList.map(value => value*value)
println("square list is" + squareList)
reference : http://blog.madhukaraphatak.com/converting-java-collections-to-scala/ 参考: http : //blog.madhukaraphatak.com/converting-java-collections-to-scala/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.