Apache spark 在RDD中查找值之和

Apache spark 在RDD中查找值之和,apache-spark,Apache Spark,我有一个示例文件,其中的数字用空格分隔。我需要找到这些数字的总和 下面是它看起来像的文件: 10 20 30 40 50 60 70 1 2 3 4 5 6 7 8 9 10 10 20 30 40 50 60 70 我尝试使用包含数字的textfile加载文件,然后我应用flatmap将数字按空格分割,然后我无法找到求和函数来进行元素求和 代码如下: val rdd=sc.textFile(“/tmp/numbers.txt”) val numRdd=rdd.flatMap(lines=&

我有一个示例文件,其中的数字用空格分隔。我需要找到这些数字的总和

下面是它看起来像的文件:

10 20 30 40 50 60 70
1 2 3 4 5 6 7 8 9 10
10 20 30 40 50 60 70
我尝试使用包含数字的textfile加载文件,然后我应用flatmap将数字按空格分割,然后我无法找到求和函数来进行元素求和

代码如下:

val rdd=sc.textFile(“/tmp/numbers.txt”)

val numRdd=rdd.flatMap(lines=>lines.split(“ “))

您可以尝试将flatmap映射到map函数,将其转换为Int,然后在RDD上使用sum()

val data = Seq("10 20 30 40 50 60 70 1 2 3 4 5 6 7 8 9 10 10 20 30 40 50 60 70")
val rdd:RDD[String] = sc.parallelize(data)
val dataSplit = rdd.flatMap(x => x.split(" ")).map(x => x.toInt)
val sumData = dataSplit.sum()
println("Total sum "+sumData)

为什么不把它读入一个数据框,然后在列上使用聚合函数甚至汇总统计数据呢