gpt4 book ai didi

scala - 如何使用Spark/Scala展平集合?

转载 作者:行者123 更新时间:2023-12-03 11:44:49 24 4
gpt4 key购买 nike

在Scala中,我可以使用以下方法展平集合:

val array = Array(List("1,2,3").iterator,List("1,4,5").iterator)
//> array : Array[Iterator[String]] = Array(non-empty iterator, non-empty itera
//| tor)


array.toList.flatten //> res0: List[String] = List(1,2,3, 1,4,5)

但是如何在Spark中执行类似操作?

阅读API文档 http://spark.apache.org/docs/0.7.3/api/core/index.html#spark.RDD似乎没有提供此功能的方法?

最佳答案

尝试使用带有身份映射功能(y => y)的flatMap:

scala> val x = sc.parallelize(List(List("a"), List("b"), List("c", "d")))
x: org.apache.spark.rdd.RDD[List[String]] = ParallelCollectionRDD[1] at parallelize at <console>:12

scala> x.collect()
res0: Array[List[String]] = Array(List(a), List(b), List(c, d))

scala> x.flatMap(y => y)
res3: org.apache.spark.rdd.RDD[String] = FlatMappedRDD[3] at flatMap at <console>:15

scala> x.flatMap(y => y).collect()
res4: Array[String] = Array(a, b, c, d)

关于scala - 如何使用Spark/Scala展平集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23138352/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com