【问题标题】:Spark Scala how to process multiple columns in single loop [duplicate]Spark Scala如何在单个循环中处理多个列[重复]
【发布时间】:2018-07-18 19:48:11
【问题描述】:

下面的行分别是 Mango、Apple、Orange 列的数据框

   [10,20,30]
   [100,2000,300]
   [1000,200,3000]

对于上述数据框:我需要得到一个类似的摘要

{Mango: 1110; Apple:2220; Orange:3330 }

我如何使用单次迭代来做到这一点?

【问题讨论】:

    标签: scala apache-spark


    【解决方案1】:

    如果你有一个简单的dataframe 如下

    +-----+-----+------+
    |Mango|Apple|Orange|
    +-----+-----+------+
    |10   |20   |30    |
    |100  |200  |300   |
    |1000 |2000 |3000  |
    +-----+-----+------+
    

    你可以做下面的事情

    df.select(sum("Mango").as("Mango"), sum("Apple").as("Apple"), sum("Orange").as("Orange")).toJSON.rdd.foreach(println)
    

    这会给你输出为

    {"Mango":1110,"Apple":2220,"Orange":3330}
    

    【讨论】:

      猜你喜欢
      • 2013-06-11
      • 2019-02-09
      • 1970-01-01
      • 2012-05-06
      • 1970-01-01
      • 2022-11-22
      • 1970-01-01
      • 2015-07-23
      • 2015-12-05
      相关资源
      最近更新 更多