Scala Spark—计算列中所有值的总和
我对Spark(学习阶段)是新手 我有一个RDD,其中有一个列,它有以下值:Scala Spark—计算列中所有值的总和,scala,apache-spark,Scala,Apache Spark,我对Spark(学习阶段)是新手 我有一个RDD,其中有一个列,它有以下值: 5000 6000 7000 8000 9000 现在我想计算所有值的总和,而不使用Spark SQL 我已经尝试了很多方法来解决这个问题,但都无法真正解决 val rdd2=rdd1.map(agg(sum()) val rdd2=rdd1.map(c=>sum(col(c))) val rdd2=rdd1.collect().sum() 我可以向你保证这不是一个重复的问题,我搜索了所有相关的问题,但没有找到任何类
5000
6000
7000
8000
9000
现在我想计算所有值的总和,而不使用Spark SQL
我已经尝试了很多方法来解决这个问题,但都无法真正解决
val rdd2=rdd1.map(agg(sum())
val rdd2=rdd1.map(c=>sum(col(c)))
val rdd2=rdd1.collect().sum()
我可以向你保证这不是一个重复的问题,我搜索了所有相关的问题,但没有找到任何类似的问题。如果有人认为这是一个重复的问题,请你重新阅读这个问题
任何帮助都将不胜感激。这确实是
sum
:
scala> val rdd = sc.parallelize(Seq(5000, 6000, 7000, 8000, 9000))
rdd: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[0] at parallelize at <console>:24
scala> rdd.sum
res0: Double = 35000.0
scala>val-rdd=sc.parallelize(Seq(500060007000009000))
rdd:org.apache.spark.rdd.rdd[Int]=ParallelCollectionRDD[0]位于parallelize at:24
scala>rdd.sum
res0:Double=35000.0
你至少可以试着从这些“多种方式”中发布你尝试过的内容:@eliasah我尝试过的内容根本没有提供任何有用的输出,所以不要发布。@Sankar它不起作用也没关系。不管怎样,还是发吧。我补充了我尝试过的,我知道我尝试过的不是很聪明,这就是为什么我不想发布的原因。真的是重复的吗?我不这么认为,这里我已经有了RDD,我想对RDD内容求和,问题是我已经有了RDD中的值