Spark:将输入拆分为多个阵列

时间:2017-05-29 08:57:07

标签: scala apache-spark

成为火花和斯卡拉的新人。我需要检查一下如何实现这个目标:

输入:val x = sc.parallelize(1 to 10, 3)

收集后

o / p:

Array[Int] = Array(1,2,3,4,5))

Array[Int] = Array(2,4,6,8,10)

2 个答案:

答案 0 :(得分:0)

我想这就是你要找的东西

val evens = x.filter(value => value % 2 == 0)
val odds = x.filter(value => value % 2 != 0)

由于

输出:

scala> evens.foreach(println)
4
6
2
8
10

scala> odds.foreach(println)
5
1
3
7
9

答案 1 :(得分:0)

我认为这有助于您根据自己的问题理解。

 val spark =
    SparkSession.builder().master("local").appName("test").getOrCreate()

  import spark.implicits._

  val data = spark.sparkContext.parallelize(1 to 10, 3)

  data.filter(_ < 6).collect().foreach(println)

输出

1
2
3
4
5

  data.filter(_%2 == 0).collect().foreach(println)

输出

2
4
6
8
10