【问题标题】:Spark Scala - reducebykey => how to get element second of value array?Spark Scala - reducebykey => 如何获取值数组的第二个元素?
【发布时间】:2017-01-31 18:31:12
【问题描述】:

我正在尝试计算人在 spark 2.1 和 Scala 上多次旅行的总距离。

我有一个pairedRDD,键是人,列表,旅行列表:(性别,公里数):

我想通过键将公里数相加,我需要访问第二个值(公里的 nb),但我不知道如何。 我试过了 :

甚至更简单:

我是 scala 新手,来自 python 我不明白:-/

编辑 1

尝试建议的解决方案:

编辑 2

编辑 3

和joinedrdd的样本(我觉得我有点混合我的变量名:

编辑 4

我不明白:a 和 b 似乎对系统是透明的: 以下 3 条指令给出了相同的结果:

编辑 5

【问题讨论】:

  • 我编辑了问题以显示一些joined_rdd数据-joinedrdd是'trajets_par_cycliste'的别名
  • (sex, nb of km) 对嵌套在 rdd 的第 3 层。
  • ...那你将如何获取它?
  • 给出错误:alue reduceByKey is not a member of org.apache.spark.rdd.RDD[List[(String, String)]]

标签: scala apache-spark


【解决方案1】:

我终于找到了办法:

trajets_par_cycliste.map(x => (x._1 , x._2.map({case (k,v) => v.toDouble}).sum)).take(3)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-27
    • 1970-01-01
    • 1970-01-01
    • 2011-02-07
    • 2013-08-24
    • 2016-07-27
    相关资源
    最近更新 更多