Scala Spark:将输入拆分为多个阵列
对spark和scala来说是新手。我需要检查如何实现这一点: 输入: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) 谢谢 产出:
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