[英]Get all elements of List without iteration scala
我正在火花中工作,我必须根据List的元素创建一个RDD [(Double,Double)]
我有
val list1: List[Double] = List(16.0,5.0)
当我做
val rdd = sc.parallelize (Seq(list1))
我得到了RDD RDD[List[Double]]
类型的RDD,但是我想要通过执行以下操作可以实现RDD[(Double, Double)]
类型的RDD[(Double, Double)]
:
val rdd = sc.parallelize (Seq((16.0,5.0)))
因此,基本上,我如何在Seq()
列出列表中的所有元素而不进行迭代,并执行类似的操作:
val rdd = sc.parallelize (Seq((list1(*))))
您要做的就是将List[Double]
RDD[(Double, Double)]
成对地转换为RDD[(Double, Double)]
对,您可以使用:
sc.paralelize(
list.sliding(2, 2)
.filter(_.size == 2)
.map(tup => (tup.head, tup.last))
)
您也可以使用.grouped(2)
代替注释中提到的.sliding(2, 2)
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.