首页 > 代码库 > spark习题
spark习题
1、如何创建一个分区为2的RDD:
创建一个RDD,分区为2,即对list进行并行化,并行度为2
scala> val rdd = sc.parallelize(List(1,2,3),2) rdd: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[0] at parallelize at <console>:24
或者启动10个map Task进行处理,对10个分区都进行map处理
val slices = 10 val n = 100000 * slices val count = sc.parallelize(1 to n, slices).map { i => val x = random * 2 - 1 val y = random * 2 - 1 if (x*x + y*y < 1) 1 else 0 }.reduce(_ + _)
2、将一个有两个分区的RDD收集起来
scala> rdd.collect res3: Array[Int] = Array(1, 2, 3)
3、得到这个rdd的分区数
scala> rdd.partitions.size res4: Int = 2
4、想要看每个分区结果
用glom,glom是将一个RDD的每一个分区都变成Array
scala> rdd.glom.collect res5: Array[Array[Int]] = Array(Array(1), Array(2, 3))
spark习题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。