[英]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.