簡體   English   中英

獲取列表的所有元素而無需迭代scala

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM