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

Scala Spark:将输入拆分为多个阵列,scala,apache-spark,Scala,Apache Spark,对spark和scala来说是新手。我需要检查如何实现这一点: 输入:valx=sc.parallelize(1到10,3) 收集后的o/p: Array[Int] = Array(1,2,3,4,5)) Array[Int] = Array(2,4,6,8,10) 我想这就是你要找的 val evens = x.filter(value => value % 2 == 0) val odds = x.filter(value => value % 2 != 0) 谢谢 产出:

对spark和scala来说是新手。我需要检查如何实现这一点:

输入:
valx=sc.parallelize(1到10,3)

收集后的o/p:

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

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

我想这就是你要找的

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

我认为这有助于你理解你的问题

 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

逻辑是什么?你试过什么?你能描述一下你想做什么手术吗。我不知道为什么数组中的数字可能会改变。看起来你可能想要
数组(1,2,3,4,5)。map(+1)
我支持@mtoto的问题。我们不能读心术。请告诉我们您正在为您的问题付出一些努力。在给定的Scala程序中编写缺少的代码,以以下格式显示输出。程序val x=sc.parallelize(1到10,3)数组[Int]=数组(1,2,3,4,5))数组[Int]=数组(2,4,6,8,10)y.collect