繁体   English   中英

在scala中将RDD保存在for循环中

[英]Saving RDD's in for loop in scala

我有一个for循环,其中每次迭代都会得到一个RDD,我想将其保存以备后用。 保存和访问这些RDD的最有效方法是什么?

我在这里先向您的帮助表示感谢!

不含RDD和spark细节的示例代码:

scala> val res = (for (i <- (1 to 10);
     |  j=2*i;
     |  k= s"i: $i j: $j") yield k)
res: scala.collection.immutable.IndexedSeq[String] = Vector(i: 1 j: 2, i: 2 j: 4, i: 3 j: 6, i: 4 j: 8, i: 5 j: 10, i: 6 j: 12, i: 7 j: 14, i: 8 j: 16, i: 9 j: 18, i: 10 j: 20)

scala> res(0)
res201: String = i: 1 j: 2

scala> res(1)
res202: String = i: 2 j: 4

因此,只需生成您的RDD,并以Seq的形式收集它们,以备后用。

您也可以产生多个值

yield (i, j, k)

然后解构元组N,对其进行过滤,分组等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM